Compare commits
67 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40cc1a875e | ||
|
|
1ac165d7d3 | ||
|
|
9619e6cf89 | ||
|
|
fc31cefd4c | ||
|
|
5fd9010b39 | ||
|
|
c2e3dd5ab1 | ||
|
|
8e531e6b3c | ||
|
|
527e6b57d5 | ||
|
|
245fa538e9 | ||
|
|
e14a851398 | ||
|
|
0c9bc47a3a | ||
|
|
19b4477a75 | ||
|
|
558d051c42 | ||
|
|
9c8528bae1 | ||
|
|
229ef19376 | ||
|
|
e5fb4d611a | ||
|
|
bc9dc9704c | ||
|
|
e88eb1a884 | ||
|
|
d8f3206e8b | ||
|
|
729d306157 | ||
|
|
c35df48754 | ||
|
|
0f97f37a79 | ||
|
|
b08219dacf | ||
|
|
dd10fb97c0 | ||
|
|
87354df2de | ||
|
|
1bd04498b9 | ||
|
|
52394bc99b | ||
|
|
add85e9747 | ||
|
|
e82986adff | ||
|
|
f201267e4e | ||
|
|
9db41f8830 | ||
|
|
ba64c59632 | ||
|
|
d2626d8337 | ||
|
|
ded1090190 | ||
|
|
1114baaaa0 | ||
|
|
cf13c1c671 | ||
|
|
e70de6a59e | ||
|
|
5110eaf10f | ||
|
|
0234682720 | ||
|
|
80a7322fa1 | ||
|
|
59bdc0ce0d | ||
|
|
a288d0925b | ||
|
|
e7d2f0d82b | ||
|
|
825d8269ff | ||
|
|
f7775d173a | ||
|
|
58bced5f09 | ||
|
|
6e08507dde | ||
|
|
617a03fc15 | ||
|
|
f86bda304d | ||
|
|
1d414e659b | ||
|
|
87f7390eca | ||
|
|
ed01752546 | ||
|
|
46002a2171 | ||
|
|
14716d36a6 | ||
|
|
b4bc8a31aa | ||
|
|
b01fc316c3 | ||
|
|
4479249ac7 | ||
|
|
0529837ac8 | ||
|
|
d51ffa17ed | ||
|
|
c434a44bc4 | ||
|
|
7b5ac23a4b | ||
|
|
87ef769086 | ||
|
|
bcefb8e43c | ||
|
|
a1641c5bcc | ||
|
|
e6839480d9 | ||
|
|
4e64d9efad | ||
|
|
d68f4514cc |
@@ -2,8 +2,6 @@
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
If you find a vulnerability in the latest version, please email me directly at hank@henrygd.me, or [submit a private advisory](https://github.com/henrygd/beszel/security/advisories/new).
|
||||
If you find a vulnerability in the latest version, please [submit a private advisory](https://github.com/henrygd/beszel/security/advisories/new).
|
||||
|
||||
If you submit an advisory, open an empty issue as well to let me know that you did (or email me), as I'm not sure if I get notifications for that.
|
||||
|
||||
If the issue is low severity (use best judgement) you may open an issue for it instead of contacting me directly.
|
||||
If it's low severity (use best judgement) you may open an issue instead of an advisory.
|
||||
|
||||
@@ -4,9 +4,16 @@ ARCH ?= $(shell go env GOARCH)
|
||||
# Skip building the web UI if true
|
||||
SKIP_WEB ?= false
|
||||
|
||||
.PHONY: tidy build-agent build-hub build clean lint
|
||||
.PHONY: tidy build-agent build-hub build clean lint dev-server dev-agent dev-hub dev generate-locales
|
||||
.DEFAULT_GOAL := build
|
||||
|
||||
clean:
|
||||
go clean
|
||||
rm -rf ./build
|
||||
|
||||
lint:
|
||||
golangci-lint run
|
||||
|
||||
tidy:
|
||||
go mod tidy
|
||||
|
||||
@@ -20,16 +27,41 @@ build-web-ui:
|
||||
fi
|
||||
|
||||
build-agent: tidy
|
||||
CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o ./build/beszel-agent_$(OS)_$(ARCH) -ldflags "-w -s" beszel/cmd/agent
|
||||
GOOS=$(OS) GOARCH=$(ARCH) go build -o ./build/beszel-agent_$(OS)_$(ARCH) -ldflags "-w -s" beszel/cmd/agent
|
||||
|
||||
build-hub: tidy $(if $(filter false,$(SKIP_WEB)),build-web-ui)
|
||||
CGO_ENABLED=0 GOOS=$(OS) GOARCH=$(ARCH) go build -o ./build/beszel_$(OS)_$(ARCH) -ldflags "-w -s" beszel/cmd/hub
|
||||
GOOS=$(OS) GOARCH=$(ARCH) go build -o ./build/beszel_$(OS)_$(ARCH) -ldflags "-w -s" beszel/cmd/hub
|
||||
|
||||
build: build-agent build-hub
|
||||
|
||||
clean:
|
||||
go clean
|
||||
rm -rf ./build
|
||||
generate-locales:
|
||||
@if [ ! -f ./site/src/locales/en/en.ts ]; then \
|
||||
echo "Generating locales..."; \
|
||||
command -v bun >/dev/null 2>&1 && cd ./site && bun install && bun run sync || cd ./site && npm install && npm run sync; \
|
||||
fi
|
||||
|
||||
lint:
|
||||
golangci-lint run
|
||||
dev-server: generate-locales
|
||||
cd ./site
|
||||
@if command -v bun >/dev/null 2>&1; then \
|
||||
cd ./site && bun run dev; \
|
||||
else \
|
||||
cd ./site && npm run dev; \
|
||||
fi
|
||||
|
||||
dev-hub:
|
||||
mkdir -p ./site/dist && touch ./site/dist/index.html
|
||||
@if command -v entr >/dev/null 2>&1; then \
|
||||
find ./cmd/hub/*.go ./internal/{alerts,hub,records,users}/*.go | entr -r -s "cd ./cmd/hub && go run . serve"; \
|
||||
else \
|
||||
cd ./cmd/hub && go run . serve; \
|
||||
fi
|
||||
|
||||
dev-agent:
|
||||
@if command -v entr >/dev/null 2>&1; then \
|
||||
find ./cmd/agent/*.go ./internal/agent/*.go | entr -r go run beszel/cmd/agent; \
|
||||
else \
|
||||
go run beszel/cmd/agent; \
|
||||
fi
|
||||
|
||||
# KEY="..." make -j dev
|
||||
dev: dev-server dev-hub dev-agent
|
||||
|
||||
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"beszel"
|
||||
"beszel/internal/hub"
|
||||
|
||||
_ "beszel/migrations"
|
||||
|
||||
"github.com/pocketbase/pocketbase"
|
||||
|
||||
103
beszel/go.mod
@@ -1,20 +1,22 @@
|
||||
module beszel
|
||||
|
||||
go 1.22.4
|
||||
go 1.23
|
||||
|
||||
toolchain go1.23.2
|
||||
|
||||
require (
|
||||
github.com/blang/semver v3.5.1+incompatible
|
||||
github.com/containrrr/shoutrrr v0.8.0
|
||||
github.com/gliderlabs/ssh v0.3.7
|
||||
github.com/goccy/go-json v0.10.3
|
||||
github.com/labstack/echo/v5 v5.0.0-20230722203903-ec5b858dab61
|
||||
github.com/pocketbase/dbx v1.10.1
|
||||
github.com/pocketbase/pocketbase v0.22.23
|
||||
github.com/gliderlabs/ssh v0.3.8
|
||||
github.com/goccy/go-json v0.10.4
|
||||
github.com/pocketbase/dbx v1.11.0
|
||||
github.com/pocketbase/pocketbase v0.24.1
|
||||
github.com/rhysd/go-github-selfupdate v1.2.3
|
||||
github.com/shirou/gopsutil/v4 v4.24.10
|
||||
github.com/spf13/cast v1.7.0
|
||||
github.com/shirou/gopsutil/v4 v4.24.12
|
||||
github.com/spf13/cast v1.7.1
|
||||
github.com/spf13/cobra v1.8.1
|
||||
golang.org/x/crypto v0.28.0
|
||||
golang.org/x/crypto v0.31.0
|
||||
golang.org/x/exp v0.0.0-20250103183323-7d7fa50e5329
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
@@ -22,41 +24,41 @@ require (
|
||||
github.com/AlecAivazis/survey/v2 v2.3.7 // indirect
|
||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be // indirect
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.42 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.35 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 // indirect
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.48 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.45 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 // indirect
|
||||
github.com/aws/smithy-go v1.22.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 // indirect
|
||||
github.com/aws/smithy-go v1.22.1 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/disintegration/imaging v1.6.2 // indirect
|
||||
github.com/domodwyer/mailyak/v3 v3.6.2 // indirect
|
||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||
github.com/ebitengine/purego v0.8.1 // indirect
|
||||
github.com/fatih/color v1.18.0 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.6 // indirect
|
||||
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
|
||||
github.com/ganigeorgiev/fexpr v0.4.1 // indirect
|
||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||
github.com/go-ozzo/ozzo-validation/v4 v4.3.0 // indirect
|
||||
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang-jwt/jwt/v4 v4.5.1 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
||||
github.com/google/go-github/v30 v30.1.0 // indirect
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
|
||||
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
||||
github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf // indirect
|
||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||
@@ -64,7 +66,6 @@ require (
|
||||
github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||
github.com/mattn/go-sqlite3 v1.14.24 // indirect
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
|
||||
github.com/ncruces/go-strftime v0.1.9 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
@@ -75,30 +76,26 @@ require (
|
||||
github.com/tklauser/go-sysconf v0.3.14 // indirect
|
||||
github.com/tklauser/numcpus v0.9.0 // indirect
|
||||
github.com/ulikunitz/xz v0.5.12 // indirect
|
||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||
github.com/valyala/fasttemplate v1.2.2 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||
go.opencensus.io v0.24.0 // indirect
|
||||
gocloud.dev v0.40.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c // indirect
|
||||
golang.org/x/image v0.21.0 // indirect
|
||||
golang.org/x/net v0.30.0 // indirect
|
||||
golang.org/x/oauth2 v0.23.0 // indirect
|
||||
golang.org/x/sync v0.8.0 // indirect
|
||||
golang.org/x/sys v0.26.0 // indirect
|
||||
golang.org/x/term v0.25.0 // indirect
|
||||
golang.org/x/text v0.19.0 // indirect
|
||||
golang.org/x/time v0.7.0 // indirect
|
||||
golang.org/x/image v0.23.0 // indirect
|
||||
golang.org/x/net v0.33.0 // indirect
|
||||
golang.org/x/oauth2 v0.25.0 // indirect
|
||||
golang.org/x/sync v0.10.0 // indirect
|
||||
golang.org/x/sys v0.29.0 // indirect
|
||||
golang.org/x/term v0.28.0 // indirect
|
||||
golang.org/x/text v0.21.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
|
||||
google.golang.org/api v0.204.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 // indirect
|
||||
google.golang.org/grpc v1.67.1 // indirect
|
||||
google.golang.org/protobuf v1.35.1 // indirect
|
||||
modernc.org/gc/v3 v3.0.0-20241004144649-1aea3fae8852 // indirect
|
||||
modernc.org/libc v1.61.0 // indirect
|
||||
modernc.org/mathutil v1.6.0 // indirect
|
||||
modernc.org/memory v1.8.0 // indirect
|
||||
modernc.org/sqlite v1.33.1 // indirect
|
||||
modernc.org/strutil v1.2.0 // indirect
|
||||
google.golang.org/api v0.214.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d // indirect
|
||||
google.golang.org/grpc v1.69.2 // indirect
|
||||
google.golang.org/protobuf v1.36.1 // indirect
|
||||
modernc.org/gc/v3 v3.0.0-20250105121824-520be1a3aee6 // indirect
|
||||
modernc.org/libc v1.55.3 // indirect
|
||||
modernc.org/mathutil v1.7.1 // indirect
|
||||
modernc.org/memory v1.8.1 // indirect
|
||||
modernc.org/sqlite v1.34.4 // indirect
|
||||
modernc.org/strutil v1.2.1 // indirect
|
||||
modernc.org/token v1.1.0 // indirect
|
||||
)
|
||||
|
||||
264
beszel/go.sum
@@ -1,13 +1,13 @@
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
|
||||
cloud.google.com/go v0.116.0/go.mod h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
|
||||
cloud.google.com/go/auth v0.10.0 h1:tWlkvFAh+wwTOzXIjrwM64karR1iTBZ/GRr0S/DULYo=
|
||||
cloud.google.com/go/auth v0.10.0/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.5 h1:2p29+dePqsCHPP1bqDJcKj4qxRyYCcbzKpFyKGt3MTk=
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.5/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8=
|
||||
cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14=
|
||||
cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU=
|
||||
cloud.google.com/go/auth v0.13.0 h1:8Fu8TZy167JkW8Tj3q7dIkr2v4cndv41ouecJx0PAHs=
|
||||
cloud.google.com/go/auth v0.13.0/go.mod h1:COOjD9gwfKNKz+IIduatIhYJQIc0mG3H102r/EMxX6Q=
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.6 h1:V6a6XDu2lTwPZWOawrAa9HUK+DB2zfJyTuciBG5hFkU=
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.6/go.mod h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8=
|
||||
cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0=
|
||||
cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo=
|
||||
cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
|
||||
cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I=
|
||||
cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg=
|
||||
cloud.google.com/go/iam v1.1.13 h1:7zWBXG9ERbMLrzQBRhFliAV+kjcRToDTgQT3CTwYyv4=
|
||||
cloud.google.com/go/iam v1.1.13/go.mod h1:K8mY0uSXwEXS30KrnVb+j54LB/ntfZu1dr+4zFMNbus=
|
||||
cloud.google.com/go/storage v1.43.0 h1:CcxnSohZwizt4LCzQHWvBf1/kvtHUn7gk9QERXPyXFs=
|
||||
@@ -26,44 +26,44 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d
|
||||
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
|
||||
github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU=
|
||||
github.com/aws/aws-sdk-go v1.55.5/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.3 h1:T0dRlFBKcdaUPGNtkBSwHZxrtis8CQU17UpNBZYd0wk=
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.3/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6 h1:pT3hpW0cOHRJx8Y0DfJUEQuqPild8jRGmSFmBgvydr0=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.6/go.mod h1:j/I2++U0xX+cr44QjHay4Cvxj6FUbnxrgmqN3H1jTZA=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.1 h1:oxIvOUXy8x0U3fR//0eq+RdCKimWI900+SV+10xsCBw=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.1/go.mod h1:bRQcttQJiARbd5JZxw6wG0yIK3eLeSCPdg6uqmmlIiI=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.42 h1:sBP0RPjBU4neGpIYyx8mkU2QqLPl5u9cmdTWVzIpHkM=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.42/go.mod h1:FwZBfU530dJ26rv9saAbxa9Ej3eF/AK0OAY86k13n4M=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18 h1:68jFVtt3NulEzojFesM/WVarlFpCaXLKaBxDpzkQ9OQ=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.18/go.mod h1:Fjnn5jQVIo6VyedMc0/EhPpfNlPl7dHV916O6B+49aE=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.35 h1:ihPPdcCVSN0IvBByXwqVp28/l4VosBZ6sDulcvU2J7w=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.35/go.mod h1:JkgEhs3SVF51Dj3m1Bj+yL8IznpxzkwlA3jLg3x7Kls=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22 h1:Jw50LwEkVjuVzE1NzkhNKkBf9cRN7MtE1F/b2cOKTUM=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.22/go.mod h1:Y/SmAyPcOTmpeVaWSzSKiILfXTVJwrGmYZhcRbhWuEY=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22 h1:981MHwBaRZM7+9QSR6XamDzF/o7ouUGxFzr+nVSIhrs=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.22/go.mod h1:1RA1+aBEfn+CAB/Mh0MB6LsdCYCnjZm7tKXtnk499ZQ=
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw=
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7 h1:lL7IfaFzngfx0ZwUGOZdsFFnQ5uLvR0hWqqhyE7Q9M8=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.7/go.mod h1:QraP0UcVlQJsmHfioCrveWOC1nbiWUl3ej08h4mXWoc=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.7/go.mod h1:vZGX6GVkIE8uECSUHB6MWAUsd4ZcG2Yq/dMa4refR3M=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.48 h1:IYdLD1qTJ0zanRavulofmqut4afs45mOWEI+MzZtTfQ=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.48/go.mod h1:tOscxHN3CGmuX9idQ3+qbkzrjVIx32lqDSU1/0d/qXs=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22 h1:kqOrpojG71DxJm/KDPO+Z/y1phm1JlC8/iT+5XRmAn8=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.22/go.mod h1:NtSFajXVVL8TA2QNngagVZmUtXciyrHOt7xgz4faS/M=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.45 h1:ZxB8WFVYwolhDZxuZXoesHkl+L9cXLWy0K/G0QkNATc=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.45/go.mod h1:1krrbyoFFDqaNldmltPTP+mK3sAXLHPoaFtISOw2Hkk=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26 h1:I/5wmGMffY4happ8NOCuIUEWGUvvFp5NSeQcXl9RHcI=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.26/go.mod h1:FR8f4turZtNy6baO0KJ5FJUmXH/cSkI9fOngs0yl6mA=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26 h1:zXFLuEuMMUOvEARXFUVJdfqZ4bvvSgdGRq/ATcrQxzM=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.26/go.mod h1:3o2Wpy0bogG1kyOPrgkXA8pgIfEEv0+m19O9D5+W8y8=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22 h1:yV+hCAHZZYJQcwAaszoBNwLbPItHvApxT0kVIw6jRgs=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.22/go.mod h1:kbR1TL8llqB1eGnVbybcA4/wgScxdylOdyAd51yxPdw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0 h1:TToQNkvGguu209puTojY/ozlqy2d/SFNcoLIqTFi42g=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.0/go.mod h1:0jp+ltwkf+SwG2fm/PKo8t4y8pJSgOCO4D8Lz3k0aHQ=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3 h1:kT6BcZsmMtNkP/iYMcRG+mIEA/IbeiUimXtGmqF39y0=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.3/go.mod h1:Z8uGua2k4PPaGOYn66pK02rhMrot3Xk3tpBuUFPomZU=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3 h1:qcxX0JYlgWH3hpPUnd6U0ikcl6LLA9sLkXE2w1fpMvY=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.3/go.mod h1:cLSNEmI45soc+Ef8K/L+8sEA3A3pYFEYf5B5UI+6bH4=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3 h1:ZC7Y/XgKUxwqcdhO5LE8P6oGP1eh6xlQReWNKfhvJno=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.3/go.mod h1:WqfO7M9l9yUAw0HcHaikwRd/H6gzYdz7vjejCA5e2oY=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2 h1:p9TNFL8bFUMd+38YIpTAXpoxyz0MxC7FlbFEH4P4E1U=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.2/go.mod h1:fNjyo0Coen9QTwQLWeV6WO2Nytwiu+cCcWaTdKCAqqE=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.3 h1:UTpsIf0loCIWEbrqdLb+0RxnTXfWh2vhw4nQmFi4nPc=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.3/go.mod h1:FZ9j3PFHHAR+w0BSEjK955w5YD2UwB/l/H0yAK3MJvI=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3 h1:2YCmIXv3tmiItw0LlYf6v7gEHebLY45kBEnPezbUKyU=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.3/go.mod h1:u19stRyNPxGhj6dRm+Cdgu6N75qnbW7+QN0q0dsAk58=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.32.3 h1:wVnQ6tigGsRqSWDEEyH6lSAJ9OyFUsSnbaUWChuSGzs=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.32.3/go.mod h1:VZa9yTFyj4o10YGsmDO4gbQJUvvhY72fhumT8W4LqsE=
|
||||
github.com/aws/smithy-go v1.22.0 h1:uunKnWlcoL3zO7q+gG2Pk53joueEOsnNB28QdMsmiMM=
|
||||
github.com/aws/smithy-go v1.22.0/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26 h1:GeNJsIFHB+WW5ap2Tec4K6dzcVTsRbsT1Lra46Hv9ME=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.26/go.mod h1:zfgMpwHDXX2WGoG84xG2H+ZlPTkJUU4YUvx2svLQYWo=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.7 h1:tB4tNw83KcajNAzaIMhkhVI2Nt8fAZd5A5ro113FEMY=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.7/go.mod h1:lvpyBGkZ3tZ9iSsUIcC2EWp+0ywa7aK3BLT+FwZi+mQ=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7 h1:8eUsivBQzZHqe/3FE+cqwfH+0p5Jo8PFM/QYQSmeZ+M=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.7/go.mod h1:kLPQvGUmxn/fqiCrDeohwG33bq2pQpGeY62yRO6Nrh0=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7 h1:Hi0KGbrnr57bEHWM0bJ1QcBzxLrL/k2DHvGYhb8+W1w=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.7/go.mod h1:wKNgWgExdjjrm4qvfbTorkvocEstaoDl4WCvGfeCy9c=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0 h1:SAfh4pNx5LuTafKKWR02Y+hL3A+3TX8cTKG1OIAJaBk=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.72.0/go.mod h1:r+xl5yzMk9083rMR+sJ5TYj9Tihvf/l1oxzZXDgGj2Q=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.8 h1:CvuUmnXI7ebaUAhbJcDy9YQx8wHR69eZ9I7q5hszt/g=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.8/go.mod h1:XDeGv1opzwm8ubxddF0cgqkZWsyOtw4lr6dxwmb6YQg=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7 h1:F2rBfNAL5UyswqoeWv9zs74N/NanhK16ydHW1pahX6E=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.7/go.mod h1:JfyQ0g2JG8+Krq0EuZNnRwX0mU0HrwY/tG6JNfcqh4k=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.33.3 h1:Xgv/hyNgvLda/M9l9qxXc4UFSgppnRczLxlMs5Ae/QY=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.33.3/go.mod h1:5Gn+d+VaaRgsjewpMvGazt0WfcFO+Md4wLOuBfGR9Bc=
|
||||
github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro=
|
||||
github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
|
||||
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
@@ -97,12 +97,12 @@ github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/gabriel-vasile/mimetype v1.4.6 h1:3+PzJTKLkvgjeTbts6msPJt4DixhT4YtFNf1gtGe3zc=
|
||||
github.com/gabriel-vasile/mimetype v1.4.6/go.mod h1:JX1qVKqZd40hUPpAfiNTe0Sne7hdfKSbOqqmkq8GCXc=
|
||||
github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM=
|
||||
github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8=
|
||||
github.com/ganigeorgiev/fexpr v0.4.1 h1:hpUgbUEEWIZhSDBtf4M9aUNfQQ0BZkGRaMePy7Gcx5k=
|
||||
github.com/ganigeorgiev/fexpr v0.4.1/go.mod h1:RyGiGqmeXhEQ6+mlGdnUleLHgtzzu/VGO2WtJkF5drE=
|
||||
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE=
|
||||
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8=
|
||||
github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
|
||||
github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
|
||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
@@ -117,14 +117,14 @@ github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpv
|
||||
github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
|
||||
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
|
||||
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
|
||||
github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA=
|
||||
github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
|
||||
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
|
||||
github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
||||
github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
|
||||
github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
|
||||
github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo=
|
||||
github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
|
||||
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
|
||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||
@@ -152,8 +152,8 @@ github.com/google/go-github/v30 v30.1.0/go.mod h1:n8jBpHl45a/rlBUtRJMOG4GhNADUQF
|
||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||
github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
|
||||
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
|
||||
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA=
|
||||
github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
|
||||
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
|
||||
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
|
||||
github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM=
|
||||
github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA=
|
||||
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
@@ -163,8 +163,8 @@ github.com/google/wire v0.6.0 h1:HBkoIh4BdSxoyo9PveV8giw7ZsaBOvzWKfcg/6MrVwI=
|
||||
github.com/google/wire v0.6.0/go.mod h1:F4QhpQ9EDIdJ1Mbop/NZBRB+5yrR6qg3BnctaoUk6NA=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.3.4 h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw=
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
|
||||
github.com/googleapis/gax-go/v2 v2.13.0 h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s=
|
||||
github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
|
||||
github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q=
|
||||
github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||
github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog=
|
||||
@@ -187,8 +187,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/labstack/echo/v5 v5.0.0-20230722203903-ec5b858dab61 h1:FwuzbVh87iLiUQj1+uQUsuw9x5t9m5n5g7rG7o4svW4=
|
||||
github.com/labstack/echo/v5 v5.0.0-20230722203903-ec5b858dab61/go.mod h1:paQfF1YtHe+GrGg5fOgjsjoCX/UKDr9bc1DoWpZfns8=
|
||||
github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683 h1:7UMa6KCCMjZEMDtTVdcGu0B1GmmC7QJKiCCjyTAWQy0=
|
||||
github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683/go.mod h1:ilwx/Dta8jXAgpFYFvSWEMwxmbWXyiUHkd5FwyKhb5k=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
@@ -198,8 +196,6 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM=
|
||||
github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
|
||||
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
@@ -215,10 +211,10 @@ github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+q
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pocketbase/dbx v1.10.1 h1:cw+vsyfCJD8YObOVeqb93YErnlxwYMkNZ4rwN0G0AaA=
|
||||
github.com/pocketbase/dbx v1.10.1/go.mod h1:xXRCIAKTHMgUCyCKZm55pUOdvFziJjQfXaWKhu2vhMs=
|
||||
github.com/pocketbase/pocketbase v0.22.23 h1:cnjSiBcMf7VIhXmoBmZCAV8qKYkOubHCOQQPZMKFBAk=
|
||||
github.com/pocketbase/pocketbase v0.22.23/go.mod h1:h2ojT2pqBWH9LLl1aiawkwXiICKtzZA/kjM/8VhydR4=
|
||||
github.com/pocketbase/dbx v1.11.0 h1:LpZezioMfT3K4tLrqA55wWFw1EtH1pM4tzSVa7kgszU=
|
||||
github.com/pocketbase/dbx v1.11.0/go.mod h1:xXRCIAKTHMgUCyCKZm55pUOdvFziJjQfXaWKhu2vhMs=
|
||||
github.com/pocketbase/pocketbase v0.24.1 h1:Hhx3L4eap7g3kyBQ8OuWneZo7mYu1lrMvqQpxjK+zcs=
|
||||
github.com/pocketbase/pocketbase v0.24.1/go.mod h1:VVaUmgKgjCBW3s/ob2SSHuDNtTboTbwK/VyTUguTt3o=
|
||||
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/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
|
||||
@@ -229,10 +225,10 @@ github.com/rhysd/go-github-selfupdate v1.2.3/go.mod h1:mp/N8zj6jFfBQy/XMYoWsmfzx
|
||||
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/shirou/gopsutil/v4 v4.24.10 h1:7VOzPtfw/5YDU+jLEoBwXwxJbQetULywoSV4RYY7HkM=
|
||||
github.com/shirou/gopsutil/v4 v4.24.10/go.mod h1:s4D/wg+ag4rG0WO7AiTj2BeYCRhym0vM7DHbZRxnIT8=
|
||||
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
|
||||
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
||||
github.com/shirou/gopsutil/v4 v4.24.12 h1:qvePBOk20e0IKA1QXrIIU+jmk+zEiYVVx06WjBRlZo4=
|
||||
github.com/shirou/gopsutil/v4 v4.24.12/go.mod h1:DCtMPAad2XceTeIAbGyVfycbYQNBGk2P8cvDi7/VN9o=
|
||||
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
|
||||
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
||||
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
|
||||
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
@@ -245,8 +241,8 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
|
||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPgXBPw=
|
||||
github.com/tcnksm/go-gitconfig v0.1.2/go.mod h1:/8EhP4H7oJZdIPyT+/UIsG87kTzrzM4UsLGSItWYCpE=
|
||||
github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU=
|
||||
@@ -256,10 +252,6 @@ github.com/tklauser/numcpus v0.9.0/go.mod h1:SN6Nq1O3VychhC1npsWostA+oW+VOQTxZrS
|
||||
github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
|
||||
github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
|
||||
github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
|
||||
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||
@@ -269,32 +261,36 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.5
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI=
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
|
||||
go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw=
|
||||
go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8=
|
||||
go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc=
|
||||
go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
|
||||
go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
|
||||
go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
|
||||
go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY=
|
||||
go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE=
|
||||
go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE=
|
||||
go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY=
|
||||
go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk=
|
||||
go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8=
|
||||
go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys=
|
||||
go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A=
|
||||
gocloud.dev v0.40.0 h1:f8LgP+4WDqOG/RXoUcyLpeIAGOcAbZrZbDQCUee10ng=
|
||||
gocloud.dev v0.40.0/go.mod h1:drz+VyYNBvrMTW0KZiBAYEdl8lbNZx+OQ7oQvdrFmSQ=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
|
||||
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
|
||||
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
|
||||
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY=
|
||||
golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8=
|
||||
golang.org/x/exp v0.0.0-20250103183323-7d7fa50e5329 h1:9kj3STMvgqy3YA4VQXBrN7925ICMxD5wzMRcgA30588=
|
||||
golang.org/x/exp v0.0.0-20250103183323-7d7fa50e5329/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
|
||||
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.21.0 h1:c5qV36ajHpdj4Qi0GnE0jUc/yuo33OLFaa0d+crTD5s=
|
||||
golang.org/x/image v0.21.0/go.mod h1:vUbsLavqK/W303ZroQQVKQ+Af3Yl6Uz1Ppu5J/cLz78=
|
||||
golang.org/x/image v0.23.0 h1:HseQ7c2OpPKTPVzNjG5fwJsOTCiiwS4QdsYi5XU6H68=
|
||||
golang.org/x/image v0.23.0/go.mod h1:wJJBTdLfCCf3tiHa1fNxpZmUI4mmoZvwMCPP0ddoNKY=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
|
||||
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
|
||||
golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
|
||||
golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
@@ -306,18 +302,18 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
|
||||
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
|
||||
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
|
||||
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
|
||||
golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
|
||||
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
|
||||
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
|
||||
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
|
||||
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
||||
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -334,23 +330,23 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
|
||||
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
|
||||
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
|
||||
golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
|
||||
golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
|
||||
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
|
||||
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
|
||||
golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
|
||||
golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
|
||||
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
|
||||
golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
|
||||
golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
@@ -358,14 +354,14 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
|
||||
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
|
||||
golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
|
||||
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da h1:noIWHXmPHxILtqtCOPIhSt0ABwskkZKjD3bXGnZGpNY=
|
||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90=
|
||||
google.golang.org/api v0.204.0 h1:3PjmQQEDkR/ENVZZwIYB4W/KzYtN8OrqnNcHWpeR8E4=
|
||||
google.golang.org/api v0.204.0/go.mod h1:69y8QSoKIbL9F94bWgWAq6wGqGwyjBgi2y8rAK8zLag=
|
||||
google.golang.org/api v0.214.0 h1:h2Gkq07OYi6kusGOaT/9rnNljuXmqPnaig7WGPmKbwA=
|
||||
google.golang.org/api v0.214.0/go.mod h1:bYPpLG8AyeMWwDU6NXoB00xC0DFkikVvd5MfwoxjLqE=
|
||||
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
|
||||
google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
@@ -373,19 +369,19 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
|
||||
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
|
||||
google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 h1:Q3nlH8iSQSRUwOskjbcSMcF2jiYMNiQYZ0c2KEJLKKU=
|
||||
google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38/go.mod h1:xBI+tzfqGGN2JBeSebfKXFSdBpWVQ7sLW40PTupVRm4=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 h1:wKguEg1hsxI2/L3hUYrpo1RVi48K+uTyzKqprwLXsb8=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142/go.mod h1:d6be+8HhtEtucleCbxpPW9PA9XwISACu8nvpPqF0BVo=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
|
||||
google.golang.org/genproto v0.0.0-20240812133136-8ffd90a71988 h1:CT2Thj5AuPV9phrYMtzX11k+XkzMGfRAet42PmoTATM=
|
||||
google.golang.org/genproto v0.0.0-20240812133136-8ffd90a71988/go.mod h1:7uvplUBj4RjHAxIZ//98LzOvrQ04JBkaixRmCMI29hc=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d h1:xJJRGY7TJcvIlpSrN3K6LAWgNFUILlO+OMAqtg9aqnw=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250102185135-69823020774d/go.mod h1:3ENsm/5D1mzDyhpzeRi1NR784I0BcofWBoSc5QqqMK4=
|
||||
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
|
||||
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
|
||||
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
|
||||
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
|
||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
|
||||
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
|
||||
google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU=
|
||||
google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
|
||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||
@@ -395,8 +391,8 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
|
||||
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
|
||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
|
||||
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk=
|
||||
google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
@@ -411,27 +407,27 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
modernc.org/cc/v4 v4.21.4 h1:3Be/Rdo1fpr8GrQ7IVw9OHtplU4gWbb+wNgeoBMmGLQ=
|
||||
modernc.org/cc/v4 v4.21.4/go.mod h1:HM7VJTZbUCR3rV8EYBi9wxnJ0ZBRiGE5OeGXNA0IsLQ=
|
||||
modernc.org/ccgo/v4 v4.21.0 h1:kKPI3dF7RIag8YcToh5ZwDcVMIv6VGa0ED5cvh0LMW4=
|
||||
modernc.org/ccgo/v4 v4.21.0/go.mod h1:h6kt6H/A2+ew/3MW/p6KEoQmrq/i3pr0J/SiwiaF/g0=
|
||||
modernc.org/ccgo/v4 v4.19.2 h1:lwQZgvboKD0jBwdaeVCTouxhxAyN6iawF3STraAal8Y=
|
||||
modernc.org/ccgo/v4 v4.19.2/go.mod h1:ysS3mxiMV38XGRTTcgo0DQTeTmAO4oCmJl1nX9VFI3s=
|
||||
modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
|
||||
modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
|
||||
modernc.org/gc/v2 v2.5.0 h1:bJ9ChznK1L1mUtAQtxi0wi5AtAs5jQuw4PrPHO5pb6M=
|
||||
modernc.org/gc/v2 v2.5.0/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
|
||||
modernc.org/gc/v3 v3.0.0-20241004144649-1aea3fae8852 h1:IYXPPTTjjoSHvUClZIYexDiO7g+4x+XveKT4gCIAwiY=
|
||||
modernc.org/gc/v3 v3.0.0-20241004144649-1aea3fae8852/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
|
||||
modernc.org/libc v1.61.0 h1:eGFcvWpqlnoGwzZeZe3PWJkkKbM/3SUGyk1DVZQ0TpE=
|
||||
modernc.org/libc v1.61.0/go.mod h1:DvxVX89wtGTu+r72MLGhygpfi3aUGgZRdAYGCAVVud0=
|
||||
modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
|
||||
modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
|
||||
modernc.org/memory v1.8.0 h1:IqGTL6eFMaDZZhEWwcREgeMXYwmW83LYW8cROZYkg+E=
|
||||
modernc.org/memory v1.8.0/go.mod h1:XPZ936zp5OMKGWPqbD3JShgd/ZoQ7899TUuQqxY+peU=
|
||||
modernc.org/gc/v2 v2.4.1 h1:9cNzOqPyMJBvrUipmynX0ZohMhcxPtMccYgGOJdOiBw=
|
||||
modernc.org/gc/v2 v2.4.1/go.mod h1:wzN5dK1AzVGoH6XOzc3YZ+ey/jPgYHLuVckd62P0GYU=
|
||||
modernc.org/gc/v3 v3.0.0-20250105121824-520be1a3aee6 h1:JoKwHjIFumiKrjMbp1cNbC5E9UyCgA/ZcID0xOWQ2N8=
|
||||
modernc.org/gc/v3 v3.0.0-20250105121824-520be1a3aee6/go.mod h1:LG5UO1Ran4OO0JRKz2oNiXhR5nNrgz0PzH7UKhz0aMU=
|
||||
modernc.org/libc v1.55.3 h1:AzcW1mhlPNrRtjS5sS+eW2ISCgSOLLNyFzRh/V3Qj/U=
|
||||
modernc.org/libc v1.55.3/go.mod h1:qFXepLhz+JjFThQ4kzwzOjA/y/artDeg+pcYnY+Q83w=
|
||||
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.8.1 h1:HS1HRg1jEohnuONobEq2WrLEhLyw8+J42yLFTnllm2A=
|
||||
modernc.org/memory v1.8.1/go.mod h1:ZbjSvMO5NQ1A2i3bWeDiVMxIorXwdClKE/0SZ+BMotU=
|
||||
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
|
||||
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
|
||||
modernc.org/sortutil v1.2.0 h1:jQiD3PfS2REGJNzNCMMaLSp/wdMNieTbKX920Cqdgqc=
|
||||
modernc.org/sortutil v1.2.0/go.mod h1:TKU2s7kJMf1AE84OoiGppNHJwvB753OYfNl2WRb++Ss=
|
||||
modernc.org/sqlite v1.33.1 h1:trb6Z3YYoeM9eDL1O8do81kP+0ejv+YzgyFo+Gwy0nM=
|
||||
modernc.org/sqlite v1.33.1/go.mod h1:pXV2xHxhzXZsgT/RtTFAPY6JJDEvOTcTdwADQCCWD4k=
|
||||
modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
|
||||
modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
|
||||
modernc.org/sqlite v1.34.4 h1:sjdARozcL5KJBvYQvLlZEmctRgW9xqIZc2ncN7PU0P8=
|
||||
modernc.org/sqlite v1.34.4/go.mod h1:3QQFCG2SEMtc2nv+Wq4cQCH7Hjcg+p/RMlS1XK+zwbk=
|
||||
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=
|
||||
modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
|
||||
|
||||
@@ -14,6 +14,7 @@ import (
|
||||
"golang.org/x/exp/slog"
|
||||
)
|
||||
|
||||
// GPUManager manages data collection for GPUs (either Nvidia or AMD)
|
||||
type GPUManager struct {
|
||||
nvidiaSmi bool
|
||||
rocmSmi bool
|
||||
@@ -21,8 +22,9 @@ type GPUManager struct {
|
||||
mutex sync.Mutex
|
||||
}
|
||||
|
||||
// RocmSmiJson represents the JSON structure of rocm-smi output
|
||||
type RocmSmiJson struct {
|
||||
ID string `json:"Device ID"`
|
||||
ID string `json:"GUID"`
|
||||
Name string `json:"Card series"`
|
||||
Temperature string `json:"Temperature (Sensor edge) (C)"`
|
||||
MemoryUsed string `json:"VRAM Total Used Memory (B)"`
|
||||
@@ -31,48 +33,68 @@ type RocmSmiJson struct {
|
||||
Power string `json:"Current Socket Graphics Package Power (W)"`
|
||||
}
|
||||
|
||||
// startNvidiaCollector oversees collectNvidiaStats and restarts nvidia-smi if it fails
|
||||
func (gm *GPUManager) startNvidiaCollector() error {
|
||||
// gpuCollector defines a collector for a specific GPU management utility (nvidia-smi or rocm-smi)
|
||||
type gpuCollector struct {
|
||||
name string
|
||||
cmd *exec.Cmd
|
||||
parse func([]byte) bool // returns true if valid data was found
|
||||
}
|
||||
|
||||
var errNoValidData = fmt.Errorf("no valid GPU data found") // Error for missing data
|
||||
|
||||
// starts and manages the ongoing collection of GPU data for the specified GPU management utility
|
||||
func (c *gpuCollector) start() {
|
||||
for {
|
||||
if err := gm.collectNvidiaStats(); err != nil {
|
||||
slog.Warn("Restarting nvidia-smi", "err", err)
|
||||
time.Sleep(time.Second) // Wait before retrying
|
||||
err := c.collect()
|
||||
if err != nil {
|
||||
if err == errNoValidData {
|
||||
slog.Warn(c.name + " found no valid GPU data, stopping")
|
||||
break
|
||||
}
|
||||
slog.Warn(c.name+" failed, restarting", "err", err)
|
||||
time.Sleep(time.Second * 5)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// collectNvidiaStats runs nvidia-smi in a loop and passes the output to parseNvidiaData
|
||||
func (gm *GPUManager) collectNvidiaStats() error {
|
||||
// Set up the command
|
||||
cmd := exec.Command("nvidia-smi", "-l", "4", "--query-gpu=index,name,temperature.gpu,memory.used,memory.total,utilization.gpu,power.draw", "--format=csv,noheader,nounits")
|
||||
// Set up a pipe to capture stdout
|
||||
stdout, err := cmd.StdoutPipe()
|
||||
// collect executes the command, parses output with the assigned parser function
|
||||
func (c *gpuCollector) collect() error {
|
||||
stdout, err := c.cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// Start the command
|
||||
if err := cmd.Start(); err != nil {
|
||||
if err := c.cmd.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
// Use a scanner to read each line of output
|
||||
|
||||
scanner := bufio.NewScanner(stdout)
|
||||
buf := make([]byte, 0, 8*1024) // 8KB buffer
|
||||
buf := make([]byte, 0, 8*1024)
|
||||
scanner.Buffer(buf, bufio.MaxScanTokenSize)
|
||||
|
||||
hasValidData := false
|
||||
for scanner.Scan() {
|
||||
line := scanner.Bytes()
|
||||
gm.parseNvidiaData(line) // Run your function on each new line
|
||||
if c.parse(scanner.Bytes()) {
|
||||
hasValidData = true
|
||||
}
|
||||
}
|
||||
// Check for any errors encountered during scanning
|
||||
|
||||
if !hasValidData {
|
||||
return errNoValidData
|
||||
}
|
||||
|
||||
if err := scanner.Err(); err != nil {
|
||||
return err
|
||||
return fmt.Errorf("scanner error: %w", err)
|
||||
}
|
||||
// Wait for the command to complete
|
||||
return cmd.Wait()
|
||||
return c.cmd.Wait()
|
||||
}
|
||||
|
||||
// parseNvidiaData parses the output of nvidia-smi and updates the GPUData map
|
||||
func (gm *GPUManager) parseNvidiaData(output []byte) {
|
||||
func (gm *GPUManager) parseNvidiaData(output []byte) bool {
|
||||
fields := strings.Split(string(output), ", ")
|
||||
if len(fields) < 7 {
|
||||
return false
|
||||
}
|
||||
gm.mutex.Lock()
|
||||
defer gm.mutex.Unlock()
|
||||
lines := strings.Split(string(output), "\n")
|
||||
@@ -102,60 +124,18 @@ func (gm *GPUManager) parseNvidiaData(output []byte) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// startAmdCollector oversees collectAmdStats and restarts rocm-smi if it fails
|
||||
func (gm *GPUManager) startAmdCollector() {
|
||||
for {
|
||||
if err := gm.collectAmdStats(); err != nil {
|
||||
slog.Warn("Restarting rocm-smi", "err", err)
|
||||
time.Sleep(time.Second) // Wait before retrying
|
||||
continue
|
||||
} else {
|
||||
// break if no error (command runs but no card found)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// collectAmdStats runs rocm-smi in a loop and passes the output to parseAmdData
|
||||
func (gm *GPUManager) collectAmdStats() error {
|
||||
cmd := exec.Command("/bin/sh", "-c", "while true; do rocm-smi --showid --showtemp --showuse --showpower --showproductname --showmeminfo vram --json; sleep 4.3; done")
|
||||
// Set up a pipe to capture stdout
|
||||
stdout, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// Start the command
|
||||
if err := cmd.Start(); err != nil {
|
||||
return err
|
||||
}
|
||||
// Use a scanner to read each line of output
|
||||
scanner := bufio.NewScanner(stdout)
|
||||
buf := make([]byte, 0, 8*1024) // 8KB buffer
|
||||
scanner.Buffer(buf, bufio.MaxScanTokenSize)
|
||||
for scanner.Scan() {
|
||||
var rocmSmiInfo map[string]RocmSmiJson
|
||||
if err := json.Unmarshal(scanner.Bytes(), &rocmSmiInfo); err != nil {
|
||||
return err
|
||||
}
|
||||
if len(rocmSmiInfo) > 0 {
|
||||
// slog.Info("rocm-smi", "data", rocmSmiInfo)
|
||||
gm.parseAmdData(&rocmSmiInfo)
|
||||
} else {
|
||||
slog.Warn("rocm-smi returned no GPU")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
if err := scanner.Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
return cmd.Wait()
|
||||
return true
|
||||
}
|
||||
|
||||
// parseAmdData parses the output of rocm-smi and updates the GPUData map
|
||||
func (gm *GPUManager) parseAmdData(rocmSmiInfo *map[string]RocmSmiJson) {
|
||||
for _, v := range *rocmSmiInfo {
|
||||
func (gm *GPUManager) parseAmdData(output []byte) bool {
|
||||
var rocmSmiInfo map[string]RocmSmiJson
|
||||
if err := json.Unmarshal(output, &rocmSmiInfo); err != nil || len(rocmSmiInfo) == 0 {
|
||||
return false
|
||||
}
|
||||
gm.mutex.Lock()
|
||||
defer gm.mutex.Unlock()
|
||||
for _, v := range rocmSmiInfo {
|
||||
temp, _ := strconv.ParseFloat(v.Temperature, 64)
|
||||
memoryUsage, _ := strconv.ParseFloat(v.MemoryUsed, 64)
|
||||
totalMemory, _ := strconv.ParseFloat(v.MemoryTotal, 64)
|
||||
@@ -175,12 +155,20 @@ func (gm *GPUManager) parseAmdData(rocmSmiInfo *map[string]RocmSmiJson) {
|
||||
gpu.Power += power
|
||||
gpu.Count++
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// sums and resets the current GPU utilization data since the last update
|
||||
func (gm *GPUManager) GetCurrentData() map[string]system.GPUData {
|
||||
gm.mutex.Lock()
|
||||
defer gm.mutex.Unlock()
|
||||
|
||||
// check for GPUs with the same name
|
||||
nameCounts := make(map[string]int)
|
||||
for _, gpu := range gm.GpuDataMap {
|
||||
nameCounts[gpu.Name]++
|
||||
}
|
||||
|
||||
// copy / reset the data
|
||||
gpuData := make(map[string]system.GPUData, len(gm.GpuDataMap))
|
||||
for id, gpu := range gm.GpuDataMap {
|
||||
@@ -190,16 +178,22 @@ func (gm *GPUManager) GetCurrentData() map[string]system.GPUData {
|
||||
gpu.MemoryTotal = twoDecimals(gpu.MemoryTotal)
|
||||
gpu.Usage = twoDecimals(gpu.Usage / gpu.Count)
|
||||
gpu.Power = twoDecimals(gpu.Power / gpu.Count)
|
||||
gpuData[id] = *gpu
|
||||
// reset the count
|
||||
gpu.Count = 1
|
||||
// dereference to avoid overwriting anything else
|
||||
gpuCopy := *gpu
|
||||
// append id to the name if there are multiple GPUs with the same name
|
||||
if nameCounts[gpu.Name] > 1 {
|
||||
gpuCopy.Name = fmt.Sprintf("%s %s", gpu.Name, id)
|
||||
}
|
||||
gpuData[id] = gpuCopy
|
||||
}
|
||||
return gpuData
|
||||
}
|
||||
|
||||
// detectGPU returns the GPU brand (nvidia or amd) or an error if none is found
|
||||
// detectGPUs returns the GPU brand (nvidia or amd) or an error if none is found
|
||||
// todo: make sure there's actually a GPU, not just if the command exists
|
||||
func (gm *GPUManager) detectGPU() error {
|
||||
func (gm *GPUManager) detectGPUs() error {
|
||||
if err := exec.Command("nvidia-smi").Run(); err == nil {
|
||||
gm.nvidiaSmi = true
|
||||
}
|
||||
@@ -212,18 +206,43 @@ func (gm *GPUManager) detectGPU() error {
|
||||
return fmt.Errorf("no GPU found - install nvidia-smi or rocm-smi")
|
||||
}
|
||||
|
||||
// NewGPUManager returns a new GPUManager
|
||||
// startCollector starts the appropriate GPU data collector based on the command
|
||||
func (gm *GPUManager) startCollector(command string) {
|
||||
switch command {
|
||||
case "nvidia-smi":
|
||||
nvidia := gpuCollector{
|
||||
name: "nvidia-smi",
|
||||
cmd: exec.Command("nvidia-smi", "-l", "4",
|
||||
"--query-gpu=index,name,temperature.gpu,memory.used,memory.total,utilization.gpu,power.draw",
|
||||
"--format=csv,noheader,nounits"),
|
||||
parse: gm.parseNvidiaData,
|
||||
}
|
||||
go nvidia.start()
|
||||
case "rocm-smi":
|
||||
amdCollector := gpuCollector{
|
||||
name: "rocm-smi",
|
||||
cmd: exec.Command("/bin/sh", "-c",
|
||||
"while true; do rocm-smi --showid --showtemp --showuse --showpower --showproductname --showmeminfo vram --json; sleep 4.3; done"),
|
||||
parse: gm.parseAmdData,
|
||||
}
|
||||
go amdCollector.start()
|
||||
}
|
||||
}
|
||||
|
||||
// NewGPUManager creates and initializes a new GPUManager
|
||||
func NewGPUManager() (*GPUManager, error) {
|
||||
var gm GPUManager
|
||||
if err := gm.detectGPU(); err != nil {
|
||||
if err := gm.detectGPUs(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gm.GpuDataMap = make(map[string]*system.GPUData, 1)
|
||||
|
||||
if gm.nvidiaSmi {
|
||||
go gm.startNvidiaCollector()
|
||||
gm.startCollector("nvidia-smi")
|
||||
}
|
||||
if gm.rocmSmi {
|
||||
go gm.startAmdCollector()
|
||||
gm.startCollector("rocm-smi")
|
||||
}
|
||||
|
||||
return &gm, nil
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ func (a *Agent) startServer(pubKey []byte, addr string) {
|
||||
func (a *Agent) handleSession(s sshServer.Session) {
|
||||
stats := a.gatherStats()
|
||||
if err := json.NewEncoder(s).Encode(stats); err != nil {
|
||||
slog.Error("Error encoding stats", "err", err)
|
||||
slog.Error("Error encoding stats", "err", err, "stats", stats)
|
||||
s.Exit(1)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -116,11 +116,17 @@ func (a *Agent) getSystemStats() system.Stats {
|
||||
continue
|
||||
}
|
||||
secondsElapsed := time.Since(stats.Time).Seconds()
|
||||
readPerSecond := float64(d.ReadBytes-stats.TotalRead) / secondsElapsed
|
||||
writePerSecond := float64(d.WriteBytes-stats.TotalWrite) / secondsElapsed
|
||||
readPerSecond := bytesToMegabytes(float64(d.ReadBytes-stats.TotalRead) / secondsElapsed)
|
||||
writePerSecond := bytesToMegabytes(float64(d.WriteBytes-stats.TotalWrite) / secondsElapsed)
|
||||
// check for invalid values and reset stats if so
|
||||
if readPerSecond < 0 || writePerSecond < 0 || readPerSecond > 50_000 || writePerSecond > 50_000 {
|
||||
slog.Warn("Invalid disk I/O. Resetting.", "name", d.Name, "read", readPerSecond, "write", writePerSecond)
|
||||
a.initializeDiskIoStats(ioCounters)
|
||||
break
|
||||
}
|
||||
stats.Time = time.Now()
|
||||
stats.DiskReadPs = bytesToMegabytes(readPerSecond)
|
||||
stats.DiskWritePs = bytesToMegabytes(writePerSecond)
|
||||
stats.DiskReadPs = readPerSecond
|
||||
stats.DiskWritePs = writePerSecond
|
||||
stats.TotalRead = d.ReadBytes
|
||||
stats.TotalWrite = d.WriteBytes
|
||||
// if root filesystem, update system stats
|
||||
@@ -153,7 +159,7 @@ func (a *Agent) getSystemStats() system.Stats {
|
||||
networkRecvPs := bytesToMegabytes(recvPerSecond)
|
||||
// add check for issue (#150) where sent is a massive number
|
||||
if networkSentPs > 10_000 || networkRecvPs > 10_000 {
|
||||
slog.Warn("Invalid network stats. Resetting.", "sent", networkSentPs, "recv", networkRecvPs)
|
||||
slog.Warn("Invalid net stats. Resetting.", "sent", networkSentPs, "recv", networkRecvPs)
|
||||
for _, v := range netIO {
|
||||
if _, exists := a.netInterfaces[v.Name]; !exists {
|
||||
continue
|
||||
|
||||
@@ -11,11 +11,10 @@ import (
|
||||
|
||||
"github.com/containrrr/shoutrrr"
|
||||
"github.com/goccy/go-json"
|
||||
"github.com/labstack/echo/v5"
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase"
|
||||
"github.com/pocketbase/pocketbase/apis"
|
||||
"github.com/pocketbase/pocketbase/models"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"github.com/pocketbase/pocketbase/tools/mailer"
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
"github.com/spf13/cast"
|
||||
@@ -48,8 +47,8 @@ type SystemAlertStats struct {
|
||||
}
|
||||
|
||||
type SystemAlertData struct {
|
||||
systemRecord *models.Record
|
||||
alertRecord *models.Record
|
||||
systemRecord *core.Record
|
||||
alertRecord *core.Record
|
||||
name string
|
||||
unit string
|
||||
val float64
|
||||
@@ -68,12 +67,12 @@ func NewAlertManager(app *pocketbase.PocketBase) *AlertManager {
|
||||
}
|
||||
}
|
||||
|
||||
func (am *AlertManager) HandleSystemAlerts(systemRecord *models.Record, systemInfo system.Info, temperatures map[string]float64, extraFs map[string]*system.FsStats) error {
|
||||
func (am *AlertManager) HandleSystemAlerts(systemRecord *core.Record, systemInfo system.Info, temperatures map[string]float64, extraFs map[string]*system.FsStats) error {
|
||||
// start := time.Now()
|
||||
// defer func() {
|
||||
// log.Println("alert stats took", time.Since(start))
|
||||
// }()
|
||||
alertRecords, err := am.app.Dao().FindRecordsByExpr("alerts",
|
||||
alertRecords, err := am.app.FindAllRecords("alerts",
|
||||
dbx.NewExp("system={:system}", dbx.Params{"system": systemRecord.Id}),
|
||||
)
|
||||
if err != nil || len(alertRecords) == 0 {
|
||||
@@ -82,7 +81,7 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *models.Record, systemIn
|
||||
}
|
||||
|
||||
var validAlerts []SystemAlertData
|
||||
now := systemRecord.Updated.Time().UTC()
|
||||
now := systemRecord.GetDateTime("updated").Time().UTC()
|
||||
oldestTime := now
|
||||
|
||||
for _, alertRecord := range alertRecords {
|
||||
@@ -155,7 +154,7 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *models.Record, systemIn
|
||||
Created types.DateTime `db:"created"`
|
||||
}{}
|
||||
|
||||
err = am.app.Dao().DB().
|
||||
err = am.app.DB().
|
||||
Select("stats", "created").
|
||||
From("system_stats").
|
||||
Where(dbx.NewExp(
|
||||
@@ -325,28 +324,28 @@ func (am *AlertManager) sendSystemAlert(alert SystemAlertData) {
|
||||
body := fmt.Sprintf("%s averaged %.2f%s for the previous %v %s.", alert.descriptor, alert.val, alert.unit, alert.min, minutesLabel)
|
||||
|
||||
alert.alertRecord.Set("triggered", alert.triggered)
|
||||
if err := am.app.Dao().SaveRecord(alert.alertRecord); err != nil {
|
||||
if err := am.app.Save(alert.alertRecord); err != nil {
|
||||
// app.Logger().Error("failed to save alert record", "err", err.Error())
|
||||
return
|
||||
}
|
||||
// expand the user relation and send the alert
|
||||
if errs := am.app.Dao().ExpandRecord(alert.alertRecord, []string{"user"}, nil); len(errs) > 0 {
|
||||
if errs := am.app.ExpandRecord(alert.alertRecord, []string{"user"}, nil); len(errs) > 0 {
|
||||
// app.Logger().Error("failed to expand user relation", "errs", errs)
|
||||
return
|
||||
}
|
||||
if user := alert.alertRecord.ExpandedOne("user"); user != nil {
|
||||
am.sendAlert(AlertMessageData{
|
||||
UserID: user.GetId(),
|
||||
UserID: user.Id,
|
||||
Title: subject,
|
||||
Message: body,
|
||||
Link: am.app.Settings().Meta.AppUrl + "/system/" + url.PathEscape(systemName),
|
||||
Link: am.app.Settings().Meta.AppURL + "/system/" + url.PathEscape(systemName),
|
||||
LinkText: "View " + systemName,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// todo: allow x minutes downtime before sending alert
|
||||
func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *models.Record) error {
|
||||
func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *core.Record) error {
|
||||
var alertStatus string
|
||||
switch newStatus {
|
||||
case "up":
|
||||
@@ -362,9 +361,9 @@ func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *mo
|
||||
return nil
|
||||
}
|
||||
// check if use
|
||||
alertRecords, err := am.app.Dao().FindRecordsByExpr("alerts",
|
||||
alertRecords, err := am.app.FindAllRecords("alerts",
|
||||
dbx.HashExp{
|
||||
"system": oldSystemRecord.GetId(),
|
||||
"system": oldSystemRecord.Id,
|
||||
"name": "Status",
|
||||
},
|
||||
)
|
||||
@@ -374,7 +373,7 @@ func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *mo
|
||||
}
|
||||
for _, alertRecord := range alertRecords {
|
||||
// expand the user relation
|
||||
if errs := am.app.Dao().ExpandRecord(alertRecord, []string{"user"}, nil); len(errs) > 0 {
|
||||
if errs := am.app.ExpandRecord(alertRecord, []string{"user"}, nil); len(errs) > 0 {
|
||||
return fmt.Errorf("failed to expand: %v", errs)
|
||||
}
|
||||
user := alertRecord.ExpandedOne("user")
|
||||
@@ -388,10 +387,10 @@ func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *mo
|
||||
// send alert
|
||||
systemName := oldSystemRecord.GetString("name")
|
||||
am.sendAlert(AlertMessageData{
|
||||
UserID: user.GetId(),
|
||||
UserID: user.Id,
|
||||
Title: fmt.Sprintf("Connection to %s is %s %v", systemName, alertStatus, emoji),
|
||||
Message: fmt.Sprintf("Connection to %s is %s", systemName, alertStatus),
|
||||
Link: am.app.Settings().Meta.AppUrl + "/system/" + url.PathEscape(systemName),
|
||||
Link: am.app.Settings().Meta.AppURL + "/system/" + url.PathEscape(systemName),
|
||||
LinkText: "View " + systemName,
|
||||
})
|
||||
}
|
||||
@@ -400,7 +399,7 @@ func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *mo
|
||||
|
||||
func (am *AlertManager) sendAlert(data AlertMessageData) {
|
||||
// get user settings
|
||||
record, err := am.app.Dao().FindFirstRecordByFilter(
|
||||
record, err := am.app.FindFirstRecordByFilter(
|
||||
"user_settings", "user={:user}",
|
||||
dbx.Params{"user": data.UserID},
|
||||
)
|
||||
@@ -512,19 +511,19 @@ func sliceContains(slice []string, item string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (am *AlertManager) SendTestNotification(c echo.Context) error {
|
||||
requestData := apis.RequestInfo(c)
|
||||
if requestData.AuthRecord == nil {
|
||||
func (am *AlertManager) SendTestNotification(e *core.RequestEvent) error {
|
||||
info, _ := e.RequestInfo()
|
||||
if info.Auth == nil {
|
||||
return apis.NewForbiddenError("Forbidden", nil)
|
||||
}
|
||||
url := c.QueryParam("url")
|
||||
url := e.Request.URL.Query().Get("url")
|
||||
// log.Println("url", url)
|
||||
if url == "" {
|
||||
return c.JSON(200, map[string]string{"err": "URL is required"})
|
||||
return e.JSON(200, map[string]string{"err": "URL is required"})
|
||||
}
|
||||
err := am.SendShoutrrrAlert(url, "Test Alert", "This is a notification from Beszel.", am.app.Settings().Meta.AppUrl, "View Beszel")
|
||||
err := am.SendShoutrrrAlert(url, "Test Alert", "This is a notification from Beszel.", am.app.Settings().Meta.AppURL, "View Beszel")
|
||||
if err != nil {
|
||||
return c.JSON(200, map[string]string{"err": err.Error()})
|
||||
return e.JSON(200, map[string]string{"err": err.Error()})
|
||||
}
|
||||
return c.JSON(200, map[string]bool{"err": false})
|
||||
return e.JSON(200, map[string]bool{"err": false})
|
||||
}
|
||||
|
||||
@@ -8,10 +8,9 @@ import (
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
|
||||
"github.com/labstack/echo/v5"
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase/apis"
|
||||
"github.com/pocketbase/pocketbase/models"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"github.com/spf13/cast"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
@@ -46,11 +45,11 @@ func (h *Hub) syncSystemsWithConfig() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
var firstUser *models.Record
|
||||
var firstUser *core.Record
|
||||
|
||||
// Create a map of email to user ID
|
||||
userEmailToID := make(map[string]string)
|
||||
users, err := h.app.Dao().FindRecordsByExpr("users", dbx.NewExp("id != ''"))
|
||||
users, err := h.app.FindAllRecords("users", dbx.NewExp("id != ''"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -85,13 +84,13 @@ func (h *Hub) syncSystemsWithConfig() error {
|
||||
}
|
||||
|
||||
// Get existing systems
|
||||
existingSystems, err := h.app.Dao().FindRecordsByExpr("systems", dbx.NewExp("id != ''"))
|
||||
existingSystems, err := h.app.FindAllRecords("systems", dbx.NewExp("id != ''"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Create a map of existing systems for easy lookup
|
||||
existingSystemsMap := make(map[string]*models.Record)
|
||||
existingSystemsMap := make(map[string]*core.Record)
|
||||
for _, system := range existingSystems {
|
||||
key := system.GetString("host") + ":" + system.GetString("port")
|
||||
existingSystemsMap[key] = system
|
||||
@@ -105,24 +104,24 @@ func (h *Hub) syncSystemsWithConfig() error {
|
||||
existingSystem.Set("name", sysConfig.Name)
|
||||
existingSystem.Set("users", sysConfig.Users)
|
||||
existingSystem.Set("port", sysConfig.Port)
|
||||
if err := h.app.Dao().SaveRecord(existingSystem); err != nil {
|
||||
if err := h.app.Save(existingSystem); err != nil {
|
||||
return err
|
||||
}
|
||||
delete(existingSystemsMap, key)
|
||||
} else {
|
||||
// Create new system
|
||||
systemsCollection, err := h.app.Dao().FindCollectionByNameOrId("systems")
|
||||
systemsCollection, err := h.app.FindCollectionByNameOrId("systems")
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to find systems collection: %v", err)
|
||||
}
|
||||
newSystem := models.NewRecord(systemsCollection)
|
||||
newSystem := core.NewRecord(systemsCollection)
|
||||
newSystem.Set("name", sysConfig.Name)
|
||||
newSystem.Set("host", sysConfig.Host)
|
||||
newSystem.Set("port", sysConfig.Port)
|
||||
newSystem.Set("users", sysConfig.Users)
|
||||
newSystem.Set("info", system.Info{})
|
||||
newSystem.Set("status", "pending")
|
||||
if err := h.app.Dao().SaveRecord(newSystem); err != nil {
|
||||
if err := h.app.Save(newSystem); err != nil {
|
||||
return fmt.Errorf("failed to create new system: %v", err)
|
||||
}
|
||||
}
|
||||
@@ -130,7 +129,7 @@ func (h *Hub) syncSystemsWithConfig() error {
|
||||
|
||||
// Delete systems not in config
|
||||
for _, system := range existingSystemsMap {
|
||||
if err := h.app.Dao().DeleteRecord(system); err != nil {
|
||||
if err := h.app.Delete(system); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@@ -142,7 +141,7 @@ func (h *Hub) syncSystemsWithConfig() error {
|
||||
// Generates content for the config.yml file as a YAML string
|
||||
func (h *Hub) generateConfigYAML() (string, error) {
|
||||
// Fetch all systems from the database
|
||||
systems, err := h.app.Dao().FindRecordsByFilter("systems", "id != ''", "name", -1, 0)
|
||||
systems, err := h.app.FindRecordsByFilter("systems", "id != ''", "name", -1, 0)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -195,7 +194,7 @@ func (h *Hub) generateConfigYAML() (string, error) {
|
||||
|
||||
// New helper function to get a map of user IDs to emails
|
||||
func (h *Hub) getUserEmailMap(userIDs []string) (map[string]string, error) {
|
||||
users, err := h.app.Dao().FindRecordsByIds("users", userIDs)
|
||||
users, err := h.app.FindRecordsByIds("users", userIDs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -209,14 +208,14 @@ func (h *Hub) getUserEmailMap(userIDs []string) (map[string]string, error) {
|
||||
}
|
||||
|
||||
// Returns the current config.yml file as a JSON object
|
||||
func (h *Hub) getYamlConfig(c echo.Context) error {
|
||||
requestData := apis.RequestInfo(c)
|
||||
if requestData.AuthRecord == nil || requestData.AuthRecord.GetString("role") != "admin" {
|
||||
func (h *Hub) getYamlConfig(e *core.RequestEvent) error {
|
||||
info, _ := e.RequestInfo()
|
||||
if info.Auth == nil || info.Auth.GetString("role") != "admin" {
|
||||
return apis.NewForbiddenError("Forbidden", nil)
|
||||
}
|
||||
configContent, err := h.generateConfigYAML()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.JSON(200, map[string]string{"config": configContent})
|
||||
return e.JSON(200, map[string]string{"config": configContent})
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import (
|
||||
"encoding/pem"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/http/httputil"
|
||||
"net/url"
|
||||
@@ -23,37 +24,31 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/goccy/go-json"
|
||||
"github.com/labstack/echo/v5"
|
||||
"github.com/pocketbase/pocketbase"
|
||||
"github.com/pocketbase/pocketbase/apis"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"github.com/pocketbase/pocketbase/models"
|
||||
"github.com/pocketbase/pocketbase/plugins/migratecmd"
|
||||
"github.com/pocketbase/pocketbase/tools/cron"
|
||||
"golang.org/x/crypto/ssh"
|
||||
)
|
||||
|
||||
type Hub struct {
|
||||
app *pocketbase.PocketBase
|
||||
connectionLock *sync.Mutex
|
||||
systemConnections map[string]*ssh.Client
|
||||
systemConnections sync.Map
|
||||
sshClientConfig *ssh.ClientConfig
|
||||
pubKey string
|
||||
am *alerts.AlertManager
|
||||
um *users.UserManager
|
||||
rm *records.RecordManager
|
||||
systemStats *models.Collection
|
||||
containerStats *models.Collection
|
||||
systemStats *core.Collection
|
||||
containerStats *core.Collection
|
||||
}
|
||||
|
||||
func NewHub(app *pocketbase.PocketBase) *Hub {
|
||||
return &Hub{
|
||||
app: app,
|
||||
connectionLock: &sync.Mutex{},
|
||||
systemConnections: make(map[string]*ssh.Client),
|
||||
am: alerts.NewAlertManager(app),
|
||||
um: users.NewUserManager(app),
|
||||
rm: records.NewRecordManager(app),
|
||||
app: app,
|
||||
am: alerts.NewAlertManager(app),
|
||||
um: users.NewUserManager(app),
|
||||
rm: records.NewRecordManager(app),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,128 +64,140 @@ func (h *Hub) Run() {
|
||||
})
|
||||
|
||||
// initial setup
|
||||
h.app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
|
||||
h.app.OnServe().BindFunc(func(se *core.ServeEvent) error {
|
||||
// create ssh client config
|
||||
err := h.createSSHClientConfig()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
// set general settings
|
||||
settings := h.app.Settings()
|
||||
// batch requests (for global alerts)
|
||||
settings.Batch.Enabled = true
|
||||
// set auth settings
|
||||
usersCollection, err := h.app.Dao().FindCollectionByNameOrId("users")
|
||||
usersCollection, err := h.app.FindCollectionByNameOrId("users")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
usersAuthOptions := usersCollection.AuthOptions()
|
||||
usersAuthOptions.AllowUsernameAuth = false
|
||||
if os.Getenv("DISABLE_PASSWORD_AUTH") == "true" {
|
||||
usersAuthOptions.AllowEmailAuth = false
|
||||
} else {
|
||||
usersAuthOptions.AllowEmailAuth = true
|
||||
// disable email auth if DISABLE_PASSWORD_AUTH env var is set
|
||||
usersCollection.PasswordAuth.Enabled = os.Getenv("DISABLE_PASSWORD_AUTH") != "true"
|
||||
usersCollection.PasswordAuth.IdentityFields = []string{"email"}
|
||||
// disable oauth if no providers are configured (todo: remove this in post 0.9.0 release)
|
||||
if usersCollection.OAuth2.Enabled {
|
||||
usersCollection.OAuth2.Enabled = len(usersCollection.OAuth2.Providers) > 0
|
||||
}
|
||||
usersCollection.SetOptions(usersAuthOptions)
|
||||
if err := h.app.Dao().SaveCollection(usersCollection); err != nil {
|
||||
// allow oauth user creation if USER_CREATION is set
|
||||
if os.Getenv("USER_CREATION") == "true" {
|
||||
cr := "@request.context = 'oauth2'"
|
||||
usersCollection.CreateRule = &cr
|
||||
} else {
|
||||
usersCollection.CreateRule = nil
|
||||
}
|
||||
if err := h.app.Save(usersCollection); err != nil {
|
||||
return err
|
||||
}
|
||||
// sync systems with config
|
||||
return h.syncSystemsWithConfig()
|
||||
h.syncSystemsWithConfig()
|
||||
return se.Next()
|
||||
})
|
||||
|
||||
// serve web ui
|
||||
h.app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
|
||||
h.app.OnServe().BindFunc(func(se *core.ServeEvent) error {
|
||||
switch isGoRun {
|
||||
case true:
|
||||
proxy := httputil.NewSingleHostReverseProxy(&url.URL{
|
||||
Scheme: "http",
|
||||
Host: "localhost:5173",
|
||||
})
|
||||
e.Router.Any("/*", echo.WrapHandler(proxy))
|
||||
se.Router.Any("/", func(e *core.RequestEvent) error {
|
||||
proxy.ServeHTTP(e.Response, e.Request)
|
||||
return nil
|
||||
})
|
||||
default:
|
||||
csp, cspExists := os.LookupEnv("CSP")
|
||||
e.Router.Any("/*", func(c echo.Context) error {
|
||||
se.Router.Any("/{path...}", func(e *core.RequestEvent) error {
|
||||
if cspExists {
|
||||
c.Response().Header().Del("X-Frame-Options")
|
||||
c.Response().Header().Set("Content-Security-Policy", csp)
|
||||
e.Response.Header().Del("X-Frame-Options")
|
||||
e.Response.Header().Set("Content-Security-Policy", csp)
|
||||
}
|
||||
indexFallback := !strings.HasPrefix(c.Request().URL.Path, "/static/")
|
||||
return apis.StaticDirectoryHandler(site.Dist, indexFallback)(c)
|
||||
indexFallback := !strings.HasPrefix(e.Request.URL.Path, "/static/")
|
||||
return apis.Static(site.DistDirFS, indexFallback)(e)
|
||||
})
|
||||
}
|
||||
return nil
|
||||
return se.Next()
|
||||
})
|
||||
|
||||
// set up scheduled jobs / ticker for system updates
|
||||
h.app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
|
||||
h.app.OnServe().BindFunc(func(se *core.ServeEvent) error {
|
||||
// 15 second ticker for system updates
|
||||
go h.startSystemUpdateTicker()
|
||||
// set up cron jobs
|
||||
scheduler := cron.New()
|
||||
// delete old records once every hour
|
||||
scheduler.MustAdd("delete old records", "8 * * * *", h.rm.DeleteOldRecords)
|
||||
h.app.Cron().MustAdd("delete old records", "8 * * * *", h.rm.DeleteOldRecords)
|
||||
// create longer records every 10 minutes
|
||||
scheduler.MustAdd("create longer records", "*/10 * * * *", func() {
|
||||
h.app.Cron().MustAdd("create longer records", "*/10 * * * *", func() {
|
||||
if systemStats, containerStats, err := h.getCollections(); err == nil {
|
||||
h.rm.CreateLongerRecords([]*models.Collection{systemStats, containerStats})
|
||||
h.rm.CreateLongerRecords([]*core.Collection{systemStats, containerStats})
|
||||
}
|
||||
})
|
||||
scheduler.Start()
|
||||
return nil
|
||||
return se.Next()
|
||||
})
|
||||
|
||||
// custom api routes
|
||||
h.app.OnBeforeServe().Add(func(e *core.ServeEvent) error {
|
||||
h.app.OnServe().BindFunc(func(se *core.ServeEvent) error {
|
||||
// returns public key
|
||||
e.Router.GET("/api/beszel/getkey", func(c echo.Context) error {
|
||||
requestData := apis.RequestInfo(c)
|
||||
if requestData.AuthRecord == nil {
|
||||
se.Router.GET("/api/beszel/getkey", func(e *core.RequestEvent) error {
|
||||
info, _ := e.RequestInfo()
|
||||
if info.Auth == nil {
|
||||
return apis.NewForbiddenError("Forbidden", nil)
|
||||
}
|
||||
return c.JSON(http.StatusOK, map[string]string{"key": h.pubKey, "v": beszel.Version})
|
||||
return e.JSON(http.StatusOK, map[string]string{"key": h.pubKey, "v": beszel.Version})
|
||||
})
|
||||
// check if first time setup on login page
|
||||
e.Router.GET("/api/beszel/first-run", func(c echo.Context) error {
|
||||
adminNum, err := h.app.Dao().TotalAdmins()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return c.JSON(http.StatusOK, map[string]bool{"firstRun": adminNum == 0})
|
||||
se.Router.GET("/api/beszel/first-run", func(e *core.RequestEvent) error {
|
||||
total, err := h.app.CountRecords("users")
|
||||
return e.JSON(http.StatusOK, map[string]bool{"firstRun": err == nil && total == 0})
|
||||
})
|
||||
// send test notification
|
||||
e.Router.GET("/api/beszel/send-test-notification", h.am.SendTestNotification)
|
||||
se.Router.GET("/api/beszel/send-test-notification", h.am.SendTestNotification)
|
||||
// API endpoint to get config.yml content
|
||||
e.Router.GET("/api/beszel/config-yaml", h.getYamlConfig)
|
||||
return nil
|
||||
se.Router.GET("/api/beszel/config-yaml", h.getYamlConfig)
|
||||
// create first user endpoint only needed if no users exist
|
||||
if totalUsers, _ := h.app.CountRecords("users"); totalUsers == 0 {
|
||||
se.Router.POST("/api/beszel/create-user", h.um.CreateFirstUser)
|
||||
}
|
||||
return se.Next()
|
||||
})
|
||||
|
||||
// system creation defaults
|
||||
h.app.OnModelBeforeCreate("systems").Add(func(e *core.ModelEvent) error {
|
||||
record := e.Model.(*models.Record)
|
||||
record.Set("info", system.Info{})
|
||||
record.Set("status", "pending")
|
||||
return nil
|
||||
h.app.OnRecordCreate("systems").BindFunc(func(e *core.RecordEvent) error {
|
||||
e.Record.Set("info", system.Info{})
|
||||
e.Record.Set("status", "pending")
|
||||
return e.Next()
|
||||
})
|
||||
|
||||
// immediately create connection for new systems
|
||||
h.app.OnModelAfterCreate("systems").Add(func(e *core.ModelEvent) error {
|
||||
go h.updateSystem(e.Model.(*models.Record))
|
||||
return nil
|
||||
h.app.OnRecordAfterCreateSuccess("systems").BindFunc(func(e *core.RecordEvent) error {
|
||||
go h.updateSystem(e.Record)
|
||||
return e.Next()
|
||||
})
|
||||
|
||||
// handle default values for user / user_settings creation
|
||||
h.app.OnModelBeforeCreate("users").Add(h.um.InitializeUserRole)
|
||||
h.app.OnModelBeforeCreate("user_settings").Add(h.um.InitializeUserSettings)
|
||||
h.app.OnRecordCreate("users").BindFunc(h.um.InitializeUserRole)
|
||||
h.app.OnRecordCreate("user_settings").BindFunc(h.um.InitializeUserSettings)
|
||||
|
||||
// empty info for systems that are paused
|
||||
h.app.OnModelBeforeUpdate("systems").Add(func(e *core.ModelEvent) error {
|
||||
if e.Model.(*models.Record).GetString("status") == "paused" {
|
||||
e.Model.(*models.Record).Set("info", system.Info{})
|
||||
h.app.OnRecordUpdate("systems").BindFunc(func(e *core.RecordEvent) error {
|
||||
if e.Record.GetString("status") == "paused" {
|
||||
e.Record.Set("info", system.Info{})
|
||||
}
|
||||
return nil
|
||||
return e.Next()
|
||||
})
|
||||
|
||||
// do things after a systems record is updated
|
||||
h.app.OnModelAfterUpdate("systems").Add(func(e *core.ModelEvent) error {
|
||||
newRecord := e.Model.(*models.Record)
|
||||
oldRecord := newRecord.OriginalCopy()
|
||||
h.app.OnRecordAfterUpdateSuccess("systems").BindFunc(func(e *core.RecordEvent) error {
|
||||
newRecord := e.Record.Fresh()
|
||||
oldRecord := newRecord.Original()
|
||||
newStatus := newRecord.GetString("status")
|
||||
|
||||
// if system is disconnected and connection exists, remove it
|
||||
@@ -205,15 +212,13 @@ func (h *Hub) Run() {
|
||||
h.am.HandleStatusAlerts(newStatus, oldRecord)
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
return e.Next()
|
||||
})
|
||||
|
||||
// do things after a systems record is deleted
|
||||
h.app.OnModelAfterDelete("systems").Add(func(e *core.ModelEvent) error {
|
||||
// if system connection exists, close it
|
||||
h.deleteSystemConnection(e.Model.(*models.Record))
|
||||
return nil
|
||||
// if system is deleted, close connection
|
||||
h.app.OnRecordAfterDeleteSuccess("systems").BindFunc(func(e *core.RecordEvent) error {
|
||||
h.deleteSystemConnection(e.Record)
|
||||
return e.Next()
|
||||
})
|
||||
|
||||
if err := h.app.Start(); err != nil {
|
||||
@@ -222,14 +227,14 @@ func (h *Hub) Run() {
|
||||
}
|
||||
|
||||
func (h *Hub) startSystemUpdateTicker() {
|
||||
ticker := time.NewTicker(15 * time.Second)
|
||||
for range ticker.C {
|
||||
c := time.Tick(15 * time.Second)
|
||||
for range c {
|
||||
h.updateSystems()
|
||||
}
|
||||
}
|
||||
|
||||
func (h *Hub) updateSystems() {
|
||||
records, err := h.app.Dao().FindRecordsByFilter(
|
||||
records, err := h.app.FindRecordsByFilter(
|
||||
"2hz5ncl8tizk5nx", // systems collection
|
||||
"status != 'paused'", // filter
|
||||
"updated", // sort
|
||||
@@ -258,13 +263,13 @@ func (h *Hub) updateSystems() {
|
||||
}
|
||||
}
|
||||
|
||||
func (h *Hub) updateSystem(record *models.Record) {
|
||||
func (h *Hub) updateSystem(record *core.Record) {
|
||||
var client *ssh.Client
|
||||
var err error
|
||||
|
||||
// check if system connection data exists
|
||||
if _, ok := h.systemConnections[record.Id]; ok {
|
||||
client = h.systemConnections[record.Id]
|
||||
// check if system connection exists
|
||||
if existingClient, ok := h.systemConnections.Load(record.Id); ok {
|
||||
client = existingClient.(*ssh.Client)
|
||||
} else {
|
||||
// create system connection
|
||||
client, err = h.createSystemConnection(record)
|
||||
@@ -275,9 +280,7 @@ func (h *Hub) updateSystem(record *models.Record) {
|
||||
}
|
||||
return
|
||||
}
|
||||
h.connectionLock.Lock()
|
||||
h.systemConnections[record.Id] = client
|
||||
h.connectionLock.Unlock()
|
||||
h.systemConnections.Store(record.Id, client)
|
||||
}
|
||||
// get system stats from agent
|
||||
var systemData system.CombinedData
|
||||
@@ -286,6 +289,7 @@ func (h *Hub) updateSystem(record *models.Record) {
|
||||
// if previous connection was closed, try again
|
||||
h.app.Logger().Error("Existing SSH connection closed. Retrying...", "host", record.GetString("host"), "port", record.GetString("port"))
|
||||
h.deleteSystemConnection(record)
|
||||
time.Sleep(time.Millisecond * 100)
|
||||
h.updateSystem(record)
|
||||
return
|
||||
}
|
||||
@@ -294,10 +298,9 @@ func (h *Hub) updateSystem(record *models.Record) {
|
||||
return
|
||||
}
|
||||
// update system record
|
||||
dao := h.app.Dao()
|
||||
record.Set("status", "up")
|
||||
record.Set("info", systemData.Info)
|
||||
if err := dao.SaveRecord(record); err != nil {
|
||||
if err := h.app.SaveNoValidate(record); err != nil {
|
||||
h.app.Logger().Error("Failed to update record: ", "err", err.Error())
|
||||
}
|
||||
// add system_stats and container_stats records
|
||||
@@ -305,42 +308,42 @@ func (h *Hub) updateSystem(record *models.Record) {
|
||||
h.app.Logger().Error("Failed to get collections: ", "err", err.Error())
|
||||
} else {
|
||||
// add new system_stats record
|
||||
systemStatsRecord := models.NewRecord(systemStats)
|
||||
systemStatsRecord := core.NewRecord(systemStats)
|
||||
systemStatsRecord.Set("system", record.Id)
|
||||
systemStatsRecord.Set("stats", systemData.Stats)
|
||||
systemStatsRecord.Set("type", "1m")
|
||||
if err := dao.SaveRecord(systemStatsRecord); err != nil {
|
||||
if err := h.app.SaveNoValidate(systemStatsRecord); err != nil {
|
||||
h.app.Logger().Error("Failed to save record: ", "err", err.Error())
|
||||
}
|
||||
// add new container_stats record
|
||||
if len(systemData.Containers) > 0 {
|
||||
containerStatsRecord := models.NewRecord(containerStats)
|
||||
containerStatsRecord := core.NewRecord(containerStats)
|
||||
containerStatsRecord.Set("system", record.Id)
|
||||
containerStatsRecord.Set("stats", systemData.Containers)
|
||||
containerStatsRecord.Set("type", "1m")
|
||||
if err := dao.SaveRecord(containerStatsRecord); err != nil {
|
||||
if err := h.app.SaveNoValidate(containerStatsRecord); err != nil {
|
||||
h.app.Logger().Error("Failed to save record: ", "err", err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// system info alerts (todo: extra fs alerts)
|
||||
// system info alerts
|
||||
if err := h.am.HandleSystemAlerts(record, systemData.Info, systemData.Stats.Temperatures, systemData.Stats.ExtraFs); err != nil {
|
||||
h.app.Logger().Error("System alerts error", "err", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
// return system_stats and container_stats collections
|
||||
func (h *Hub) getCollections() (*models.Collection, *models.Collection, error) {
|
||||
func (h *Hub) getCollections() (*core.Collection, *core.Collection, error) {
|
||||
if h.systemStats == nil {
|
||||
systemStats, err := h.app.Dao().FindCollectionByNameOrId("system_stats")
|
||||
systemStats, err := h.app.FindCollectionByNameOrId("system_stats")
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
h.systemStats = systemStats
|
||||
}
|
||||
if h.containerStats == nil {
|
||||
containerStats, err := h.app.Dao().FindCollectionByNameOrId("container_stats")
|
||||
containerStats, err := h.app.FindCollectionByNameOrId("container_stats")
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
@@ -350,28 +353,27 @@ func (h *Hub) getCollections() (*models.Collection, *models.Collection, error) {
|
||||
}
|
||||
|
||||
// set system to specified status and save record
|
||||
func (h *Hub) updateSystemStatus(record *models.Record, status string) {
|
||||
if record.GetString("status") != status {
|
||||
func (h *Hub) updateSystemStatus(record *core.Record, status string) {
|
||||
if record.Fresh().GetString("status") != status {
|
||||
record.Set("status", status)
|
||||
if err := h.app.Dao().SaveRecord(record); err != nil {
|
||||
if err := h.app.SaveNoValidate(record); err != nil {
|
||||
h.app.Logger().Error("Failed to update record: ", "err", err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (h *Hub) deleteSystemConnection(record *models.Record) {
|
||||
if _, ok := h.systemConnections[record.Id]; ok {
|
||||
if h.systemConnections[record.Id] != nil {
|
||||
h.systemConnections[record.Id].Close()
|
||||
// delete system connection from map and close connection
|
||||
func (h *Hub) deleteSystemConnection(record *core.Record) {
|
||||
if client, ok := h.systemConnections.Load(record.Id); ok {
|
||||
if sshClient := client.(*ssh.Client); sshClient != nil {
|
||||
sshClient.Close()
|
||||
}
|
||||
h.connectionLock.Lock()
|
||||
defer h.connectionLock.Unlock()
|
||||
delete(h.systemConnections, record.Id)
|
||||
h.systemConnections.Delete(record.Id)
|
||||
}
|
||||
}
|
||||
|
||||
func (h *Hub) createSystemConnection(record *models.Record) (*ssh.Client, error) {
|
||||
client, err := ssh.Dial("tcp", fmt.Sprintf("%s:%s", record.GetString("host"), record.GetString("port")), h.sshClientConfig)
|
||||
func (h *Hub) createSystemConnection(record *core.Record) (*ssh.Client, error) {
|
||||
client, err := ssh.Dial("tcp", net.JoinHostPort(record.GetString("host"), record.GetString("port")), h.sshClientConfig)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -397,14 +399,14 @@ func (h *Hub) createSSHClientConfig() error {
|
||||
ssh.PublicKeys(signer),
|
||||
},
|
||||
HostKeyCallback: ssh.InsecureIgnoreHostKey(),
|
||||
Timeout: 5 * time.Second,
|
||||
Timeout: 4 * time.Second,
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Fetches system stats from the agent and decodes the json data into the provided struct
|
||||
func (h *Hub) requestJsonFromAgent(client *ssh.Client, systemData *system.CombinedData) error {
|
||||
session, err := newSessionWithTimeout(client, 5*time.Second)
|
||||
session, err := newSessionWithTimeout(client, 4*time.Second)
|
||||
if err != nil {
|
||||
return fmt.Errorf("bad client")
|
||||
}
|
||||
|
||||
@@ -11,8 +11,7 @@ import (
|
||||
"github.com/goccy/go-json"
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase"
|
||||
"github.com/pocketbase/pocketbase/daos"
|
||||
"github.com/pocketbase/pocketbase/models"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"github.com/pocketbase/pocketbase/tools/types"
|
||||
)
|
||||
|
||||
@@ -41,7 +40,7 @@ func NewRecordManager(app *pocketbase.PocketBase) *RecordManager {
|
||||
}
|
||||
|
||||
// Create longer records by averaging shorter records
|
||||
func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
func (rm *RecordManager) CreateLongerRecords(collections []*core.Collection) {
|
||||
// start := time.Now()
|
||||
longerRecordData := []LongerRecordData{
|
||||
{
|
||||
@@ -71,8 +70,8 @@ func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
},
|
||||
}
|
||||
// wrap the operations in a transaction
|
||||
rm.app.Dao().RunInTransaction(func(txDao *daos.Dao) error {
|
||||
activeSystems, err := txDao.FindRecordsByExpr("systems", dbx.NewExp("status = 'up'"))
|
||||
rm.app.RunInTransaction(func(txApp core.App) error {
|
||||
activeSystems, err := txApp.FindAllRecords("systems", dbx.NewExp("status = 'up'"))
|
||||
if err != nil {
|
||||
log.Println("failed to get active systems", "err", err.Error())
|
||||
return err
|
||||
@@ -92,7 +91,7 @@ func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
for _, collection := range collections {
|
||||
// check creation time of last longer record if not 10m, since 10m is created every run
|
||||
if recordData.longerType != "10m" {
|
||||
lastLongerRecord, err := txDao.FindFirstRecordByFilter(
|
||||
lastLongerRecord, err := txApp.FindFirstRecordByFilter(
|
||||
collection.Id,
|
||||
"type = {:type} && system = {:system} && created > {:created}",
|
||||
dbx.Params{"type": recordData.longerType, "system": system.Id, "created": longerRecordPeriod},
|
||||
@@ -106,7 +105,7 @@ func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
// get shorter records from the past x minutes
|
||||
var stats RecordStats
|
||||
|
||||
err := txDao.DB().
|
||||
err := txApp.DB().
|
||||
Select("stats").
|
||||
From(collection.Name).
|
||||
AndWhere(dbx.NewExp(
|
||||
@@ -125,7 +124,7 @@ func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
continue
|
||||
}
|
||||
// average the shorter records and create longer record
|
||||
longerRecord := models.NewRecord(collection)
|
||||
longerRecord := core.NewRecord(collection)
|
||||
longerRecord.Set("system", system.Id)
|
||||
longerRecord.Set("type", recordData.longerType)
|
||||
switch collection.Name {
|
||||
@@ -134,7 +133,7 @@ func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
case "container_stats":
|
||||
longerRecord.Set("stats", rm.AverageContainerStats(stats))
|
||||
}
|
||||
if err := txDao.SaveRecord(longerRecord); err != nil {
|
||||
if err := txApp.SaveNoValidate(longerRecord); err != nil {
|
||||
log.Println("failed to save longer record", "err", err.Error())
|
||||
}
|
||||
}
|
||||
@@ -156,6 +155,7 @@ func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
|
||||
var stats system.Stats
|
||||
for i := range records {
|
||||
stats = system.Stats{} // Zero the struct before unmarshalling
|
||||
json.Unmarshal(records[i].Stats, &stats)
|
||||
sum.Cpu += stats.Cpu
|
||||
sum.Mem += stats.Mem
|
||||
@@ -354,7 +354,7 @@ func (rm *RecordManager) DeleteOldRecords() {
|
||||
retention: 30 * 24 * time.Hour,
|
||||
},
|
||||
}
|
||||
db := rm.app.Dao().NonconcurrentDB()
|
||||
db := rm.app.NonconcurrentDB()
|
||||
for _, recordData := range recordData {
|
||||
for _, collectionSlug := range collections {
|
||||
formattedDate := time.Now().UTC().Add(-recordData.retention).Format(types.DefaultDateLayout)
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
package users
|
||||
|
||||
import (
|
||||
"beszel/migrations"
|
||||
"log"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/pocketbase/pocketbase"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
"github.com/pocketbase/pocketbase/models"
|
||||
)
|
||||
|
||||
type UserManager struct {
|
||||
@@ -26,16 +28,17 @@ func NewUserManager(app *pocketbase.PocketBase) *UserManager {
|
||||
}
|
||||
}
|
||||
|
||||
func (um *UserManager) InitializeUserRole(e *core.ModelEvent) error {
|
||||
user := e.Model.(*models.Record)
|
||||
if user.GetString("role") == "" {
|
||||
user.Set("role", "user")
|
||||
// Initialize user role if not set
|
||||
func (um *UserManager) InitializeUserRole(e *core.RecordEvent) error {
|
||||
if e.Record.GetString("role") == "" {
|
||||
e.Record.Set("role", "user")
|
||||
}
|
||||
return nil
|
||||
return e.Next()
|
||||
}
|
||||
|
||||
func (um *UserManager) InitializeUserSettings(e *core.ModelEvent) error {
|
||||
record := e.Model.(*models.Record)
|
||||
// Initialize user settings with defaults if not set
|
||||
func (um *UserManager) InitializeUserSettings(e *core.RecordEvent) error {
|
||||
record := e.Record
|
||||
// intialize settings with defaults
|
||||
settings := UserSettings{
|
||||
// Language: "en",
|
||||
@@ -46,7 +49,7 @@ func (um *UserManager) InitializeUserSettings(e *core.ModelEvent) error {
|
||||
record.UnmarshalJSONField("settings", &settings)
|
||||
if len(settings.NotificationEmails) == 0 {
|
||||
// get user email from auth record
|
||||
if errs := um.app.Dao().ExpandRecord(record, []string{"user"}, nil); len(errs) == 0 {
|
||||
if errs := um.app.ExpandRecord(record, []string{"user"}, nil); len(errs) == 0 {
|
||||
// app.Logger().Error("failed to expand user relation", "errs", errs)
|
||||
if user := record.ExpandedOne("user"); user != nil {
|
||||
settings.NotificationEmails = []string{user.GetString("email")}
|
||||
@@ -61,5 +64,57 @@ func (um *UserManager) InitializeUserSettings(e *core.ModelEvent) error {
|
||||
// settings.NotificationWebhooks = []string{""}
|
||||
// }
|
||||
record.Set("settings", settings)
|
||||
return nil
|
||||
return e.Next()
|
||||
}
|
||||
|
||||
// Custom API endpoint to create the first user.
|
||||
// Mimics previous default behavior in PocketBase < 0.23.0 allowing user to be created through the Beszel UI.
|
||||
func (um *UserManager) CreateFirstUser(e *core.RequestEvent) error {
|
||||
// check that there are no users
|
||||
totalUsers, err := um.app.CountRecords("users")
|
||||
if err != nil || totalUsers > 0 {
|
||||
return e.JSON(http.StatusForbidden, map[string]string{"err": "Forbidden"})
|
||||
}
|
||||
// check that there is only one superuser and the email matches the email of the superuser we set up in initial-settings.go
|
||||
adminUsers, err := um.app.FindAllRecords(core.CollectionNameSuperusers)
|
||||
if err != nil || len(adminUsers) != 1 || adminUsers[0].GetString("email") != migrations.TempAdminEmail {
|
||||
return e.JSON(http.StatusForbidden, map[string]string{"err": "Forbidden"})
|
||||
}
|
||||
// create first user using supplied email and password in request body
|
||||
data := struct {
|
||||
Email string `json:"email"`
|
||||
Password string `json:"password"`
|
||||
}{}
|
||||
if err := e.BindBody(&data); err != nil {
|
||||
return e.JSON(http.StatusBadRequest, map[string]string{"err": err.Error()})
|
||||
}
|
||||
if data.Email == "" || data.Password == "" {
|
||||
return e.JSON(http.StatusBadRequest, map[string]string{"err": "Bad request"})
|
||||
}
|
||||
|
||||
collection, _ := um.app.FindCollectionByNameOrId("users")
|
||||
user := core.NewRecord(collection)
|
||||
user.SetEmail(data.Email)
|
||||
user.SetPassword(data.Password)
|
||||
user.Set("role", "admin")
|
||||
user.Set("verified", true)
|
||||
if username := strings.Split(data.Email, "@")[0]; len(username) > 2 {
|
||||
user.Set("username", username)
|
||||
}
|
||||
if err := um.app.Save(user); err != nil {
|
||||
return e.JSON(http.StatusInternalServerError, map[string]string{"err": err.Error()})
|
||||
}
|
||||
// create superuser using the email of the first user
|
||||
collection, _ = um.app.FindCollectionByNameOrId(core.CollectionNameSuperusers)
|
||||
adminUser := core.NewRecord(collection)
|
||||
adminUser.SetEmail(data.Email)
|
||||
adminUser.SetPassword(data.Password)
|
||||
if err := um.app.Save(adminUser); err != nil {
|
||||
return e.JSON(http.StatusInternalServerError, map[string]string{"err": err.Error()})
|
||||
}
|
||||
// delete the intial superuser
|
||||
if err := um.app.Delete(adminUsers[0]); err != nil {
|
||||
return e.JSON(http.StatusInternalServerError, map[string]string{"err": err.Error()})
|
||||
}
|
||||
return e.JSON(http.StatusOK, map[string]string{"msg": "User created"})
|
||||
}
|
||||
|
||||
@@ -1,481 +0,0 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase/daos"
|
||||
m "github.com/pocketbase/pocketbase/migrations"
|
||||
"github.com/pocketbase/pocketbase/models"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
jsonData := `[
|
||||
{
|
||||
"id": "2hz5ncl8tizk5nx",
|
||||
"created": "2024-07-07 16:08:20.979Z",
|
||||
"updated": "2024-10-12 18:55:51.623Z",
|
||||
"name": "systems",
|
||||
"type": "base",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "7xloxkwk",
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"min": null,
|
||||
"max": null,
|
||||
"pattern": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "waj7seaf",
|
||||
"name": "status",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"up",
|
||||
"down",
|
||||
"paused",
|
||||
"pending"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "ve781smf",
|
||||
"name": "host",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"min": null,
|
||||
"max": null,
|
||||
"pattern": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "pij0k2jk",
|
||||
"name": "port",
|
||||
"type": "text",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"min": null,
|
||||
"max": null,
|
||||
"pattern": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "qoq64ntl",
|
||||
"name": "info",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 2000000
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "jcarjnjj",
|
||||
"name": "users",
|
||||
"type": "relation",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "_pb_users_auth_",
|
||||
"cascadeDelete": true,
|
||||
"minSelect": null,
|
||||
"maxSelect": null,
|
||||
"displayFields": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [],
|
||||
"listRule": "@request.auth.id != \"\" && users.id ?= @request.auth.id",
|
||||
"viewRule": "@request.auth.id != \"\" && users.id ?= @request.auth.id",
|
||||
"createRule": "@request.auth.id != \"\" && users.id ?= @request.auth.id && @request.auth.role != \"readonly\"",
|
||||
"updateRule": "@request.auth.id != \"\" && users.id ?= @request.auth.id && @request.auth.role != \"readonly\"",
|
||||
"deleteRule": "@request.auth.id != \"\" && users.id ?= @request.auth.id && @request.auth.role != \"readonly\"",
|
||||
"options": {}
|
||||
},
|
||||
{
|
||||
"id": "ej9oowivz8b2mht",
|
||||
"created": "2024-07-07 16:09:09.179Z",
|
||||
"updated": "2024-10-12 18:55:51.623Z",
|
||||
"name": "system_stats",
|
||||
"type": "base",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "h9sg148r",
|
||||
"name": "system",
|
||||
"type": "relation",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "2hz5ncl8tizk5nx",
|
||||
"cascadeDelete": true,
|
||||
"minSelect": null,
|
||||
"maxSelect": 1,
|
||||
"displayFields": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "azftn0be",
|
||||
"name": "stats",
|
||||
"type": "json",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 2000000
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "m1ekhli3",
|
||||
"name": "type",
|
||||
"type": "select",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"1m",
|
||||
"10m",
|
||||
"20m",
|
||||
"120m",
|
||||
"480m"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [
|
||||
"CREATE INDEX ` + "`" + `idx_GxIee0j` + "`" + ` ON ` + "`" + `system_stats` + "`" + ` (` + "`" + `system` + "`" + `)"
|
||||
],
|
||||
"listRule": "@request.auth.id != \"\"",
|
||||
"viewRule": null,
|
||||
"createRule": null,
|
||||
"updateRule": null,
|
||||
"deleteRule": null,
|
||||
"options": {}
|
||||
},
|
||||
{
|
||||
"id": "juohu4jipgc13v7",
|
||||
"created": "2024-07-07 16:09:57.976Z",
|
||||
"updated": "2024-10-12 18:55:51.623Z",
|
||||
"name": "container_stats",
|
||||
"type": "base",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "hutcu6ps",
|
||||
"name": "system",
|
||||
"type": "relation",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "2hz5ncl8tizk5nx",
|
||||
"cascadeDelete": true,
|
||||
"minSelect": null,
|
||||
"maxSelect": 1,
|
||||
"displayFields": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "r39hhnil",
|
||||
"name": "stats",
|
||||
"type": "json",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 2000000
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "vo7iuj96",
|
||||
"name": "type",
|
||||
"type": "select",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"1m",
|
||||
"10m",
|
||||
"20m",
|
||||
"120m",
|
||||
"480m"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [],
|
||||
"listRule": "@request.auth.id != \"\"",
|
||||
"viewRule": null,
|
||||
"createRule": null,
|
||||
"updateRule": null,
|
||||
"deleteRule": null,
|
||||
"options": {}
|
||||
},
|
||||
{
|
||||
"id": "_pb_users_auth_",
|
||||
"created": "2024-07-14 16:25:18.226Z",
|
||||
"updated": "2024-10-12 22:27:19.081Z",
|
||||
"name": "users",
|
||||
"type": "auth",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "qkbp58ae",
|
||||
"name": "role",
|
||||
"type": "select",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"user",
|
||||
"admin",
|
||||
"readonly"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "users_avatar",
|
||||
"name": "avatar",
|
||||
"type": "file",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"mimeTypes": [
|
||||
"image/jpeg",
|
||||
"image/png",
|
||||
"image/svg+xml",
|
||||
"image/gif",
|
||||
"image/webp"
|
||||
],
|
||||
"thumbs": null,
|
||||
"maxSelect": 1,
|
||||
"maxSize": 5242880,
|
||||
"protected": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [],
|
||||
"listRule": "id = @request.auth.id",
|
||||
"viewRule": "id = @request.auth.id",
|
||||
"createRule": null,
|
||||
"updateRule": null,
|
||||
"deleteRule": null,
|
||||
"options": {
|
||||
"allowEmailAuth": true,
|
||||
"allowOAuth2Auth": true,
|
||||
"allowUsernameAuth": false,
|
||||
"exceptEmailDomains": null,
|
||||
"manageRule": null,
|
||||
"minPasswordLength": 8,
|
||||
"onlyEmailDomains": null,
|
||||
"onlyVerified": true,
|
||||
"requireEmail": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "elngm8x1l60zi2v",
|
||||
"created": "2024-07-15 01:16:04.044Z",
|
||||
"updated": "2024-10-12 22:27:29.128Z",
|
||||
"name": "alerts",
|
||||
"type": "base",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "hn5ly3vi",
|
||||
"name": "user",
|
||||
"type": "relation",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "_pb_users_auth_",
|
||||
"cascadeDelete": true,
|
||||
"minSelect": null,
|
||||
"maxSelect": 1,
|
||||
"displayFields": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "g5sl3jdg",
|
||||
"name": "system",
|
||||
"type": "relation",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "2hz5ncl8tizk5nx",
|
||||
"cascadeDelete": true,
|
||||
"minSelect": null,
|
||||
"maxSelect": 1,
|
||||
"displayFields": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "zj3ingrv",
|
||||
"name": "name",
|
||||
"type": "select",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSelect": 1,
|
||||
"values": [
|
||||
"Status",
|
||||
"CPU",
|
||||
"Memory",
|
||||
"Disk",
|
||||
"Temperature",
|
||||
"Bandwidth"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "o2ablxvn",
|
||||
"name": "value",
|
||||
"type": "number",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"min": null,
|
||||
"max": null,
|
||||
"noDecimal": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "fstdehcq",
|
||||
"name": "min",
|
||||
"type": "number",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"min": null,
|
||||
"max": 60,
|
||||
"noDecimal": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "6hgdf6hs",
|
||||
"name": "triggered",
|
||||
"type": "bool",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {}
|
||||
}
|
||||
],
|
||||
"indexes": [],
|
||||
"listRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"viewRule": "",
|
||||
"createRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"updateRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"deleteRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"options": {}
|
||||
},
|
||||
{
|
||||
"id": "4afacsdnlu8q8r2",
|
||||
"created": "2024-09-12 17:42:55.324Z",
|
||||
"updated": "2024-10-12 18:55:51.624Z",
|
||||
"name": "user_settings",
|
||||
"type": "base",
|
||||
"system": false,
|
||||
"schema": [
|
||||
{
|
||||
"system": false,
|
||||
"id": "d5vztyxa",
|
||||
"name": "user",
|
||||
"type": "relation",
|
||||
"required": true,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"collectionId": "_pb_users_auth_",
|
||||
"cascadeDelete": false,
|
||||
"minSelect": null,
|
||||
"maxSelect": 1,
|
||||
"displayFields": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"system": false,
|
||||
"id": "xcx4qgqq",
|
||||
"name": "settings",
|
||||
"type": "json",
|
||||
"required": false,
|
||||
"presentable": false,
|
||||
"unique": false,
|
||||
"options": {
|
||||
"maxSize": 2000000
|
||||
}
|
||||
}
|
||||
],
|
||||
"indexes": [
|
||||
"CREATE UNIQUE INDEX ` + "`" + `idx_30Lwgf2` + "`" + ` ON ` + "`" + `user_settings` + "`" + ` (` + "`" + `user` + "`" + `)"
|
||||
],
|
||||
"listRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"viewRule": null,
|
||||
"createRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"updateRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||
"deleteRule": null,
|
||||
"options": {}
|
||||
}
|
||||
]`
|
||||
|
||||
collections := []*models.Collection{}
|
||||
if err := json.Unmarshal([]byte(jsonData), &collections); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return daos.New(db).ImportCollections(collections, true, nil)
|
||||
}, func(db dbx.Builder) error {
|
||||
return nil
|
||||
})
|
||||
}
|
||||
1258
beszel/migrations/1732489917_collections_snapshot.go
Normal file
@@ -1,19 +1,29 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
"github.com/pocketbase/dbx"
|
||||
"github.com/pocketbase/pocketbase/daos"
|
||||
"github.com/pocketbase/pocketbase/core"
|
||||
m "github.com/pocketbase/pocketbase/migrations"
|
||||
)
|
||||
|
||||
func init() {
|
||||
m.Register(func(db dbx.Builder) error {
|
||||
dao := daos.New(db)
|
||||
var (
|
||||
TempAdminEmail = "_@b.b"
|
||||
)
|
||||
|
||||
settings, _ := dao.FindSettings()
|
||||
func init() {
|
||||
m.Register(func(app core.App) error {
|
||||
// initial settings
|
||||
settings := app.Settings()
|
||||
settings.Meta.AppName = "Beszel"
|
||||
settings.Meta.HideControls = true
|
||||
|
||||
return dao.SaveSettings(settings)
|
||||
settings.Logs.MinLevel = 4
|
||||
if err := app.Save(settings); err != nil {
|
||||
return err
|
||||
}
|
||||
// create superuser
|
||||
collection, _ := app.FindCollectionByNameOrId(core.CollectionNameSuperusers)
|
||||
user := core.NewRecord(collection)
|
||||
user.SetEmail(TempAdminEmail)
|
||||
user.SetRandomPassword()
|
||||
return app.Save(user)
|
||||
}, nil)
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@ package site
|
||||
|
||||
import (
|
||||
"embed"
|
||||
|
||||
"github.com/labstack/echo/v5"
|
||||
"io/fs"
|
||||
)
|
||||
|
||||
//go:embed all:dist
|
||||
var assets embed.FS
|
||||
var distDir embed.FS
|
||||
|
||||
var Dist = echo.MustSubFS(assets, "dist")
|
||||
// DistDirFS contains the embedded dist directory files (without the "dist" prefix)
|
||||
var DistDirFS, _ = fs.Sub(distDir, "dist")
|
||||
|
||||
@@ -4,8 +4,11 @@ const config: LinguiConfig = {
|
||||
locales: [
|
||||
"en",
|
||||
"ar",
|
||||
"cs",
|
||||
"da",
|
||||
"de",
|
||||
"es",
|
||||
"fa",
|
||||
"fr",
|
||||
"hr",
|
||||
"it",
|
||||
@@ -16,6 +19,8 @@ const config: LinguiConfig = {
|
||||
"pt",
|
||||
"tr",
|
||||
"ru",
|
||||
"sl",
|
||||
"sv",
|
||||
"uk",
|
||||
"vi",
|
||||
"zh-CN",
|
||||
|
||||
1471
beszel/site/package-lock.json
generated
@@ -12,54 +12,54 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@henrygd/queue": "^1.0.7",
|
||||
"@lingui/detect-locale": "^4.13.0",
|
||||
"@lingui/macro": "^4.13.0",
|
||||
"@lingui/react": "^4.13.0",
|
||||
"@lingui/detect-locale": "^4.14.1",
|
||||
"@lingui/macro": "^4.14.1",
|
||||
"@lingui/react": "^4.14.1",
|
||||
"@nanostores/react": "^0.7.3",
|
||||
"@nanostores/router": "^0.11.0",
|
||||
"@radix-ui/react-alert-dialog": "^1.1.2",
|
||||
"@radix-ui/react-checkbox": "^1.1.2",
|
||||
"@radix-ui/react-dialog": "^1.1.2",
|
||||
"@radix-ui/react-alert-dialog": "^1.1.4",
|
||||
"@radix-ui/react-checkbox": "^1.1.3",
|
||||
"@radix-ui/react-dialog": "^1.1.4",
|
||||
"@radix-ui/react-direction": "^1.1.0",
|
||||
"@radix-ui/react-dropdown-menu": "^2.1.2",
|
||||
"@radix-ui/react-label": "^2.1.0",
|
||||
"@radix-ui/react-select": "^2.1.2",
|
||||
"@radix-ui/react-separator": "^1.1.0",
|
||||
"@radix-ui/react-slider": "^1.2.1",
|
||||
"@radix-ui/react-slot": "^1.1.0",
|
||||
"@radix-ui/react-switch": "^1.1.1",
|
||||
"@radix-ui/react-tabs": "^1.1.1",
|
||||
"@radix-ui/react-toast": "^1.2.2",
|
||||
"@radix-ui/react-tooltip": "^1.1.3",
|
||||
"@tanstack/react-table": "^8.20.5",
|
||||
"class-variance-authority": "^0.7.0",
|
||||
"@radix-ui/react-dropdown-menu": "^2.1.4",
|
||||
"@radix-ui/react-label": "^2.1.1",
|
||||
"@radix-ui/react-select": "^2.1.4",
|
||||
"@radix-ui/react-separator": "^1.1.1",
|
||||
"@radix-ui/react-slider": "^1.2.2",
|
||||
"@radix-ui/react-slot": "^1.1.1",
|
||||
"@radix-ui/react-switch": "^1.1.2",
|
||||
"@radix-ui/react-tabs": "^1.1.2",
|
||||
"@radix-ui/react-toast": "^1.2.4",
|
||||
"@radix-ui/react-tooltip": "^1.1.6",
|
||||
"@tanstack/react-table": "^8.20.6",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
"cmdk": "^1.0.0",
|
||||
"cmdk": "^1.0.4",
|
||||
"d3-time": "^3.1.0",
|
||||
"lucide-react": "^0.452.0",
|
||||
"nanostores": "^0.11.3",
|
||||
"pocketbase": "^0.21.5",
|
||||
"pocketbase": "^0.22.1",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"recharts": "^2.13.0",
|
||||
"tailwind-merge": "^2.5.4",
|
||||
"recharts": "^2.15.0",
|
||||
"tailwind-merge": "^2.5.5",
|
||||
"tailwindcss-animate": "^1.0.7",
|
||||
"valibot": "^0.36.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lingui/cli": "^4.13.0",
|
||||
"@lingui/cli": "^4.14.1",
|
||||
"@lingui/swc-plugin": "^4.1.0",
|
||||
"@lingui/vite-plugin": "^4.13.0",
|
||||
"@types/bun": "^1.1.11",
|
||||
"@types/react": "^18.3.11",
|
||||
"@types/react-dom": "^18.3.1",
|
||||
"@vitejs/plugin-react-swc": "^3.7.1",
|
||||
"@lingui/vite-plugin": "^4.14.1",
|
||||
"@types/bun": "^1.1.14",
|
||||
"@types/react": "^18.3.17",
|
||||
"@types/react-dom": "^18.3.5",
|
||||
"@vitejs/plugin-react-swc": "^3.7.2",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"postcss": "^8.4.47",
|
||||
"tailwindcss": "^3.4.14",
|
||||
"postcss": "^8.4.49",
|
||||
"tailwindcss": "^3.4.17",
|
||||
"tailwindcss-rtl": "^0.9.0",
|
||||
"typescript": "^5.6.3",
|
||||
"vite": "^5.4.9"
|
||||
"typescript": "^5.7.2",
|
||||
"vite": "^5.4.11"
|
||||
},
|
||||
"overrides": {
|
||||
"@nanostores/router": {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.2 6.9c-1 0-2.5-1-4-1-2 0-4 1.1-5 3-2 3.6-.5 9 1.5 12 1 1.5 2.3 3.2 3.8 3.1 1.6 0 2.1-1 4-1 1.8 0 2.3 1 4 1 1.6 0 2.6-1.5 3.6-3a13 13 0 0 0 1.7-3.4 5.3 5.3 0 0 1-.6-9.4 5.6 5.6 0 0 0-4.4-2.4C14.8 5.6 13 7 12.2 7zm3.3-3c.9-1 1.4-2.5 1.3-3.9-1.2 0-2.7.8-3.6 1.8A5 5 0 0 0 12 5.5c1.3.1 2.7-.7 3.5-1.7"/></svg>
|
||||
|
Before Width: | Height: | Size: 378 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M.8 1.2a.8.8 0 0 0-.8 1l3.3 19.7c0 .5.5.9 1 .9h15.6a.8.8 0 0 0 .8-.7l3.3-20a.8.8 0 0 0-.8-.9zm13.7 14.3h-5l-1.3-7h7.5z"/></svg>
|
||||
|
Before Width: | Height: | Size: 196 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.3 4.4a19.8 19.8 0 0 0-4.9-1.5L14.7 4C13 4 11.1 4 9.3 4.1L8.6 3a19.7 19.7 0 0 0-5 1.5C.6 9-.4 13.6.1 18.1c2 1.5 4 2.4 6 3h.1c.5-.6.9-1.3 1.2-2l-1.9-1V18l.4-.3c4 1.8 8.2 1.8 12.1 0h.1l.4.3v.1a12.3 12.3 0 0 1-2 1l1.3 2c2-.6 4-1.5 6-3h.1c.5-5.2-.8-9.7-3.6-13.7zM8 15.4c-1.2 0-2.1-1.2-2.1-2.5s1-2.4 2.1-2.4c1.2 0 2.2 1 2.2 2.4 0 1.3-1 2.4-2.2 2.4zm8 0c-1.2 0-2.2-1.2-2.2-2.5s1-2.4 2.2-2.4c1.2 0 2.2 1 2.2 2.4 0 1.3-1 2.4-2.2 2.4Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 506 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.1 23.7v-8H6.6V12h2.5v-1.5c0-4.1 1.8-6 5.9-6h1.4a8.7 8.7 0 0 1 1.2.3V8a8.6 8.6 0 0 0-.7 0 26.8 26.8 0 0 0-.7 0c-.7 0-1.3 0-1.7.3a1.7 1.7 0 0 0-.7.6c-.2.4-.3 1-.3 1.7V12h3.9l-.4 2.1-.3 1.6h-3.2V24a12 12 0 1 0-4.4-.3Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 295 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4.2 4.6a4.2 4.2 0 0 0-2.9 1.1C-.4 7.3 0 9.7.1 10.1c0 .4.3 1.6 1.2 2.7C3 15 6.8 15 6.8 15S7.3 16 8 17c1 1.3 2 2.3 2.9 2.4H18s.4 0 1-.4c.6-.3 1-.9 1-.9s.6-.5 1.3-1.7l.5-1s2.1-4.6 2.1-9c0-1.2-.4-1.5-.4-1.5l-.4-.2s-4.5.3-6.8.3h-1.5v4.5l-.6-.3V5h-3.5l-6-.4h-.6zm.4 1.8s.3 2.3.7 3.6c.2 1.1 1 3 1 3l-1.7-.3c-1-.4-1.4-.8-1.4-.8s-.8-.5-1.1-1.5c-.7-1.7 0-2.7 0-2.7s.2-.9 1.4-1.1c.4-.2.9-.2 1-.2zM12.9 9l.5.1.9.4-.6 1.1a.7.7 0 0 0-.6.4.7.7 0 0 0 .1.7l-1 2a.7.7 0 0 0-.6.5.7.7 0 0 0 .3.7.7.7 0 0 0 1-.2.7.7 0 0 0-.2-.8l1-2a.7.7 0 0 0 .2 0 .7.7 0 0 0 .3 0 8.8 8.8 0 0 1 1 .4.8.8 0 0 1 .3.3l-.1.6c0 .3-.7 1.5-.7 1.5a.7.7 0 0 0-.7.5.7.7 0 1 0 1.2-.2l.2-.5.5-1.1c0-.1.2-.4.1-.8a1 1 0 0 0-.5-.7l-1-.6-.1-.2a.7.7 0 0 0-.2-.3l.5-1 3 1.4s.4.2.5.6v.6L16 16.8s-.2.5-.7.5a1 1 0 0 1-.4 0h-.2L10.4 15s-.4-.2-.5-.6l.1-.7 2-4.2s.3-.4.5-.5A.9.9 0 0 1 13 9z"/></svg>
|
||||
|
Before Width: | Height: | Size: 907 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm6 5.3c.4 0 .7.3.7.6v1.5a.6.6 0 0 1-.6.6H9.8C8.8 8 8 8.8 8 9.8v5.6c0 .3.3.6.6.6h5.6c1 0 1.8-.8 1.8-1.8V14a.6.6 0 0 0-.6-.6h-4.1a.6.6 0 0 1-.6-.6v-1.4a.6.6 0 0 1 .6-.6H18c.3 0 .6.2.6.6v3.4a4 4 0 0 1-4 4H5.9a.6.6 0 0 1-.6-.6V9.8a4.4 4.4 0 0 1 4.5-4.5H18Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 406 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 .3a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.4-1.8-1.4-1.8-1-.7.1-.7.1-.7 1.2 0 1.9 1.2 1.9 1.2 1 1.8 2.8 1.3 3.5 1 0-.8.4-1.3.7-1.6-2.7-.3-5.5-1.3-5.5-6 0-1.2.5-2.3 1.3-3.1-.2-.4-.6-1.6 0-3.2 0 0 1-.3 3.4 1.2a11.5 11.5 0 0 1 6 0c2.3-1.5 3.3-1.2 3.3-1.2.6 1.6.2 2.8 0 3.2.9.8 1.3 1.9 1.3 3.2 0 4.6-2.8 5.6-5.5 5.9.5.4.9 1 .9 2.2v3.3c0 .3.1.7.8.6A12 12 0 0 0 12 .3"/></svg>
|
||||
|
Before Width: | Height: | Size: 470 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23.6 9.6 20.3 1a.9.9 0 0 0-.3-.4.9.9 0 0 0-1 0 .9.9 0 0 0-.3.5l-2.2 6.7h-9L5.3 1.1A.9.9 0 0 0 5 .6a.9.9 0 0 0-1 0 .9.9 0 0 0-.3.4L.4 9.5a6 6 0 0 0 2 7.1l5 3.8 2.5 1.8 1.5 1.1a1 1 0 0 0 1.2 0l1.5-1 2.5-2 5-3.7a6 6 0 0 0 2-7z"/></svg>
|
||||
|
Before Width: | Height: | Size: 302 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.5 11v3.2h7.8a7 7 0 0 1-1.8 4.1 8 8 0 0 1-6 2.4c-4.8 0-8.6-3.9-8.6-8.7a8.6 8.6 0 0 1 14.5-6.4l2.3-2.3C18.7 1.4 16 0 12.5 0 5.9 0 .3 5.4.3 12S6 24 12.5 24a11 11 0 0 0 8.4-3.4c2.1-2.1 2.8-5.2 2.8-7.6 0-.8 0-1.5-.2-2h-11z"/></svg>
|
||||
|
Before Width: | Height: | Size: 299 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 0C5.8.2 5 .4 4.1.7 3.3 1 2.7 1.4 2 2c-.7.7-1 1.4-1.4 2.2C.3 4.9.1 5.8.1 7a84.6 84.6 0 0 0 .5 12.8c.4.8.8 1.4 1.4 2.1.7.7 1.4 1 2.2 1.4.7.3 1.6.5 2.9.5a85 85 0 0 0 12.8-.5c.8-.4 1.4-.8 2.1-1.4.7-.7 1-1.4 1.4-2.2.3-.7.5-1.6.5-2.9a85 85 0 0 0-.5-12.8C23 3.3 22.6 2.7 22 2c-.7-.7-1.4-1-2.2-1.4-.7-.3-1.6-.5-2.9-.5A85.5 85.5 0 0 0 7 0m.2 21.7c-1.2 0-1.8-.3-2.3-.4-.5-.2-1-.5-1.3-1-.5-.3-.7-.7-1-1.3-.1-.4-.3-1-.4-2.2a84.8 84.8 0 0 1 .4-12c.2-.5.5-1 1-1.3.3-.5.7-.7 1.3-1 .4-.1 1-.3 2.2-.4a84.4 84.4 0 0 1 12 .4c.5.3 1 .5 1.3 1 .5.3.7.7 1 1.3.1.4.3 1 .4 2.2a82.7 82.7 0 0 1-.4 12c-.2.5-.5 1-1 1.3-.3.5-.7.7-1.3 1-.4.1-1 .3-2.2.4a84.9 84.9 0 0 1-9.7 0M17 5.6A1.4 1.4 0 1 0 18.4 4 1.4 1.4 0 0 0 17 5.6M5.8 12a6.2 6.2 0 1 0 12.4 0 6.2 6.2 0 0 0-12.4 0M8 12a4 4 0 1 1 4 4 4 4 0 0 1-4-4"/></svg>
|
||||
|
Before Width: | Height: | Size: 856 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.5.9 11 2.7v18.1c-4.1-.5-7.3-2.7-7.3-5.5 0-2.5 2.8-4.7 6.7-5.4V7.6C4.4 8.3 0 11.5 0 15.3c0 4 4.7 7.3 11 7.8l3.5-1.7V.9m.7 6.7V10c1.4.3 2.7.7 3.7 1.3l-2 1.1L24 14l-.5-5.2-1.9 1c-1.7-1-4-1.8-6.4-2z"/></svg>
|
||||
|
Before Width: | Height: | Size: 276 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M23 7.2c0-3-2.4-5.6-5.2-6.5-3.5-1.1-8.1-1-11.4.6-4 2-5.3 6-5.4 10.2C1 15 1.3 24 6.4 24c3.8 0 4.3-4.8 6-7.1 1.3-1.7 3-2.2 4.9-2.7a7.1 7.1 0 0 0 5.7-7Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 227 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.7 0 12 0zm5.5 17.3c-.2.4-.6.5-1 .3-2.8-1.8-6.4-2.1-10.6-1.2-.4.2-.7-.1-.9-.5 0-.4.2-.8.6-.9 4.5-1 8.5-.6 11.6 1.3.4.2.5.7.3 1zM19 14c-.3.5-.9.6-1.3.3-3.2-2-8.2-2.5-12-1.3-.4 0-1-.2-1-.6-.2-.5 0-1 .5-1.2 4.4-1.3 9.8-.6 13.5 1.6.4.2.6.8.3 1.2zm0-3.3A19.9 19.9 0 0 0 5.3 9.3c-.6.2-1.2-.2-1.4-.7-.2-.6.2-1.2.7-1.4 4.3-1.3 11.3-1 15.7 1.6.6.3.7 1 .4 1.6-.3.4-1 .6-1.5.3z"/></svg>
|
||||
|
Before Width: | Height: | Size: 495 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.4 18-2.1-4.2h-3l5 10.2 5.2-10.2h-3m-7-5.6 2.8 5.6h4.2L10.5 0l-7 13.8h4.1"/></svg>
|
||||
|
Before Width: | Height: | Size: 154 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.6 4.7h1.7V10h-1.7zm4.7 0H18V10h-1.7zM6 0 1.7 4.3v15.4H7V24l4.2-4.3h3.5l7.7-7.7V0zm14.6 11.1L17 14.6h-3.4l-3 3v-3H7V1.7h13.7Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 206 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M22.5 6c-.8.3-1.6.6-2.5.7.9-.5 1.6-1.4 1.9-2.4-.8.5-1.8.9-2.7 1a4.3 4.3 0 0 0-7.3 4C8.2 9 5 7.3 3 4.8a4.2 4.2 0 0 0 1.3 5.7c-.7 0-1.3-.2-2-.5 0 2.1 1.6 3.8 3.5 4.2a4.2 4.2 0 0 1-2 .1 4.3 4.3 0 0 0 4 3A8.5 8.5 0 0 1 2.7 19h-1A12.1 12.1 0 0 0 20.3 8.8v-.6c.8-.6 1.5-1.3 2-2.2"/></svg>
|
||||
|
Before Width: | Height: | Size: 371 B |
@@ -20,6 +20,7 @@ import { useStore } from "@nanostores/react"
|
||||
import { cn, copyToClipboard, isReadOnlyUser } from "@/lib/utils"
|
||||
import { navigate } from "./router"
|
||||
import { Trans } from "@lingui/macro"
|
||||
import { i18n } from "@lingui/core"
|
||||
|
||||
export function AddSystemButton({ className }: { className?: string }) {
|
||||
const [open, setOpen] = useState(false)
|
||||
@@ -43,16 +44,19 @@ export function AddSystemButton({ className }: { className?: string }) {
|
||||
}
|
||||
|
||||
function copyInstallCommand(port: string) {
|
||||
copyToClipboard(
|
||||
`curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-agent.sh -o install-agent.sh && chmod +x install-agent.sh && ./install-agent.sh -p ${port} -k "${publicKey}"`
|
||||
)
|
||||
let cmd = `curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-agent.sh -o install-agent.sh && chmod +x install-agent.sh && ./install-agent.sh -p ${port} -k "${publicKey}"`
|
||||
// add china mirrors flag if zh-CN
|
||||
if ((i18n.locale + navigator.language).includes("zh-CN")) {
|
||||
cmd += ` --china-mirrors`
|
||||
}
|
||||
copyToClipboard(cmd)
|
||||
}
|
||||
|
||||
async function handleSubmit(e: SubmitEvent) {
|
||||
e.preventDefault()
|
||||
const formData = new FormData(e.target as HTMLFormElement)
|
||||
const data = Object.fromEntries(formData) as Record<string, any>
|
||||
data.users = pb.authStore.model!.id
|
||||
data.users = pb.authStore.record!.id
|
||||
try {
|
||||
setOpen(false)
|
||||
await pb.collection("systems").create(data)
|
||||
|
||||
@@ -5,7 +5,6 @@ import { AlertInfo, AlertRecord, SystemRecord } from "@/types"
|
||||
import { lazy, Suspense, useRef, useState } from "react"
|
||||
import { toast } from "../ui/use-toast"
|
||||
import { RecordOptions } from "pocketbase"
|
||||
import { newQueue, Queue } from "@henrygd/queue"
|
||||
import { Trans, t, Plural } from "@lingui/macro"
|
||||
|
||||
interface AlertData {
|
||||
@@ -20,8 +19,6 @@ interface AlertData {
|
||||
|
||||
const Slider = lazy(() => import("@/components/ui/slider"))
|
||||
|
||||
let queue: Queue
|
||||
|
||||
const failedUpdateToast = () =>
|
||||
toast({
|
||||
title: t`Failed to update alert`,
|
||||
@@ -49,7 +46,7 @@ export function SystemAlert({
|
||||
} else if (checked) {
|
||||
pb.collection("alerts").create({
|
||||
system: system.id,
|
||||
user: pb.authStore.model!.id,
|
||||
user: pb.authStore.record!.id,
|
||||
name: data.key,
|
||||
value: value,
|
||||
min: min,
|
||||
@@ -88,11 +85,7 @@ export function SystemAlertGlobal({
|
||||
data.checked = false
|
||||
data.val = data.min = 0
|
||||
|
||||
data.updateAlert = (checked: boolean, value: number, min: number) => {
|
||||
if (!queue) {
|
||||
queue = newQueue(5)
|
||||
}
|
||||
|
||||
data.updateAlert = async (checked: boolean, value: number, min: number) => {
|
||||
const { set, populatedSet } = systemsWithExistingAlerts.current
|
||||
|
||||
// if overwrite checked, make sure all alerts will be overwritten
|
||||
@@ -105,48 +98,57 @@ export function SystemAlertGlobal({
|
||||
min,
|
||||
triggered: false,
|
||||
}
|
||||
for (let system of systems) {
|
||||
// if overwrite is false and system is in set (alert existed), skip
|
||||
if (!overwrite && set.has(system.id)) {
|
||||
continue
|
||||
}
|
||||
// find matching existing alert
|
||||
const existingAlert = alerts.find((alert) => alert.system === system.id && data.key === alert.name)
|
||||
// if first run, add system to set (alert already existed when global panel was opened)
|
||||
if (existingAlert && !populatedSet && !overwrite) {
|
||||
set.add(system.id)
|
||||
continue
|
||||
}
|
||||
const requestOptions: RecordOptions = {
|
||||
requestKey: system.id,
|
||||
}
|
||||
|
||||
// checked - make sure alert is created or updated
|
||||
if (checked) {
|
||||
if (existingAlert) {
|
||||
// console.log('updating', system.name)
|
||||
queue
|
||||
.add(() => pb.collection("alerts").update(existingAlert.id, recordData, requestOptions))
|
||||
.catch(failedUpdateToast)
|
||||
} else {
|
||||
// console.log('creating', system.name)
|
||||
queue
|
||||
.add(() =>
|
||||
pb.collection("alerts").create(
|
||||
{
|
||||
system: system.id,
|
||||
user: pb.authStore.model!.id,
|
||||
name: data.key,
|
||||
...recordData,
|
||||
},
|
||||
requestOptions
|
||||
)
|
||||
)
|
||||
.catch(failedUpdateToast)
|
||||
// we can only send 50 in one batch
|
||||
let done = 0
|
||||
|
||||
while (done < systems.length) {
|
||||
const batch = pb.createBatch()
|
||||
let batchSize = 0
|
||||
|
||||
for (let i = done; i < Math.min(done + 50, systems.length); i++) {
|
||||
const system = systems[i]
|
||||
// if overwrite is false and system is in set (alert existed), skip
|
||||
if (!overwrite && set.has(system.id)) {
|
||||
continue
|
||||
}
|
||||
} else if (existingAlert) {
|
||||
// console.log('deleting', system.name)
|
||||
queue.add(() => pb.collection("alerts").delete(existingAlert.id)).catch(failedUpdateToast)
|
||||
// find matching existing alert
|
||||
const existingAlert = alerts.find((alert) => alert.system === system.id && data.key === alert.name)
|
||||
// if first run, add system to set (alert already existed when global panel was opened)
|
||||
if (existingAlert && !populatedSet && !overwrite) {
|
||||
set.add(system.id)
|
||||
continue
|
||||
}
|
||||
batchSize++
|
||||
const requestOptions: RecordOptions = {
|
||||
requestKey: system.id,
|
||||
}
|
||||
|
||||
// checked - make sure alert is created or updated
|
||||
if (checked) {
|
||||
if (existingAlert) {
|
||||
batch.collection("alerts").update(existingAlert.id, recordData, requestOptions)
|
||||
} else {
|
||||
batch.collection("alerts").create(
|
||||
{
|
||||
system: system.id,
|
||||
user: pb.authStore.record!.id,
|
||||
name: data.key,
|
||||
...recordData,
|
||||
},
|
||||
requestOptions
|
||||
)
|
||||
}
|
||||
} else if (existingAlert) {
|
||||
batch.collection("alerts").delete(existingAlert.id)
|
||||
}
|
||||
}
|
||||
try {
|
||||
batchSize && batch.send()
|
||||
} catch (e) {
|
||||
failedUpdateToast()
|
||||
} finally {
|
||||
done += 50
|
||||
}
|
||||
}
|
||||
systemsWithExistingAlerts.current.populatedSet = true
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import {
|
||||
BookIcon,
|
||||
DatabaseBackupIcon,
|
||||
Github,
|
||||
LayoutDashboard,
|
||||
LockKeyholeIcon,
|
||||
LogsIcon,
|
||||
MailIcon,
|
||||
Server,
|
||||
@@ -115,16 +114,16 @@ export default function CommandPalette({ open, setOpen }: { open: boolean; setOp
|
||||
</CommandShortcut>
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
keywords={["github"]}
|
||||
keywords={["help", "oauth", "oidc"]}
|
||||
onSelect={() => {
|
||||
window.location.href = "https://github.com/henrygd/beszel/blob/main/readme.md"
|
||||
window.location.href = "https://beszel.dev/guide/what-is-beszel"
|
||||
}}
|
||||
>
|
||||
<Github className="me-2 h-4 w-4" />
|
||||
<BookIcon className="me-2 h-4 w-4" />
|
||||
<span>
|
||||
<Trans>Documentation</Trans>
|
||||
</span>
|
||||
<CommandShortcut>GitHub</CommandShortcut>
|
||||
<CommandShortcut>beszel.dev</CommandShortcut>
|
||||
</CommandItem>
|
||||
</CommandGroup>
|
||||
{isAdmin() && (
|
||||
@@ -174,21 +173,6 @@ export default function CommandPalette({ open, setOpen }: { open: boolean; setOp
|
||||
<Trans>Admin</Trans>
|
||||
</CommandShortcut>
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
keywords={["oauth", "oicd"]}
|
||||
onSelect={() => {
|
||||
setOpen(false)
|
||||
window.open("/_/#/settings/auth-providers", "_blank")
|
||||
}}
|
||||
>
|
||||
<LockKeyholeIcon className="me-2 h-4 w-4" />
|
||||
<span>
|
||||
<Trans>Auth Providers</Trans>
|
||||
</span>
|
||||
<CommandShortcut>
|
||||
<Trans>Admin</Trans>
|
||||
</CommandShortcut>
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
keywords={["email"]}
|
||||
onSelect={() => {
|
||||
|
||||
@@ -2,7 +2,7 @@ import { cn } from "@/lib/utils"
|
||||
import { buttonVariants } from "@/components/ui/button"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Label } from "@/components/ui/label"
|
||||
import { LoaderCircle, LockIcon, LogInIcon, MailIcon, UserIcon } from "lucide-react"
|
||||
import { LoaderCircle, LockIcon, LogInIcon, MailIcon } from "lucide-react"
|
||||
import { $authenticated, pb } from "@/lib/stores"
|
||||
import * as v from "valibot"
|
||||
import { toast } from "../ui/use-toast"
|
||||
@@ -14,7 +14,7 @@ import { Trans, t } from "@lingui/macro"
|
||||
|
||||
const honeypot = v.literal("")
|
||||
const emailSchema = v.pipe(v.string(), v.email(t`Invalid email address.`))
|
||||
const passwordSchema = v.pipe(v.string(), v.minLength(10, t`Password must be at least 10 characters.`))
|
||||
const passwordSchema = v.pipe(v.string(), v.minLength(8, t`Password must be at least 8 characters.`))
|
||||
|
||||
const LoginSchema = v.looseObject({
|
||||
name: honeypot,
|
||||
@@ -24,14 +24,6 @@ const LoginSchema = v.looseObject({
|
||||
|
||||
const RegisterSchema = v.looseObject({
|
||||
name: honeypot,
|
||||
username: v.pipe(
|
||||
v.string(),
|
||||
v.regex(
|
||||
/^(?=.*[a-zA-Z])[a-zA-Z0-9_-]+$/,
|
||||
"Invalid username. You may use alphanumeric characters, underscores, and hyphens."
|
||||
),
|
||||
v.minLength(3, "Username must be at least 3 characters long.")
|
||||
),
|
||||
email: emailSchema,
|
||||
password: passwordSchema,
|
||||
passwordConfirm: passwordSchema,
|
||||
@@ -63,6 +55,8 @@ export function UserAuthForm({
|
||||
async (e: React.FormEvent<HTMLFormElement>) => {
|
||||
e.preventDefault()
|
||||
setIsLoading(true)
|
||||
// store email for later use if mfa is enabled
|
||||
let email = ""
|
||||
try {
|
||||
const formData = new FormData(e.target as HTMLFormElement)
|
||||
const data = Object.fromEntries(formData) as Record<string, any>
|
||||
@@ -78,7 +72,8 @@ export function UserAuthForm({
|
||||
setErrors(errors)
|
||||
return
|
||||
}
|
||||
const { email, password, passwordConfirm, username } = result.output
|
||||
const { password, passwordConfirm } = result.output
|
||||
email = result.output.email
|
||||
if (isFirstRun) {
|
||||
// check that passwords match
|
||||
if (password !== passwordConfirm) {
|
||||
@@ -86,27 +81,27 @@ export function UserAuthForm({
|
||||
setErrors({ passwordConfirm: msg })
|
||||
return
|
||||
}
|
||||
await pb.admins.create({
|
||||
email,
|
||||
password,
|
||||
passwordConfirm: password,
|
||||
})
|
||||
await pb.admins.authWithPassword(email, password)
|
||||
await pb.collection("users").create({
|
||||
username,
|
||||
email,
|
||||
password,
|
||||
passwordConfirm: password,
|
||||
role: "admin",
|
||||
verified: true,
|
||||
await pb.send("/api/beszel/create-user", {
|
||||
method: "POST",
|
||||
body: JSON.stringify({ email, password }),
|
||||
})
|
||||
await pb.collection("users").authWithPassword(email, password)
|
||||
} else {
|
||||
await pb.collection("users").authWithPassword(email, password)
|
||||
}
|
||||
$authenticated.set(true)
|
||||
} catch (e) {
|
||||
} catch (err: any) {
|
||||
showLoginFaliedToast()
|
||||
// todo: implement MFA
|
||||
// const mfaId = err.response?.mfaId
|
||||
// if (!mfaId) {
|
||||
// showLoginFaliedToast()
|
||||
// throw err
|
||||
// }
|
||||
// the user needs to authenticate again with another auth method, for example OTP
|
||||
// const result = await pb.collection("users").requestOTP(email)
|
||||
// ... show a modal for users to check their email and to enter the received code ...
|
||||
// await pb.collection("users").authWithOTP(result.otpId, "EMAIL_CODE", { mfaId: mfaId })
|
||||
} finally {
|
||||
setIsLoading(false)
|
||||
}
|
||||
@@ -118,34 +113,15 @@ export function UserAuthForm({
|
||||
return null
|
||||
}
|
||||
|
||||
const oauthEnabled = authMethods.oauth2.enabled && authMethods.oauth2.providers.length > 0
|
||||
const passwordEnabled = authMethods.password.enabled
|
||||
|
||||
return (
|
||||
<div className={cn("grid gap-6", className)} {...props}>
|
||||
{authMethods.emailPassword && (
|
||||
{passwordEnabled && (
|
||||
<>
|
||||
<form onSubmit={handleSubmit} onChange={() => setErrors({})}>
|
||||
<div className="grid gap-2.5">
|
||||
{isFirstRun && (
|
||||
<div className="grid gap-1 relative">
|
||||
<UserIcon className="absolute left-3 top-3 h-4 w-4 text-muted-foreground" />
|
||||
<Label className="sr-only" htmlFor="username">
|
||||
<Trans>Username</Trans>
|
||||
</Label>
|
||||
<Input
|
||||
autoFocus={true}
|
||||
id="username"
|
||||
name="username"
|
||||
required
|
||||
placeholder={t`username`}
|
||||
type="username"
|
||||
autoCapitalize="none"
|
||||
autoComplete="username"
|
||||
autoCorrect="off"
|
||||
disabled={isLoading || isOauthLoading}
|
||||
className="ps-9"
|
||||
/>
|
||||
{errors?.username && <p className="px-1 text-xs text-red-600">{errors.username}</p>}
|
||||
</div>
|
||||
)}
|
||||
<div className="grid gap-1 relative">
|
||||
<MailIcon className="absolute left-3 top-3 h-4 w-4 text-muted-foreground" />
|
||||
<Label className="sr-only" htmlFor="email">
|
||||
@@ -155,7 +131,7 @@ export function UserAuthForm({
|
||||
id="email"
|
||||
name="email"
|
||||
required
|
||||
placeholder={isFirstRun ? t`email` : "name@example.com"}
|
||||
placeholder="name@example.com"
|
||||
type="email"
|
||||
autoCapitalize="none"
|
||||
autoComplete="email"
|
||||
@@ -178,7 +154,7 @@ export function UserAuthForm({
|
||||
type="password"
|
||||
autoComplete="current-password"
|
||||
disabled={isLoading || isOauthLoading}
|
||||
className="ps-9 lowercase"
|
||||
className="ps-9 placeholder:lowercase"
|
||||
/>
|
||||
{errors?.password && <p className="px-1 text-xs text-red-600">{errors.password}</p>}
|
||||
</div>
|
||||
@@ -196,7 +172,7 @@ export function UserAuthForm({
|
||||
type="password"
|
||||
autoComplete="current-password"
|
||||
disabled={isLoading || isOauthLoading}
|
||||
className="ps-9 lowercase"
|
||||
className="ps-9 placeholder:lowercase"
|
||||
/>
|
||||
{errors?.passwordConfirm && <p className="px-1 text-xs text-red-600">{errors.passwordConfirm}</p>}
|
||||
</div>
|
||||
@@ -204,7 +180,7 @@ export function UserAuthForm({
|
||||
<div className="sr-only">
|
||||
{/* honeypot */}
|
||||
<label htmlFor="name"></label>
|
||||
<input id="name" type="text" name="name" tabIndex={-1} />
|
||||
<input id="name" type="text" name="name" tabIndex={-1} autoComplete="off" />
|
||||
</div>
|
||||
<button className={cn(buttonVariants())} disabled={isLoading}>
|
||||
{isLoading ? (
|
||||
@@ -216,7 +192,7 @@ export function UserAuthForm({
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{(isFirstRun || authMethods.authProviders.length > 0) && (
|
||||
{(isFirstRun || oauthEnabled) && (
|
||||
// only show 'continue with' during onboarding or if we have auth providers
|
||||
<div className="relative">
|
||||
<div className="absolute inset-0 flex items-center">
|
||||
@@ -232,15 +208,15 @@ export function UserAuthForm({
|
||||
</>
|
||||
)}
|
||||
|
||||
{authMethods.authProviders.length > 0 && (
|
||||
{oauthEnabled && (
|
||||
<div className="grid gap-2 -mt-1">
|
||||
{authMethods.authProviders.map((provider) => (
|
||||
{authMethods.oauth2.providers.map((provider) => (
|
||||
<button
|
||||
key={provider.name}
|
||||
type="button"
|
||||
className={cn(buttonVariants({ variant: "outline" }), {
|
||||
"justify-self-center": !authMethods.emailPassword,
|
||||
"px-5": !authMethods.emailPassword,
|
||||
"justify-self-center": !passwordEnabled,
|
||||
"px-5": !passwordEnabled,
|
||||
})}
|
||||
onClick={() => {
|
||||
setIsOauthLoading(true)
|
||||
@@ -279,8 +255,8 @@ export function UserAuthForm({
|
||||
<LoaderCircle className="me-2 h-4 w-4 animate-spin" />
|
||||
) : (
|
||||
<img
|
||||
className="me-2 h-4 w-4 dark:invert"
|
||||
src={`/static/${provider.name}.svg`}
|
||||
className="me-2 h-4 w-4 dark:brightness-0 dark:invert"
|
||||
src={`/_/images/oauth2/${provider.name}.svg`}
|
||||
alt=""
|
||||
onError={(e) => {
|
||||
e.currentTarget.src = "/static/lock.svg"
|
||||
@@ -293,12 +269,12 @@ export function UserAuthForm({
|
||||
</div>
|
||||
)}
|
||||
|
||||
{!authMethods.authProviders.length && isFirstRun && (
|
||||
{!oauthEnabled && isFirstRun && (
|
||||
// only show GitHub button / dialog during onboarding
|
||||
<Dialog>
|
||||
<DialogTrigger asChild>
|
||||
<button type="button" className={cn(buttonVariants({ variant: "outline" }))}>
|
||||
<img className="me-2 h-4 w-4 dark:invert" src="/static/github.svg" alt="" />
|
||||
<img className="me-2 h-4 w-4 dark:invert" src="/_/images/oauth2/github.svg" alt="" />
|
||||
<span className="translate-y-[1px]">GitHub</span>
|
||||
</button>
|
||||
</DialogTrigger>
|
||||
@@ -316,7 +292,7 @@ export function UserAuthForm({
|
||||
<Trans>
|
||||
Please see{" "}
|
||||
<a
|
||||
href="https://github.com/henrygd/beszel/blob/main/readme.md#oauth--oidc-integration"
|
||||
href="https://beszel.dev/guide/oauth"
|
||||
className={cn(buttonVariants({ variant: "link" }), "p-0 h-auto")}
|
||||
>
|
||||
the documentation
|
||||
@@ -329,7 +305,7 @@ export function UserAuthForm({
|
||||
</Dialog>
|
||||
)}
|
||||
|
||||
{authMethods.emailPassword && !isFirstRun && (
|
||||
{passwordEnabled && !isFirstRun && (
|
||||
<Link
|
||||
href="/forgot-password"
|
||||
className="text-sm mx-auto hover:text-brand underline underline-offset-4 opacity-70 hover:opacity-100 transition-opacity"
|
||||
|
||||
@@ -2,7 +2,6 @@ import { useState, lazy, Suspense } from "react"
|
||||
import { Button, buttonVariants } from "@/components/ui/button"
|
||||
import {
|
||||
DatabaseBackupIcon,
|
||||
LockKeyholeIcon,
|
||||
LogOutIcon,
|
||||
LogsIcon,
|
||||
SearchIcon,
|
||||
@@ -58,7 +57,7 @@ export default function Navbar() {
|
||||
</button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align={isReadOnlyUser() ? "end" : "center"} className="min-w-44">
|
||||
<DropdownMenuLabel>{pb.authStore.model?.email}</DropdownMenuLabel>
|
||||
<DropdownMenuLabel>{pb.authStore.record?.email}</DropdownMenuLabel>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuGroup>
|
||||
{isAdmin() && (
|
||||
@@ -95,14 +94,6 @@ export default function Navbar() {
|
||||
</span>
|
||||
</a>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem asChild>
|
||||
<a href="/_/#/settings/auth-providers" target="_blank">
|
||||
<LockKeyholeIcon className="me-2.5 h-4 w-4" />
|
||||
<span>
|
||||
<Trans>Auth Providers</Trans>
|
||||
</span>
|
||||
</a>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
</>
|
||||
)}
|
||||
|
||||
@@ -18,7 +18,6 @@ export default function Home() {
|
||||
const alerts = useStore($alerts)
|
||||
const systems = useStore($systems)
|
||||
|
||||
// todo: maybe remove active alert if changed
|
||||
const activeAlerts = useMemo(() => {
|
||||
const activeAlerts = alerts.filter((alert) => {
|
||||
const active = alert.triggered && alert.name in alertInfo
|
||||
|
||||
@@ -193,7 +193,7 @@ const ShoutrrrUrlCard = ({ url, onUrlChange, onRemove }: ShoutrrrUrlCardProps) =
|
||||
}
|
||||
|
||||
return (
|
||||
<Card className="bg-muted/70 p-2 md:p-3">
|
||||
<Card className="bg-muted/40 p-2 md:p-3">
|
||||
<div className="flex items-center gap-1">
|
||||
<Input
|
||||
type="url"
|
||||
|
||||
@@ -21,6 +21,9 @@ import {
|
||||
DropdownMenuCheckboxItem,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuLabel,
|
||||
DropdownMenuRadioGroup,
|
||||
DropdownMenuRadioItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/components/ui/dropdown-menu"
|
||||
@@ -50,24 +53,32 @@ import {
|
||||
HardDriveIcon,
|
||||
ServerIcon,
|
||||
CpuIcon,
|
||||
ChevronDownIcon,
|
||||
LayoutGridIcon,
|
||||
LayoutListIcon,
|
||||
ArrowDownIcon,
|
||||
ArrowUpIcon,
|
||||
Settings2Icon,
|
||||
EyeIcon,
|
||||
} from "lucide-react"
|
||||
import { useEffect, useMemo, useState } from "react"
|
||||
import { $hubVersion, $systems, pb } from "@/lib/stores"
|
||||
import { useStore } from "@nanostores/react"
|
||||
import { cn, copyToClipboard, decimalString, isReadOnlyUser, useLocalStorage } from "@/lib/utils"
|
||||
import AlertsButton from "../alerts/alert-button"
|
||||
import { navigate } from "../router"
|
||||
import { Link, navigate } from "../router"
|
||||
import { EthernetIcon } from "../ui/icons"
|
||||
import { Trans, t } from "@lingui/macro"
|
||||
import { useLingui } from "@lingui/react"
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../ui/card"
|
||||
import { Input } from "../ui/input"
|
||||
import { ClassValue } from "clsx"
|
||||
|
||||
type ViewMode = "table" | "grid"
|
||||
|
||||
function CellFormatter(info: CellContext<SystemRecord, unknown>) {
|
||||
const val = info.getValue() as number
|
||||
return (
|
||||
<div className="flex gap-1 items-center tabular-nums tracking-tight">
|
||||
<div className="flex gap-2 items-center tabular-nums tracking-tight">
|
||||
<span className="min-w-[3.5em]">{decimalString(val, 1)}%</span>
|
||||
<span className="grow min-w-10 block bg-muted h-[1em] relative rounded-sm overflow-hidden">
|
||||
<span
|
||||
@@ -75,23 +86,26 @@ function CellFormatter(info: CellContext<SystemRecord, unknown>) {
|
||||
"absolute inset-0 w-full h-full origin-left",
|
||||
(val < 65 && "bg-green-500") || (val < 90 && "bg-yellow-500") || "bg-red-600"
|
||||
)}
|
||||
style={{ transform: `scalex(${val}%)` }}
|
||||
style={{
|
||||
transform: `scalex(${val / 100})`,
|
||||
}}
|
||||
></span>
|
||||
</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
function sortableHeader(column: Column<SystemRecord, unknown>, Icon: any, hideSortIcon = false) {
|
||||
function sortableHeader(column: Column<SystemRecord, unknown>, hideSortIcon = false) {
|
||||
return (
|
||||
<Button
|
||||
variant="ghost"
|
||||
className="h-9 px-3 flex"
|
||||
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
|
||||
>
|
||||
<Icon className="me-2 h-4 w-4" />
|
||||
{/* @ts-ignore */}
|
||||
{column.columnDef?.icon && <column.columnDef.icon className="me-2 size-4" />}
|
||||
{column.id}
|
||||
{!hideSortIcon && <ArrowUpDownIcon className="ms-2 h-4 w-4" />}
|
||||
{!hideSortIcon && <ArrowUpDownIcon className="ms-2 size-4" />}
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
@@ -100,9 +114,10 @@ export default function SystemsTable() {
|
||||
const data = useStore($systems)
|
||||
const hubVersion = useStore($hubVersion)
|
||||
const [filter, setFilter] = useState<string>()
|
||||
const [sorting, setSorting] = useState<SortingState>([])
|
||||
const [sorting, setSorting] = useState<SortingState>([{ id: t`System`, desc: false }])
|
||||
const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])
|
||||
const [columnVisibility, setColumnVisibility] = useLocalStorage<VisibilityState>("cols", {})
|
||||
const [viewMode, setViewMode] = useLocalStorage<ViewMode>("viewMode", window.innerWidth > 1024 ? "table" : "grid")
|
||||
const { i18n } = useLingui()
|
||||
|
||||
useEffect(() => {
|
||||
@@ -120,64 +135,64 @@ export default function SystemsTable() {
|
||||
accessorKey: "name",
|
||||
id: t`System`,
|
||||
enableHiding: false,
|
||||
cell: (info) => {
|
||||
const { status } = info.row.original
|
||||
return (
|
||||
<span className="flex gap-0.5 items-center text-base md:pe-5">
|
||||
<span
|
||||
className={cn("w-2 h-2 left-0 rounded-full", {
|
||||
"bg-green-500": status === "up",
|
||||
"bg-red-500": status === "down",
|
||||
"bg-primary/40": status === "paused",
|
||||
"bg-yellow-500": status === "pending",
|
||||
})}
|
||||
style={{ marginBottom: "-1px" }}
|
||||
></span>
|
||||
<Button
|
||||
data-nolink
|
||||
variant={"ghost"}
|
||||
className="text-primary/90 h-7 px-1.5 gap-1.5"
|
||||
onClick={() => copyToClipboard(info.getValue() as string)}
|
||||
>
|
||||
{info.getValue() as string}
|
||||
<CopyIcon className="h-2.5 w-2.5" />
|
||||
</Button>
|
||||
</span>
|
||||
)
|
||||
},
|
||||
header: ({ column }) => sortableHeader(column, ServerIcon),
|
||||
icon: ServerIcon,
|
||||
cell: (info) => (
|
||||
<span className="flex gap-0.5 items-center text-base md:pe-5">
|
||||
<IndicatorDot system={info.row.original} />
|
||||
<Button
|
||||
data-nolink
|
||||
variant={"ghost"}
|
||||
className="text-primary/90 h-7 px-1.5 gap-1.5"
|
||||
onClick={() => copyToClipboard(info.getValue() as string)}
|
||||
>
|
||||
{info.getValue() as string}
|
||||
<CopyIcon className="h-2.5 w-2.5" />
|
||||
</Button>
|
||||
</span>
|
||||
),
|
||||
header: ({ column }) => sortableHeader(column),
|
||||
},
|
||||
{
|
||||
accessorKey: "info.cpu",
|
||||
id: t`CPU`,
|
||||
invertSorting: true,
|
||||
cell: CellFormatter,
|
||||
header: ({ column }) => sortableHeader(column, CpuIcon),
|
||||
icon: CpuIcon,
|
||||
header: ({ column }) => sortableHeader(column),
|
||||
},
|
||||
{
|
||||
accessorKey: "info.mp",
|
||||
id: t`Memory`,
|
||||
invertSorting: true,
|
||||
cell: CellFormatter,
|
||||
header: ({ column }) => sortableHeader(column, MemoryStickIcon),
|
||||
icon: MemoryStickIcon,
|
||||
header: ({ column }) => sortableHeader(column),
|
||||
},
|
||||
{
|
||||
accessorKey: "info.dp",
|
||||
id: t`Disk`,
|
||||
invertSorting: true,
|
||||
cell: CellFormatter,
|
||||
header: ({ column }) => sortableHeader(column, HardDriveIcon),
|
||||
icon: HardDriveIcon,
|
||||
header: ({ column }) => sortableHeader(column),
|
||||
},
|
||||
{
|
||||
accessorFn: (originalRow) => originalRow.info.b || 0,
|
||||
id: t`Net`,
|
||||
invertSorting: true,
|
||||
size: 115,
|
||||
header: ({ column }) => sortableHeader(column, EthernetIcon),
|
||||
cell: (info) => {
|
||||
icon: EthernetIcon,
|
||||
header: ({ column }) => sortableHeader(column),
|
||||
cell(info) {
|
||||
const val = info.getValue() as number
|
||||
return (
|
||||
<span className="tabular-nums whitespace-nowrap ps-1">{decimalString(val, val >= 100 ? 1 : 2)} MB/s</span>
|
||||
<span
|
||||
className={cn("tabular-nums whitespace-nowrap", {
|
||||
"ps-1": viewMode === "table",
|
||||
})}
|
||||
>
|
||||
{decimalString(val, val >= 100 ? 1 : 2)} MB/s
|
||||
</span>
|
||||
)
|
||||
},
|
||||
},
|
||||
@@ -186,18 +201,23 @@ export default function SystemsTable() {
|
||||
id: t`Agent`,
|
||||
invertSorting: true,
|
||||
size: 50,
|
||||
header: ({ column }) => sortableHeader(column, WifiIcon, true),
|
||||
cell: (info) => {
|
||||
icon: WifiIcon,
|
||||
header: ({ column }) => sortableHeader(column, true),
|
||||
cell(info) {
|
||||
const version = info.getValue() as string
|
||||
if (!version || !hubVersion) {
|
||||
return null
|
||||
}
|
||||
return (
|
||||
<span className="flex gap-2 items-center md:pe-5 tabular-nums ps-1">
|
||||
<span
|
||||
className={cn("w-2 h-2 left-0 rounded-full", version === hubVersion ? "bg-green-500" : "bg-yellow-500")}
|
||||
style={{ marginBottom: "-1px" }}
|
||||
></span>
|
||||
<span
|
||||
className={cn("flex gap-2 items-center md:pe-5 tabular-nums", {
|
||||
"ps-1": viewMode === "table",
|
||||
})}
|
||||
>
|
||||
<IndicatorDot
|
||||
system={info.row.original}
|
||||
className={version === hubVersion ? "bg-green-500" : "bg-yellow-500"}
|
||||
/>
|
||||
<span>{info.getValue() as string}</span>
|
||||
</span>
|
||||
)
|
||||
@@ -206,83 +226,12 @@ export default function SystemsTable() {
|
||||
{
|
||||
id: t({ message: "Actions", comment: "Table column" }),
|
||||
size: 120,
|
||||
cell: ({ row }) => {
|
||||
const { id, name, status, host } = row.original
|
||||
return (
|
||||
<div className={"flex justify-end items-center gap-1"}>
|
||||
<AlertsButton system={row.original} />
|
||||
<AlertDialog>
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger asChild>
|
||||
<Button variant="ghost" size={"icon"} data-nolink>
|
||||
<span className="sr-only">
|
||||
<Trans>Open menu</Trans>
|
||||
</span>
|
||||
<MoreHorizontalIcon className="w-5" />
|
||||
</Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align="end">
|
||||
<DropdownMenuItem
|
||||
className={cn(isReadOnlyUser() && "hidden")}
|
||||
onClick={() => {
|
||||
pb.collection("systems").update(id, {
|
||||
status: status === "paused" ? "pending" : "paused",
|
||||
})
|
||||
}}
|
||||
>
|
||||
{status === "paused" ? (
|
||||
<>
|
||||
<PlayCircleIcon className="me-2.5 h-4 w-4" />
|
||||
<Trans>Resume</Trans>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<PauseCircleIcon className="me-2.5 h-4 w-4" />
|
||||
<Trans>Pause</Trans>
|
||||
</>
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem onClick={() => copyToClipboard(host)}>
|
||||
<CopyIcon className="me-2.5 h-4 w-4" />
|
||||
<Trans>Copy host</Trans>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuSeparator className={cn(isReadOnlyUser() && "hidden")} />
|
||||
<AlertDialogTrigger asChild>
|
||||
<DropdownMenuItem className={cn(isReadOnlyUser() && "hidden")}>
|
||||
<Trash2Icon className="me-2.5 h-4 w-4" />
|
||||
<Trans>Delete</Trans>
|
||||
</DropdownMenuItem>
|
||||
</AlertDialogTrigger>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
<AlertDialogContent>
|
||||
<AlertDialogHeader>
|
||||
<AlertDialogTitle>
|
||||
<Trans>Are you sure you want to delete {name}?</Trans>
|
||||
</AlertDialogTitle>
|
||||
<AlertDialogDescription>
|
||||
<Trans>
|
||||
This action cannot be undone. This will permanently delete all current records for {name} from
|
||||
the database.
|
||||
</Trans>
|
||||
</AlertDialogDescription>
|
||||
</AlertDialogHeader>
|
||||
<AlertDialogFooter>
|
||||
<AlertDialogCancel>
|
||||
<Trans>Cancel</Trans>
|
||||
</AlertDialogCancel>
|
||||
<AlertDialogAction
|
||||
className={cn(buttonVariants({ variant: "destructive" }))}
|
||||
onClick={() => pb.collection("systems").delete(id)}
|
||||
>
|
||||
<Trans>Continue</Trans>
|
||||
</AlertDialogAction>
|
||||
</AlertDialogFooter>
|
||||
</AlertDialogContent>
|
||||
</AlertDialog>
|
||||
</div>
|
||||
)
|
||||
},
|
||||
cell: ({ row }) => (
|
||||
<div className="flex justify-end items-center gap-1">
|
||||
<AlertsButton system={row.original} />
|
||||
<ActionsButton system={row.original} />
|
||||
</div>
|
||||
),
|
||||
},
|
||||
] as ColumnDef<SystemRecord>[]
|
||||
}, [hubVersion, i18n.locale])
|
||||
@@ -325,86 +274,320 @@ export default function SystemsTable() {
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger asChild>
|
||||
<Button variant="outline">
|
||||
<Trans comment="Context: table columns">Columns</Trans>{" "}
|
||||
<ChevronDownIcon className="ms-1.5 h-4 w-4 opacity-90" />
|
||||
<Settings2Icon className="me-1.5 size-4 opacity-80" />
|
||||
<Trans>View</Trans>
|
||||
</Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align="end">
|
||||
{table
|
||||
.getAllColumns()
|
||||
.filter((column) => column.getCanHide())
|
||||
.map((column) => {
|
||||
return (
|
||||
<DropdownMenuCheckboxItem
|
||||
key={column.id}
|
||||
checked={column.getIsVisible()}
|
||||
onCheckedChange={(value) => column.toggleVisibility(!!value)}
|
||||
>
|
||||
{column.id}
|
||||
</DropdownMenuCheckboxItem>
|
||||
)
|
||||
})}
|
||||
<DropdownMenuContent align="end" className="h-72 md:h-auto min-w-48 md:min-w-auto overflow-y-auto">
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 divide-y md:divide-s md:divide-y-0">
|
||||
<div>
|
||||
<DropdownMenuLabel className="pt-2 px-3.5 flex items-center gap-2">
|
||||
<LayoutGridIcon className="size-4" />
|
||||
<Trans>Layout</Trans>
|
||||
</DropdownMenuLabel>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuRadioGroup
|
||||
className="px-1 pb-1"
|
||||
value={viewMode}
|
||||
onValueChange={(view) => setViewMode(view as ViewMode)}
|
||||
>
|
||||
<DropdownMenuRadioItem value="table" onSelect={(e) => e.preventDefault()} className="gap-2">
|
||||
<LayoutListIcon className="size-4" />
|
||||
<Trans>Table</Trans>
|
||||
</DropdownMenuRadioItem>
|
||||
<DropdownMenuRadioItem value="grid" onSelect={(e) => e.preventDefault()} className="gap-2">
|
||||
<LayoutGridIcon className="size-4" />
|
||||
<Trans>Grid</Trans>
|
||||
</DropdownMenuRadioItem>
|
||||
</DropdownMenuRadioGroup>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<DropdownMenuLabel className="pt-2 px-3.5 flex items-center gap-2">
|
||||
<ArrowUpDownIcon className="size-4" />
|
||||
<Trans>Sort By</Trans>
|
||||
</DropdownMenuLabel>
|
||||
<DropdownMenuSeparator />
|
||||
<div className="px-1 pb-1">
|
||||
{table.getAllColumns().map((column) => {
|
||||
if (column.id === t`Actions` || !column.getCanSort()) return null
|
||||
let Icon = <span className="w-6"></span>
|
||||
// if current sort column, show sort direction
|
||||
if (sorting[0]?.id === column.id) {
|
||||
if (sorting[0]?.desc) {
|
||||
Icon = <ArrowUpIcon className="me-2 size-4" />
|
||||
} else {
|
||||
Icon = <ArrowDownIcon className="me-2 size-4" />
|
||||
}
|
||||
}
|
||||
return (
|
||||
<DropdownMenuItem
|
||||
onSelect={(e) => {
|
||||
e.preventDefault()
|
||||
setSorting([{ id: column.id, desc: sorting[0]?.id === column.id && !sorting[0]?.desc }])
|
||||
}}
|
||||
key={column.id}
|
||||
>
|
||||
{Icon}
|
||||
{column.id}
|
||||
</DropdownMenuItem>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<DropdownMenuLabel className="pt-2 px-3.5 flex items-center gap-2">
|
||||
<EyeIcon className="size-4" />
|
||||
<Trans>Visible Fields</Trans>
|
||||
</DropdownMenuLabel>
|
||||
<DropdownMenuSeparator />
|
||||
<div className="px-1.5 pb-1">
|
||||
{table
|
||||
.getAllColumns()
|
||||
.filter((column) => column.getCanHide())
|
||||
.map((column) => {
|
||||
return (
|
||||
<DropdownMenuCheckboxItem
|
||||
key={column.id}
|
||||
onSelect={(e) => e.preventDefault()}
|
||||
checked={column.getIsVisible()}
|
||||
onCheckedChange={(value) => column.toggleVisibility(!!value)}
|
||||
>
|
||||
{column.id}
|
||||
</DropdownMenuCheckboxItem>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
</div>
|
||||
</div>
|
||||
</CardHeader>
|
||||
<CardContent className="max-sm:p-2">
|
||||
<div className="rounded-md border overflow-hidden">
|
||||
<Table>
|
||||
<TableHeader>
|
||||
{table.getHeaderGroups().map((headerGroup) => (
|
||||
<TableRow key={headerGroup.id}>
|
||||
{headerGroup.headers.map((header) => {
|
||||
return (
|
||||
<TableHead className="px-2" key={header.id}>
|
||||
{header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
|
||||
</TableHead>
|
||||
)
|
||||
})}
|
||||
</TableRow>
|
||||
))}
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{table.getRowModel().rows?.length ? (
|
||||
table.getRowModel().rows.map((row) => (
|
||||
<TableRow
|
||||
key={row.original.id}
|
||||
data-state={row.getIsSelected() && "selected"}
|
||||
className={cn("cursor-pointer transition-opacity", {
|
||||
"opacity-50": row.original.status === "paused",
|
||||
<div className="p-6 pt-0 max-sm:py-3 max-sm:px-2">
|
||||
{viewMode === "table" ? (
|
||||
// table layout
|
||||
<div className="rounded-md border overflow-hidden">
|
||||
<Table>
|
||||
<TableHeader>
|
||||
{table.getHeaderGroups().map((headerGroup) => (
|
||||
<TableRow key={headerGroup.id}>
|
||||
{headerGroup.headers.map((header) => {
|
||||
return (
|
||||
<TableHead className="px-2" key={header.id}>
|
||||
{header.isPlaceholder
|
||||
? null
|
||||
: flexRender(header.column.columnDef.header, header.getContext())}
|
||||
</TableHead>
|
||||
)
|
||||
})}
|
||||
onClick={(e) => {
|
||||
const target = e.target as HTMLElement
|
||||
if (!target.closest("[data-nolink]") && e.currentTarget.contains(target)) {
|
||||
navigate(`/system/${encodeURIComponent(row.original.name)}`)
|
||||
}
|
||||
}}
|
||||
>
|
||||
{row.getVisibleCells().map((cell) => (
|
||||
<TableCell
|
||||
key={cell.id}
|
||||
style={{
|
||||
width: cell.column.getSize() === Number.MAX_SAFE_INTEGER ? "auto" : cell.column.getSize(),
|
||||
}}
|
||||
className={cn("overflow-hidden relative", data.length > 10 ? "py-2" : "py-2.5")}
|
||||
>
|
||||
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
||||
</TableCell>
|
||||
))}
|
||||
</TableRow>
|
||||
))
|
||||
) : (
|
||||
<TableRow>
|
||||
<TableCell colSpan={columns.length} className="h-24 text-center">
|
||||
<Trans>No systems found.</Trans>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
)}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</div>
|
||||
</CardContent>
|
||||
))}
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
{table.getRowModel().rows?.length ? (
|
||||
table.getRowModel().rows.map((row) => (
|
||||
<TableRow
|
||||
key={row.original.id}
|
||||
data-state={row.getIsSelected() && "selected"}
|
||||
className={cn("cursor-pointer transition-opacity", {
|
||||
"opacity-50": row.original.status === "paused",
|
||||
})}
|
||||
onClick={(e) => {
|
||||
const target = e.target as HTMLElement
|
||||
if (!target.closest("[data-nolink]") && e.currentTarget.contains(target)) {
|
||||
navigate(`/system/${encodeURIComponent(row.original.name)}`)
|
||||
}
|
||||
}}
|
||||
>
|
||||
{row.getVisibleCells().map((cell) => (
|
||||
<TableCell
|
||||
key={cell.id}
|
||||
style={{
|
||||
width: cell.column.getSize() === Number.MAX_SAFE_INTEGER ? "auto" : cell.column.getSize(),
|
||||
}}
|
||||
className={cn("overflow-hidden relative", data.length > 10 ? "py-2" : "py-2.5")}
|
||||
>
|
||||
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
||||
</TableCell>
|
||||
))}
|
||||
</TableRow>
|
||||
))
|
||||
) : (
|
||||
<TableRow>
|
||||
<TableCell colSpan={columns.length} className="h-24 text-center">
|
||||
<Trans>No systems found.</Trans>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
)}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</div>
|
||||
) : (
|
||||
// grid layout
|
||||
<div className="grid gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3">
|
||||
{table.getRowModel().rows?.length ? (
|
||||
table.getRowModel().rows.map((row) => {
|
||||
const system = row.original
|
||||
const { status } = system
|
||||
return (
|
||||
<Card
|
||||
key={system.id}
|
||||
className={cn(
|
||||
"cursor-pointer hover:shadow-md transition-all bg-transparent w-full dark:border-border duration-200 relative",
|
||||
{
|
||||
"opacity-50": status === "paused",
|
||||
}
|
||||
)}
|
||||
>
|
||||
<CardHeader className="py-1 ps-5 pe-3 bg-muted/30 border-b border-border/60">
|
||||
<div className="flex items-center justify-between gap-2">
|
||||
<CardTitle className="text-base tracking-normal shrink-1 text-primary/90 flex items-center min-h-10 gap-2.5 min-w-0">
|
||||
<div className="flex items-center gap-2.5 min-w-0">
|
||||
<IndicatorDot system={system} />
|
||||
<CardTitle className="text-[.95em]/normal tracking-normal truncate text-primary/90">
|
||||
{system.name}
|
||||
</CardTitle>
|
||||
</div>
|
||||
</CardTitle>
|
||||
{table.getColumn(t`Actions`)?.getIsVisible() && (
|
||||
<div className="flex gap-1 flex-shrink-0 relative z-10">
|
||||
<AlertsButton system={system} />
|
||||
<ActionsButton system={system} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-2.5 text-sm px-5 pt-3.5 pb-4">
|
||||
{table.getAllColumns().map((column) => {
|
||||
if (!column.getIsVisible() || column.id === t`System` || column.id === t`Actions`) return null
|
||||
const cell = row.getAllCells().find((cell) => cell.column.id === column.id)
|
||||
if (!cell) return null
|
||||
return (
|
||||
<div key={column.id} className="flex items-center gap-3">
|
||||
{/* @ts-ignore */}
|
||||
{column.columnDef?.icon && (
|
||||
// @ts-ignore
|
||||
<column.columnDef.icon className="size-4 text-muted-foreground" />
|
||||
)}
|
||||
<div className="flex items-center gap-3 flex-1">
|
||||
<span className="text-muted-foreground min-w-16">{column.id}:</span>
|
||||
<div className="flex-1">{flexRender(cell.column.columnDef.cell, cell.getContext())}</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</CardContent>
|
||||
<Link
|
||||
href={`/system/${encodeURIComponent(row.original.name)}`}
|
||||
className="inset-0 absolute w-full h-full"
|
||||
>
|
||||
<span className="sr-only">{row.original.name}</span>
|
||||
</Link>
|
||||
</Card>
|
||||
)
|
||||
})
|
||||
) : (
|
||||
<div className="col-span-full text-center py-8">
|
||||
<Trans>No systems found.</Trans>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
|
||||
function IndicatorDot({ system, className }: { system: SystemRecord; className?: ClassValue }) {
|
||||
className ||= {
|
||||
"bg-green-500": system.status === "up",
|
||||
"bg-red-500": system.status === "down",
|
||||
"bg-primary/40": system.status === "paused",
|
||||
"bg-yellow-500": system.status === "pending",
|
||||
}
|
||||
return (
|
||||
<span
|
||||
className={cn("flex-shrink-0 size-2 rounded-full", className)}
|
||||
// style={{ marginBottom: "-1px" }}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
function ActionsButton({ system }: { system: SystemRecord }) {
|
||||
// const [opened, setOpened] = useState(false)
|
||||
const { id, status, host, name } = system
|
||||
return (
|
||||
<AlertDialog>
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger asChild>
|
||||
<Button variant="ghost" size={"icon"} data-nolink>
|
||||
<span className="sr-only">
|
||||
<Trans>Open menu</Trans>
|
||||
</span>
|
||||
<MoreHorizontalIcon className="w-5" />
|
||||
</Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align="end">
|
||||
<DropdownMenuItem
|
||||
className={cn(isReadOnlyUser() && "hidden")}
|
||||
onClick={() => {
|
||||
pb.collection("systems").update(id, {
|
||||
status: status === "paused" ? "pending" : "paused",
|
||||
})
|
||||
}}
|
||||
>
|
||||
{status === "paused" ? (
|
||||
<>
|
||||
<PlayCircleIcon className="me-2.5 size-4" />
|
||||
<Trans>Resume</Trans>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<PauseCircleIcon className="me-2.5 size-4" />
|
||||
<Trans>Pause</Trans>
|
||||
</>
|
||||
)}
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem onClick={() => copyToClipboard(host)}>
|
||||
<CopyIcon className="me-2.5 size-4" />
|
||||
<Trans>Copy host</Trans>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuSeparator className={cn(isReadOnlyUser() && "hidden")} />
|
||||
<AlertDialogTrigger asChild>
|
||||
<DropdownMenuItem className={cn(isReadOnlyUser() && "hidden")}>
|
||||
<Trash2Icon className="me-2.5 size-4" />
|
||||
<Trans>Delete</Trans>
|
||||
</DropdownMenuItem>
|
||||
</AlertDialogTrigger>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
<AlertDialogContent>
|
||||
<AlertDialogHeader>
|
||||
<AlertDialogTitle>
|
||||
<Trans>Are you sure you want to delete {name}?</Trans>
|
||||
</AlertDialogTitle>
|
||||
<AlertDialogDescription>
|
||||
<Trans>
|
||||
This action cannot be undone. This will permanently delete all current records for {name} from the
|
||||
database.
|
||||
</Trans>
|
||||
</AlertDialogDescription>
|
||||
</AlertDialogHeader>
|
||||
<AlertDialogFooter>
|
||||
<AlertDialogCancel>
|
||||
<Trans>Cancel</Trans>
|
||||
</AlertDialogCancel>
|
||||
<AlertDialogAction
|
||||
className={cn(buttonVariants({ variant: "destructive" }))}
|
||||
onClick={() => pb.collection("systems").delete(id)}
|
||||
>
|
||||
<Trans>Continue</Trans>
|
||||
</AlertDialogAction>
|
||||
</AlertDialogFooter>
|
||||
</AlertDialogContent>
|
||||
</AlertDialog>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
|
||||
.dark {
|
||||
color-scheme: dark;
|
||||
--background: 220 5.5% 9.5%;
|
||||
--background: 220 5.5% 9%;
|
||||
--foreground: 220 2% 97%;
|
||||
--card: 220 5.5% 11%;
|
||||
--card: 220 5.5% 10.5%;
|
||||
--card-foreground: 220 2% 97%;
|
||||
--popover: 220 5.5% 9.5%;
|
||||
--popover: 220 5.5% 9%;
|
||||
--popover-foreground: 220 2% 97%;
|
||||
--primary: 220 2% 96%;
|
||||
--primary-foreground: 220 4% 10%;
|
||||
|
||||
@@ -3,7 +3,7 @@ import { i18n } from "@lingui/core"
|
||||
import type { Messages } from "@lingui/core"
|
||||
import languages from "@/lib/languages"
|
||||
import { detect, fromUrl, fromStorage, fromNavigator } from "@lingui/detect-locale"
|
||||
import { messages as enMessages } from "../locales/en/en.ts"
|
||||
import { messages as enMessages } from "@/locales/en/en.ts"
|
||||
|
||||
// let locale = detect(fromUrl("lang"), fromStorage("lang"), fromNavigator(), "en")
|
||||
let locale = detect(fromStorage("lang"), fromNavigator(), "en")
|
||||
@@ -19,7 +19,7 @@ function activateLocale(locale: string, messages: Messages = enMessages) {
|
||||
i18n.activate(locale)
|
||||
document.documentElement.lang = locale
|
||||
localStorage.setItem("lang", locale)
|
||||
$direction.set(locale.startsWith("ar") ? "rtl" : "ltr")
|
||||
$direction.set(locale.startsWith("ar") || locale.startsWith("fa") ? "rtl" : "ltr")
|
||||
}
|
||||
|
||||
// dynamically loads translations for the given locale
|
||||
|
||||
@@ -4,6 +4,16 @@ export default [
|
||||
label: "العربية",
|
||||
e: "🇵🇸",
|
||||
},
|
||||
{
|
||||
lang: "cs",
|
||||
label: "Čeština",
|
||||
e: "🇨🇿",
|
||||
},
|
||||
{
|
||||
lang: "da",
|
||||
label: "Dansk",
|
||||
e: "🇩🇰",
|
||||
},
|
||||
{
|
||||
lang: "de",
|
||||
label: "Deutsch",
|
||||
@@ -19,6 +29,11 @@ export default [
|
||||
label: "Español",
|
||||
e: "🇲🇽",
|
||||
},
|
||||
{
|
||||
lang: "fa",
|
||||
label: "فارسی",
|
||||
e: "🇮🇷",
|
||||
},
|
||||
{
|
||||
lang: "fr",
|
||||
label: "Français",
|
||||
@@ -69,6 +84,16 @@ export default [
|
||||
label: "Русский",
|
||||
e: "🇷🇺",
|
||||
},
|
||||
{
|
||||
lang: "sl",
|
||||
label: "Slovenščina",
|
||||
e: "🇸🇮",
|
||||
},
|
||||
{
|
||||
lang: "sv",
|
||||
label: "Svenska",
|
||||
e: "🇸🇪",
|
||||
},
|
||||
{
|
||||
lang: "uk",
|
||||
label: "Українська",
|
||||
|
||||
@@ -26,7 +26,7 @@ export const $chartTime = atom("1h") as WritableAtom<ChartTimes>
|
||||
/** User settings */
|
||||
export const $userSettings = map<UserSettings>({
|
||||
chartTime: "1h",
|
||||
emails: [pb.authStore.model?.email || ""],
|
||||
emails: [pb.authStore.record?.email || ""],
|
||||
})
|
||||
// update local storage on change
|
||||
$userSettings.subscribe((value) => {
|
||||
|
||||
@@ -91,8 +91,8 @@ export const updateFavicon = (newIcon: string) => {
|
||||
;(document.querySelector("link[rel='icon']") as HTMLLinkElement).href = `/static/${newIcon}`
|
||||
}
|
||||
|
||||
export const isAdmin = () => pb.authStore.model?.role === "admin"
|
||||
export const isReadOnlyUser = () => pb.authStore.model?.role === "readonly"
|
||||
export const isAdmin = () => pb.authStore.record?.role === "admin"
|
||||
export const isReadOnlyUser = () => pb.authStore.record?.role === "readonly"
|
||||
|
||||
/** Update systems / alerts list when records change */
|
||||
export function updateRecordList<T extends RecordModel>(e: RecordSubscription<T>, $store: WritableAtom<T[]>) {
|
||||
@@ -251,7 +251,7 @@ export async function updateUserSettings() {
|
||||
}
|
||||
// create user settings if error fetching existing
|
||||
try {
|
||||
const createdSettings = await pb.collection("user_settings").create({ user: pb.authStore.model!.id })
|
||||
const createdSettings = await pb.collection("user_settings").create({ user: pb.authStore.record!.id })
|
||||
$userSettings.set(createdSettings.settings)
|
||||
} catch (e) {
|
||||
console.log("create settings", e)
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ar\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 يومًا"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "إجراءات"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "التنبيهات النشطة"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "إضافة <0>نظام</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "إضافة نظام جديد"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "إضافة نظام"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "إضافة عنوان URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "تعديل خيارات العرض للرسوم البيانية."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "مسؤول"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "وكيل"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "التنبيهات"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "جميع الأنظمة"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "هل أنت متأكد أنك تريد حذف {name}؟"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "مزودو المصادقة"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "النسخ التلقائي يتطلب سياقًا آمنًا."
|
||||
@@ -120,13 +117,13 @@ msgstr "متوسط"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "متوسط استخدام وحدة المعالجة المركزية للحاويات"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "المتوسط يتجاوز <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "متوسط استهلاك طاقة GPUs"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "متوسط استخدام وحدة المعالجة المركزية ع
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "متوسط استخدام {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "النسخ الاحتياطية"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "النسخ الاحتياطية"
|
||||
msgid "Bandwidth"
|
||||
msgstr "عرض النطاق الترددي"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "يدعم Beszel OpenID Connect والعديد من مزودي المصادقة OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "يدعم Beszel OpenID Connect والعديد من مزودي المصا
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "يستخدم Beszel <0>Shoutrrr</0> للتكامل مع خدمات الإشعارات الشهيرة."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "ثنائي"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "ثنائي"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "ذاكرة التخزين المؤقت / المخازن المؤقتة"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "إلغاء"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "تحقق من السجلات لمزيد من التفاصيل."
|
||||
msgid "Check your notification service"
|
||||
msgstr "تحقق من خدمة الإشعارات الخاصة بك"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "انقر للنسخ"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "أعمدة"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "تعليمات سطر الأوامر"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "قم بتكوين كيفية تلقي إشعارات التنبيه."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "تأكيد كلمة المرور"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "متابعة"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "متابعة"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "تم النسخ إلى الحافظة"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "نسخ"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "نسخ المضيف"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "نسخ أمر لينكس"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "نسخ أمر لينكس"
|
||||
msgid "Copy text"
|
||||
msgstr "نسخ النص"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "المعالج"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "المعالج"
|
||||
msgid "CPU Usage"
|
||||
msgstr "استخدام وحدة المعالجة المركزية"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "إنشاء حساب"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "إنشاء حساب"
|
||||
msgid "Dark"
|
||||
msgstr "داكن"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "لوحة التحكم"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "لوحة التحكم"
|
||||
msgid "Default time period"
|
||||
msgstr "الفترة الزمنية الافتراضية"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "القرص"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "استخدام الذاكرة لـ Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "إدخال/إخراج الشبكة لـ Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "التوثيق"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "البريد الإلكتروني"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "البريد الإلكتروني"
|
||||
@@ -324,13 +312,13 @@ msgstr "أدخل عنوان البريد الإلكتروني لإعادة تع
|
||||
msgid "Enter email address..."
|
||||
msgstr "أدخل عنوان البريد الإلكتروني..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "خطأ"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "يتجاوز {0}{1} في آخر {2, plural, one {# دقيقة} other {# دقائق}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "فشل في حفظ الإعدادات"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "فشل في إرسال إشعار الاختبار"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "فشل في تحديث التنبيه"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "تصفية..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "لمدة <0>{min}</0> {min, plural, one {دقيقة} other {دقائق}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "هل نسيت كلمة المرور؟"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "عام"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "استهلاك طاقة GPU"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "شبكة"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "مضيف / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "كيرنل"
|
||||
msgid "Language"
|
||||
msgstr "اللغة"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "التخطيط"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "فاتح"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "تسجيل الخروج"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "تسجيل الخروج"
|
||||
msgid "Login"
|
||||
msgstr "تسجيل الدخول"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "فشل محاولة تسجيل الدخول"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "السجلات"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "إدارة تفضيلات العرض والإشعارات."
|
||||
msgid "Max 1 min"
|
||||
msgstr "1 دقيقة كحد"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "الذاكرة"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "استخدام الذاكرة"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "استخدام الذاكرة لحاويات Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "الاسم"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "الشبكة"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "حركة مرور الشبكة لحاويات Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "حركة مرور الشبكة للواجهات العامة"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "لم يتم العثور على نتائج."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "لم يتم العثور على أنظمة."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "الإشعارات"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "دعم OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "دعم OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "في كل إعادة تشغيل، سيتم تحديث الأنظمة في قاعدة البيانات لتتطابق مع الأنظمة المعرفة في الملف."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "فتح القائمة"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "أو المتابعة باستخدام"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "أو المتابعة باستخدام"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "الكتابة فوق التنبيهات الحالية"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "صفحة"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "الصفحات / الإعدادات"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "كلمة المرور"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "يجب أن تكون كلمة المرور مكونة من 10 أحرف على الأقل."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "كلمة المرور يجب أن تتكون من 8 أحرف على الأقل."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "تم استلام طلب إعادة تعيين كلمة المرور"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "إيقاف مؤقت"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "إيقاف مؤقت"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "يرجى <0>تكوين خادم SMTP</0> لضمان تسليم التنبيهات."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "يرجى التحقق من السجلات لمزيد من التفاصيل."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "يرجى التحقق من بيانات الاعتماد الخاصة بك والمحاولة مرة أخرى"
|
||||
@@ -548,7 +545,7 @@ msgstr "يرجى التحقق من بيانات الاعتماد الخاصة ب
|
||||
msgid "Please create an admin account"
|
||||
msgstr "يرجى إنشاء حساب مسؤول"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "يرجى تمكين النوافذ المنبثقة لهذا الموقع"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "يرجى تمكين النوافذ المنبثقة لهذا الموق
|
||||
msgid "Please log in again"
|
||||
msgstr "يرجى تسجيل الدخول مرة أخرى"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "يرجى الاطلاع على <0>التوثيق</0> للحصول على التعليمات."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "يرجى الاطلاع على <0>التوثيق</0> للحصول على
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "يرجى تسجيل الدخول إلى حسابك"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "المنفذ"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "اللغة المفضلة"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "المفتاح العام"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "تم الاستلام"
|
||||
msgid "Reset Password"
|
||||
msgstr "إعادة تعيين كلمة المرور"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "استئناف"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "احفظ العنوان باستخدام مفتاح الإدخال أو
|
||||
msgid "Save Settings"
|
||||
msgstr "حفظ الإعدادات"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "بحث"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "البحث عن الأنظمة أو الإعدادات..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "تم الإرسال"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "يحدد النطاق الزمني الافتراضي للرسوم البيانية عند عرض النظام."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "الإعدادات"
|
||||
msgid "Settings saved"
|
||||
msgstr "تم حفظ الإعدادات"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "تسجيل الدخول"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "إعدادات SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "الترتيب حسب"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "الحالة"
|
||||
@@ -665,12 +666,14 @@ msgstr "استخدام التبديل"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "النظام"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "الأنظمة"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "الأنظمة"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "يمكن إدارة الأنظمة في ملف <0>config.yml</0> داخل دليل البيانات الخاص بك."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "جدول"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "اختبار <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "تم إرسال إشعار الاختبار"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "يجب أن يكون الوكيل قيد التشغيل على النظام للاتصال. انسخ أمر التثبيت للوكيل أدناه."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "يجب أن يكون الوكيل قيد التشغيل على النظام للاتصال. انسخ <0>docker-compose.yml</0> للوكيل أدناه."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "يجب أن يكون الوكيل قيد التشغيل على النظ
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "ثم قم بتسجيل الدخول إلى الواجهة الخلفية وأعد تعيين كلمة مرور حساب المستخدم الخاص بك في جدول المستخدمين."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "لا يمكن التراجع عن هذا الإجراء. سيؤدي ذلك إلى حذف جميع السجلات الحالية لـ {name} من قاعدة البيانات بشكل دائم."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "يتم التفعيل عندما يتغير الحالة بين التش
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "يتم التفعيل عندما يتجاوز استخدام أي قرص عتبة معينة"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "محدث في الوقت الحقيقي. انقر على نظام لعرض المعلومات."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "استخدام القسم الجذر"
|
||||
msgid "Used"
|
||||
msgstr "مستخدم"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "اسم المستخدم"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "اسم المستخدم"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "المستخدمون"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "عرض"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "الأعمدة الظاهرة"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "في انتظار وجود سجلات كافية للعرض"
|
||||
|
||||
831
beszel/site/src/locales/cs/cs.po
Normal file
@@ -0,0 +1,831 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-11-01 11:30-0400\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: cs\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: cs\n"
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# den} few {# dny} other {# dní}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# Hodina} few {# Hodiny} many {# Hodin} other {# Hodin}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 hodina"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 týden"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 hodin"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 hodin"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dní"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Akce"
|
||||
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktivní výstrahy"
|
||||
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Přidat <0>Systém</0>"
|
||||
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Přidat nový systém"
|
||||
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Přidat systém"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
msgstr "Přidat URL"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:81
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Upravit možnosti zobrazení pro grafy."
|
||||
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Výstrahy"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Všechny systémy"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Opravdu chcete odstranit {name}?"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatická kopie vyžaduje zabezpečený kontext."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Průměr"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Průměrné využití CPU kontejnerů"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Průměr je vyšší než <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr "Průměrná spotřeba energie GPU"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Průměrné využití CPU v celém systému"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "Průměrné využití {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Zálohy"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Přenos"
|
||||
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel podporuje OpenID Connect a mnoho poskytovatelů OAuth2 ověřování."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel používá <0>Shoutrrr</0> k integraci s populárními notifikačními službami."
|
||||
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binary"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / vyrovnávací paměť"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Zrušit"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Upozornění - možná ztráta dat"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Změnit obecné nastavení aplikace."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Možnosti grafu"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Zkontrolujte {email} pro odkaz na obnovení."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Pro více informací zkontrolujte logy."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Zkontrolujte službu upozornění"
|
||||
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Klikněte pro zkopírování"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
msgstr "Instrukce příkazového řádku"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Konfigurace způsobu přijímání upozornění."
|
||||
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Potvrdit heslo"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Pokračovat"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Zkopírováno do schránky"
|
||||
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopírovat"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopírovat hostitele"
|
||||
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopírovat příkaz Linux"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopírovat text"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "Procesor"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Využití procesoru"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Vytvořit účet"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Tmavý"
|
||||
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Přehled"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Výchozí doba"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Odstranit"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Disk I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Využití disku"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Využití disku {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Využití CPU Dockeru"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Využití paměti Dockeru"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Síťové I/O Dockeru"
|
||||
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentace"
|
||||
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "Emailová upozornění"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Zadejte e-mailovou adresu pro obnovu hesla"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Zadejte e-mailovou adresu..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Chyba"
|
||||
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Překračuje {0}{1} za {2, plural, one {poslední # minutu} few {poslední # minuty} other {posledních # minut}}"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:72
|
||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||
msgstr "Stávající systémy, které nejsou definovány v <0>config.yml</0>, budou odstraněny. Provádějte pravidelné zálohování."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Exportovat konfiguraci"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Exportovat aktuální konfiguraci systémů."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Ověření se nezdařilo"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Nepodařilo se uložit nastavení"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Nepodařilo se odeslat testovací oznámení"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Nepodařilo se aktualizovat upozornění"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtr..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Za <0>{min}</0> {min, plural, one {minutu} few {minuty} other {minut}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Zapomněli jste heslo?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Obecné"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "Spotřeba energie GPU"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Mřížka"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Hostitel / IP"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:93
|
||||
msgid "If you've lost the password to your admin account, you may reset it using the following command."
|
||||
msgstr "Pokud jste ztratili heslo k vašemu účtu správce, můžete jej obnovit pomocí následujícího příkazu."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Neplatná e-mailová adresa."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Jazyk"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Rozvržení"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Světlý"
|
||||
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Odhlásit"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Přihlásit"
|
||||
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Pokus o přihlášení selhal"
|
||||
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logy"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:80
|
||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||
msgstr "Hledáte místo kde vytvářet upozornění? Klikněte na ikonu zvonku <0/> v systémové tabulce."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Správa nastavení zobrazení a oznámení."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max. 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Paměť"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Využití paměti"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Využití paměti docker kontejnerů"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Název"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Síť"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Síťový provoz kontejnerů docker"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Síťový provoz veřejných rozhraní"
|
||||
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Nenalezeny žádné výskyty."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Nenalezeny žádné systémy."
|
||||
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Upozornění"
|
||||
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Podpora OAuth 2 / OIDC"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:61
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Při každém restartu budou systémy v databázi aktualizovány tak, aby odpovídaly systémům definovaným v souboru."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Otevřít menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Nebo pokračujte s"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Přepsat existující upozornění"
|
||||
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Stránka"
|
||||
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Stránky / Nastavení"
|
||||
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Heslo"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Heslo musí obsahovat alespoň 8 znaků."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Žádost o obnovu hesla byla přijata"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pozastavit"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "<0>nakonfigurujte SMTP server</0> pro zajištění toho, aby byla upozornění doručena."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Pro více informací zkontrolujte logy."
|
||||
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Zkontrolujte prosím Vaše přihlašovací údaje a zkuste to znovu"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Vytvořte si prosím účet administrátora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Prosím povolte vyskakovací okna pro tento web"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Přihlaste se prosím znovu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Instrukce naleznete v <0>dokumentaci</0>."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Přihlaste se prosím k vašemu účtu"
|
||||
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Přesné využití v zaznamenaném čase"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Upřednostňovaný jazyk"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Veřejný klíč"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Číst"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Přijato"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Obnovit heslo"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Pokračovat"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Adresu uložte pomocí klávesy enter nebo čárky. Pro deaktivaci e-mailových oznámení ponechte prázdné pole."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Uložit nastavení"
|
||||
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Hledat systémy nebo nastavení..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Podívejte se na <0>nastavení upozornění</0> pro nastavení toho, jak přijímáte upozornění."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Odeslat"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Nastaví výchozí časový rozsah grafů, když je systém zobrazen."
|
||||
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Nastavení"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Nastavení uloženo"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Přihlásit se"
|
||||
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Nastavení SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Seřadit podle"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Stav"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Swap prostor využívaný systémem"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swap využití"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Systém"
|
||||
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systémy"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:55
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Systémy lze spravovat v souboru <0>config.yml</0> uvnitř datového adresáře."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabulka"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Teplota"
|
||||
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Teploty systémových senzorů"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:211
|
||||
msgid "Test <0>URL</0>"
|
||||
msgstr "Test <0>URL</0>"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:182
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testovací oznámení odesláno"
|
||||
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Agent musí být v systému spuštěn, aby se mohl připojit. Zkopírujte níže uvedený instalační příkaz pro agenta."
|
||||
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Agent musí být v systému spuštěn, aby se mohl připojit. Zkopírujte níže uvedený soubor<0>docker-compose.yml</0> pro agenta."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:98
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Poté se přihlaste do backendu a obnovte heslo k uživatelskému účtu v tabulce uživatelů."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Tuto akci nelze vzít zpět. Tím se z databáze trvale odstraní všechny aktuální záznamy pro {name}."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Propustnost {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Propustnost kořenového souborového systému"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "Na email(y)"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Přepnout mřížku"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Přepnout motiv"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Spustí se, když některý senzor překročí prahovou hodnotu"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Spustí se, když kombinace up/down překročí prahovou hodnotu"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Spustí se, když využití procesoru překročí prahovou hodnotu"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Spustí se, když využití paměti překročí prahovou hodnotu"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Spouští se, když se změní dostupnost"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Spustí se, když využití disku překročí prahovou hodnotu"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Aktualizováno v reálném čase. Klepnutím na systém zobrazíte informace."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Doba provozu"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Využití"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Využití kořenového oddílu"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
msgstr "Využito"
|
||||
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Uživatelé"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Zobrazení"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Viditelné sloupce"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Čeká se na dostatek záznamů k zobrazení"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:48
|
||||
msgid "Want to help us make our translations even better? Check out <0>Crowdin</0> for more details."
|
||||
msgstr "Chcete nám pomoci s našimi překlady ještě lépe? Podívejte se na <0>Crowdin</0> pro více informací."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push oznámení"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Psát"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "YAML konfigurace"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "YAML konfigurace"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Vaše uživatelská nastavení byla aktualizována."
|
||||
831
beszel/site/src/locales/da/da.po
Normal file
@@ -0,0 +1,831 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-11-01 11:30-0400\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: da\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2025-01-05 19:49\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: da\n"
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# day} other {# days}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# hour} other {# hours}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 time"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 uge"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 timer"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 timer"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dage"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Handlinger"
|
||||
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktive Alarmer"
|
||||
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Tilføj <0>System</0>"
|
||||
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Tilføj nyt system"
|
||||
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Tilføj system"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
msgstr "Tilføj URL"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:81
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Juster visningsindstillinger for diagrammer."
|
||||
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Alarmer"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Alle systemer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Er du sikker på, at du vil slette {name}?"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatisk kopiering kræver en sikker kontekst."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Gennemsnitlig"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Gennemsnitlig CPU udnyttelse af containere"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Gennemsnit overstiger <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr "Gennemsnitligt strømforbrug for GPU'er"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Gennemsnitlig systembaseret CPU-udnyttelse"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "Gennemsnitlig udnyttelse af {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Sikkerhedskopier"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Båndbredde"
|
||||
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel understøtter OpenID Connect og mange OAuth2 godkendelsesudbydere."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel bruger <0>Shoutrrr</0> til at integrere med populære notifikationstjenester."
|
||||
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binær"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffere"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Fortryd"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Forsigtig - muligt tab af data"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Skift generelle applikationsindstillinger."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Diagrammuligheder"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Tjek {email} for et nulstillingslink."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Tjek logfiler for flere detaljer."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Tjek din notifikationstjeneste"
|
||||
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Klik for at kopiere"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
msgstr "Instruktioner for kommandolinje"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Konfigurer hvordan du modtager advarselsmeddelelser."
|
||||
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Bekræft adgangskode"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Forsæt"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Kopieret til udklipsholder"
|
||||
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopier"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopier host"
|
||||
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopier Linux kommando"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopier tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU forbrug"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Opret konto"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Mørk"
|
||||
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Oversigtspanel"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Standard tidsperiode"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Slet"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Disk I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Diskforbrug"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Diskforbrug af {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU forbrug"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker Hukommelsesforbrug"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Netværk I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentation"
|
||||
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "Email-notifikationer"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Indtast e-mailadresse for at nulstille adgangskoden"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Indtast e-mailadresse..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Fejl"
|
||||
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Overskrider {0}{1} i sidste {2, plural, one {# minut} other {# minutter}}"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:72
|
||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||
msgstr "Eksisterende systemer ikke defineret i <0>config.yml</0> vil blive slettet. Opret venligst regelmæssige sikkerhedskopier."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Eksporter konfiguration"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Eksporter din nuværende systemkonfiguration."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Kunne ikke godkende"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Kunne ikke gemme indstillinger"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Afsendelse af testnotifikation mislykkedes"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Kunne ikke opdatere alarm"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "For <0>{min}</0> {min, plural, one {minut} other {minutter}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Glemt adgangskode?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Generelt"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "Gpu Strøm Træk"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Gitter"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Vært / IP"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:93
|
||||
msgid "If you've lost the password to your admin account, you may reset it using the following command."
|
||||
msgstr "Hvis du har mistet adgangskoden til din administratorkonto, kan du nulstille den ved hjælp af følgende kommando."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Ugyldig email adresse."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Sprog"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Layout"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Lys"
|
||||
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Log ud"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Log ind"
|
||||
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Loginforsøg mislykkedes"
|
||||
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logs"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:80
|
||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||
msgstr "Leder du i stedet for efter hvor du kan oprette alarmer? Klik på klokken <0/> ikoner i system tabellen."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Administrer display og notifikationsindstillinger."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Maks. 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Hukommelse"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Hukommelsesforbrug"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Hukommelsesforbrug af dockercontainere"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Netværkstrafik af dockercontainere"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Netværkstrafik af offentlige grænseflader"
|
||||
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Ingen resultater fundet."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Ingen systemer fundet."
|
||||
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Notifikationer"
|
||||
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC understøttelse"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:61
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Ved hver genstart vil systemer i databasen blive opdateret til at matche de systemer, der er defineret i filen."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Åbn menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Eller fortsæt med"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Overskriv eksisterende alarmer"
|
||||
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Side"
|
||||
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Sider / Indstillinger"
|
||||
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Adgangskode"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Adgangskoden skal være på mindst 8 tegn."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Anmodning om nulstilling af adgangskode modtaget"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Konfigurer <0>en SMTP server</0> for at sikre at alarmer bliver leveret."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Tjek logfiler for flere detaljer."
|
||||
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Tjek dine legitimationsoplysninger og prøv igen"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Opret venligst en administratorkonto"
|
||||
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Aktiver pop-ups for dette websted"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Log venligst ind igen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Se <0>dokumentationen</0> for instruktioner."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Log venligst ind på din konto"
|
||||
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Præcis udnyttelse på det registrerede tidspunkt"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Foretrukket sprog"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Offentlig nøgle"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Læs"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Modtaget"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Nulstil adgangskode"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Genoptag"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Gem adresse ved hjælp af enter eller komma. Lad feltet stå tomt for at deaktivere e-mail-meddelelser."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Gem indstillinger"
|
||||
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Søg"
|
||||
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Søg efter systemer eller indstillinger..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Se <0>meddelelsesindstillinger</0> for at konfigurere, hvordan du modtager alarmer."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Sendt"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Sætter standardtidsintervallet for diagrammer når et system vises."
|
||||
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Indstillinger"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Indstillinger gemt"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Log ind"
|
||||
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP-indstillinger"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sorter efter"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Swap plads brugt af systemet"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swap forbrug"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systemer"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:55
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Systemer kan være administreres i filen <0>config.yml</0> i din datamappe."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabel"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatur"
|
||||
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperaturer i systemsensorer"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:211
|
||||
msgid "Test <0>URL</0>"
|
||||
msgstr "Test <0>URL</0>"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:182
|
||||
msgid "Test notification sent"
|
||||
msgstr "Test notifikation sendt"
|
||||
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Agenten skal køre på systemet for at forbinde. Kopier installationskommandoen for agenten nedenfor."
|
||||
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Agenten skal køre på systemet for at forbinde. Kopier <0>docker-compose.yml</0> for agenten nedenfor."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:98
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Log derefter ind på backend og nulstil adgangskoden til din brugerkonto i tabellen brugere."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Denne handling kan ikke fortrydes. Dette vil permanent slette alle aktuelle elementer for {name} fra databasen."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Gennemløb af {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Gennemløb af rodfilsystemet"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "Til email(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Slå gitter til/fra"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Skift tema"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Udløser når en sensor overstiger en tærskel"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Udløses når de kombinerede op/ned overstiger en tærskel"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Udløser når CPU-forbrug overstiger en tærskel"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Udløser når hukommelsesforbruget overstiger en tærskel"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Udløser når status skifter mellem op og ned"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Udløser når brugen af en disk overstiger en tærskel"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Opdateret i realtid. Klik på et system for at se information."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Oppetid"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Forbrug"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Brug af rodpartition"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
msgstr "Brugt"
|
||||
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Brugere"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Vis"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Synlige felter"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Venter på nok posteringer til at vise"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:48
|
||||
msgid "Want to help us make our translations even better? Check out <0>Crowdin</0> for more details."
|
||||
msgstr "Vil du hjælpe os med at gøre vores oversættelser endnu bedre? Tjek <0>Crowdin</0> for flere detaljer."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push notifikationer"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Skriv"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "YAML Konfiguration"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "YAML Konfiguration"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Dine brugerindstillinger er opdateret."
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 Tage"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Aktionen"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktive Warnungen"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "<0>System</0> hinzufügen"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Neues System hinzufügen"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "System hinzufügen"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "URL hinzufügen"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Anzeigeoptionen für Diagramme anpassen."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Warnungen"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Alle Systeme"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Möchten Sie {name} wirklich löschen?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Authentifizierungsanbieter"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatisches Kopieren erfordert einen sicheren Kontext."
|
||||
@@ -120,13 +117,13 @@ msgstr "Durchschnitt"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Durchschnittliche CPU-Auslastung der Container"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Durchschnitt überschreitet <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Durchschnittlicher Stromverbrauch der GPUs"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Durchschnittliche systemweite CPU-Auslastung"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Durchschnittliche Auslastung von {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Backups"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandbreite"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel unterstützt OpenID Connect und viele OAuth2-Authentifizierungsanbieter."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel unterstützt OpenID Connect und viele OAuth2-Authentifizierungsan
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel verwendet <0>Shoutrrr</0>, um sich mit beliebten Benachrichtigungsdiensten zu integrieren."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binär"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binär"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Puffer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Überprüfen Sie die Protokolle für weitere Details."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Überprüfen Sie Ihren Benachrichtigungsdienst"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Zum Kopieren klicken"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Spalten"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Befehlszeilenanweisungen"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Konfigurieren Sie, wie Sie Warnbenachrichtigungen erhalten."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Passwort bestätigen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Fortfahren"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Fortfahren"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "In die Zwischenablage kopiert"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopieren"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Host kopieren"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Linux-Befehl kopieren"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Linux-Befehl kopieren"
|
||||
msgid "Copy text"
|
||||
msgstr "Text kopieren"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU-Auslastung"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Konto erstellen"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Konto erstellen"
|
||||
msgid "Dark"
|
||||
msgstr "Dunkel"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Dashboard"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Dashboard"
|
||||
msgid "Default time period"
|
||||
msgstr "Standardzeitraum"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Festplatte"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Docker-Speichernutzung"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker-Netzwerk-I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentation"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "E-Mail"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-Mail"
|
||||
@@ -324,13 +312,13 @@ msgstr "E-Mail-Adresse eingeben, um das Passwort zurückzusetzen"
|
||||
msgid "Enter email address..."
|
||||
msgstr "E-Mail-Adresse eingeben..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Fehler"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Überschreitet {0}{1} in den letzten {2, plural, one {# Minute} other {# Minuten}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Einstellungen konnten nicht gespeichert werden"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Testbenachrichtigung konnte nicht gesendet werden"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Warnung konnte nicht aktualisiert werden"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Für <0>{min}</0> {min, plural, one {Minute} other {Minuten}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Allgemein"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "GPU-Leistungsaufnahme"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Raster"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Sprache"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Hell"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Abmelden"
|
||||
msgid "Login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Anmeldeversuch fehlgeschlagen"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Protokolle"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Anzeige- und Benachrichtigungseinstellungen verwalten."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 Min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Speicher"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Speichernutzung"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Speichernutzung der Docker-Container"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Netz"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Netzwerkverkehr der Docker-Container"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Netzwerkverkehr der öffentlichen Schnittstellen"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Keine Ergebnisse gefunden."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Keine Systeme gefunden."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Benachrichtigungen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC-Unterstützung"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "OAuth 2 / OIDC-Unterstützung"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Bei jedem Neustart werden die Systeme in der Datenbank aktualisiert, um den im Datei definierten Systemen zu entsprechen."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Menü öffnen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Oder fortfahren mit"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Oder fortfahren mit"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Bestehende Warnungen überschreiben"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Seite"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Seiten / Einstellungen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Das Passwort muss mindestens 10 Zeichen lang sein."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Das Passwort muss mindestens 8 Zeichen haben."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Anfrage zum Zurücksetzen des Passworts erhalten"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pause"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Bitte <0>konfigurieren Sie einen SMTP-Server</0>, um sicherzustellen, dass Warnungen zugestellt werden."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Bitte überprüfen Sie die Protokolle für weitere Details."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Bitte überprüfen Sie Ihre Anmeldedaten und versuchen Sie es erneut"
|
||||
@@ -548,7 +545,7 @@ msgstr "Bitte überprüfen Sie Ihre Anmeldedaten und versuchen Sie es erneut"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Bitte erstellen Sie ein Administratorkonto"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Bitte aktivieren Sie Pop-ups für diese Seite"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Bitte aktivieren Sie Pop-ups für diese Seite"
|
||||
msgid "Please log in again"
|
||||
msgstr "Bitte melden Sie sich erneut an"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Bitte sehen Sie sich <0>die Dokumentation</0> für Anweisungen an."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Bitte sehen Sie sich <0>die Dokumentation</0> für Anweisungen an."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Bitte melden Sie sich bei Ihrem Konto an"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Bevorzugte Sprache"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Schlüssel"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Empfangen"
|
||||
msgid "Reset Password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Fortsetzen"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Adresse mit der Eingabetaste oder Komma speichern. Leer lassen, um E-Mai
|
||||
msgid "Save Settings"
|
||||
msgstr "Einstellungen speichern"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Suche"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Nach Systemen oder Einstellungen suchen..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Gesendet"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Legt den Standardzeitraum für Diagramme fest, wenn ein System angezeigt wird."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Einstellungen"
|
||||
msgid "Settings saved"
|
||||
msgstr "Einstellungen gespeichert"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP-Einstellungen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sortieren nach"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@@ -665,12 +666,14 @@ msgstr "Swap-Nutzung"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systeme"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Systeme"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Systeme können in einer <0>config.yml</0>-Datei in Ihrem Datenverzeichnis verwaltet werden."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabelle"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Test <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testbenachrichtigung gesendet"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Der Agent muss auf dem System laufen, um eine Verbindung herzustellen. Kopieren Sie den Installationsbefehl für den Agenten unten."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Der Agent muss auf dem System laufen, um eine Verbindung herzustellen. Kopieren Sie die <0>docker-compose.yml</0> für den Agenten unten."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Der Agent muss auf dem System laufen, um eine Verbindung herzustellen. K
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Melden Sie sich dann im Backend an und setzen Sie Ihr Benutzerkontopasswort in der Benutzertabelle zurück."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Diese Aktion kann nicht rückgängig gemacht werden. Dadurch werden alle aktuellen Datensätze für {name} dauerhaft aus der Datenbank gelöscht."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Löst aus, wenn der Status zwischen oben und unten wechselt"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Löst aus, wenn die Nutzung einer Festplatte einen Schwellenwert überschreitet"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "In Echtzeit aktualisiert. Klicken Sie auf ein System, um Informationen anzuzeigen."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Nutzung der Root-Partition"
|
||||
msgid "Used"
|
||||
msgstr "Verwendet"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Benutzername"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Ansicht"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Sichtbare Spalten"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Warten auf genügend Datensätze zur Anzeige"
|
||||
|
||||
@@ -42,24 +42,27 @@ msgid "30 days"
|
||||
msgstr "30 days"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Active Alerts"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Add <0>System</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Add New System"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Add system"
|
||||
|
||||
@@ -71,16 +74,15 @@ msgstr "Add URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Adjust display options for charts."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
@@ -90,19 +92,14 @@ msgid "Alerts"
|
||||
msgstr "Alerts"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "All Systems"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Are you sure you want to delete {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Auth Providers"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatic copy requires a secure context."
|
||||
@@ -115,7 +112,7 @@ msgstr "Average"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Average CPU utilization of containers"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Average exceeds <0>{value}{0}</0>"
|
||||
|
||||
@@ -131,8 +128,8 @@ msgstr "Average system-wide CPU utilization"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "Average utilization of {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
|
||||
@@ -141,7 +138,7 @@ msgstr "Backups"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandwidth"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
|
||||
@@ -149,7 +146,7 @@ msgstr "Beszel supports OpenID Connect and many OAuth2 authentication providers.
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binary"
|
||||
|
||||
@@ -157,7 +154,7 @@ msgstr "Binary"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffers"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
@@ -185,15 +182,10 @@ msgstr "Check logs for more details."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Check your notification service"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Click to copy"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Columns"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -203,12 +195,12 @@ msgstr "Command line instructions"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Configure how you receive alert notifications."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirm password"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Continue"
|
||||
|
||||
@@ -216,15 +208,15 @@ msgstr "Continue"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copied to clipboard"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Copy"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Copy host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copy Linux command"
|
||||
|
||||
@@ -232,7 +224,7 @@ msgstr "Copy Linux command"
|
||||
msgid "Copy text"
|
||||
msgstr "Copy text"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -242,7 +234,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU Usage"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Create account"
|
||||
|
||||
@@ -251,8 +243,8 @@ msgstr "Create account"
|
||||
msgid "Dark"
|
||||
msgstr "Dark"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Dashboard"
|
||||
|
||||
@@ -260,11 +252,11 @@ msgstr "Dashboard"
|
||||
msgid "Default time period"
|
||||
msgstr "Default time period"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Delete"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
@@ -294,15 +286,11 @@ msgstr "Docker Memory Usage"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Network I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
@@ -319,13 +307,13 @@ msgstr "Enter email address to reset password"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Enter email address..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
|
||||
@@ -354,20 +342,20 @@ msgstr "Failed to save settings"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Failed to send test notification"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Failed to update alert"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Forgot password?"
|
||||
|
||||
@@ -381,7 +369,11 @@ msgstr "General"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "GPU Power Draw"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Grid"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -402,12 +394,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Language"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Layout"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Light"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Log Out"
|
||||
|
||||
@@ -415,13 +411,13 @@ msgstr "Log Out"
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Login attempt failed"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logs"
|
||||
|
||||
@@ -438,7 +434,7 @@ msgstr "Manage display and notification preferences."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Memory"
|
||||
|
||||
@@ -451,11 +447,11 @@ msgstr "Memory Usage"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Memory usage of docker containers"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
@@ -467,21 +463,22 @@ msgstr "Network traffic of docker containers"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Network traffic of public interfaces"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "No results found."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "No systems found."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Notifications"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC support"
|
||||
|
||||
@@ -489,11 +486,11 @@ msgstr "OAuth 2 / OIDC support"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Open menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Or continue with"
|
||||
|
||||
@@ -501,28 +498,28 @@ msgstr "Or continue with"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Overwrite existing alerts"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Page"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Pages / Settings"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Password must be at least 10 characters."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Password must be at least 8 characters."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Password reset request received"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
@@ -530,11 +527,11 @@ msgstr "Pause"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Please check logs for more details."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Please check your credentials and try again"
|
||||
@@ -543,7 +540,7 @@ msgstr "Please check your credentials and try again"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Please create an admin account"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Please enable pop-ups for this site"
|
||||
|
||||
@@ -551,7 +548,7 @@ msgstr "Please enable pop-ups for this site"
|
||||
msgid "Please log in again"
|
||||
msgstr "Please log in again"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Please see <0>the documentation</0> for instructions."
|
||||
|
||||
@@ -559,7 +556,7 @@ msgstr "Please see <0>the documentation</0> for instructions."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Please sign in to your account"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
@@ -573,7 +570,7 @@ msgid "Preferred Language"
|
||||
msgstr "Preferred Language"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Public Key"
|
||||
|
||||
@@ -592,7 +589,7 @@ msgstr "Received"
|
||||
msgid "Reset Password"
|
||||
msgstr "Reset Password"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Resume"
|
||||
|
||||
@@ -605,11 +602,11 @@ msgstr "Save address using enter key or comma. Leave blank to disable email noti
|
||||
msgid "Save Settings"
|
||||
msgstr "Save Settings"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Search"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Search for systems or settings..."
|
||||
|
||||
@@ -626,9 +623,9 @@ msgstr "Sent"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Sets the default time range for charts when a system is viewed."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -638,14 +635,18 @@ msgstr "Settings"
|
||||
msgid "Settings saved"
|
||||
msgstr "Settings saved"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Sign in"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP settings"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sort By"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@@ -660,12 +661,14 @@ msgstr "Swap Usage"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systems"
|
||||
|
||||
@@ -673,6 +676,10 @@ msgstr "Systems"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Table"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -690,11 +697,11 @@ msgstr "Test <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Test notification sent"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
|
||||
@@ -702,7 +709,7 @@ msgstr "The agent must be running on the system to connect. Copy the<0>docker-co
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Then log into the backend and reset your user account password in the users table."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
|
||||
@@ -751,7 +758,7 @@ msgstr "Triggers when status switches between up and down"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Triggers when usage of any disk exceeds a threshold"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Updated in real time. Click on a system to view information."
|
||||
|
||||
@@ -775,19 +782,19 @@ msgstr "Usage of root partition"
|
||||
msgid "Used"
|
||||
msgstr "Used"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "username"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Users"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "View"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Visible Fields"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Waiting for enough records to display"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2025-01-02 04:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 días"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Acciones"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Alertas Activas"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Agregar <0>Sistema</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Agregar Nuevo Sistema"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Agregar sistema"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Agregar URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Ajustar las opciones de visualización para los gráficos."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Administrador"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agente"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Alertas"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Todos los Sistemas"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "¿Está seguro de que desea eliminar {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Proveedores de Autenticación"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "La copia automática requiere un contexto seguro."
|
||||
@@ -120,13 +117,13 @@ msgstr "Promedio"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilización promedio de CPU de los contenedores"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "El promedio excede <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Consumo de energía promedio de GPUs"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Utilización promedio de CPU del sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Uso promedio de {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Copias de Seguridad"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Copias de Seguridad"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Ancho de banda"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel admite OpenID Connect y muchos proveedores de autenticación OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel admite OpenID Connect y muchos proveedores de autenticación OAut
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel utiliza <0>Shoutrrr</0> para integrarse con servicios populares de notificación."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binario"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binario"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Caché / Buffers"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Revise los registros para más detalles."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Verifique su servicio de notificaciones"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Haga clic para copiar"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Columnas"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Instrucciones de línea de comandos"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Configure cómo recibe las notificaciones de alertas."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmar contraseña"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Continuar"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado al portapapeles"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Copiar host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copiar comando de Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Copiar comando de Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Copiar texto"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Uso de CPU"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Crear cuenta"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Crear cuenta"
|
||||
msgid "Dark"
|
||||
msgstr "Oscuro"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Tablero"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Tablero"
|
||||
msgid "Default time period"
|
||||
msgstr "Período de tiempo predeterminado"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Eliminar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disco"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Uso de Memoria de Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "E/S de Red de Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Documentación"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "correo electrónico"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Correo electrónico"
|
||||
@@ -324,13 +312,13 @@ msgstr "Ingrese la dirección de correo electrónico para restablecer la contras
|
||||
msgid "Enter email address..."
|
||||
msgstr "Ingrese dirección de correo..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Error"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Excede {0}{1} en el último {2, plural, one {# minuto} other {# minutos}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Error al guardar la configuración"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Error al enviar la notificación de prueba"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Error al actualizar la alerta"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrar..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Por <0>{min}</0> {min, plural, one {minuto} other {minutos}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "¿Olvidó su contraseña?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "General"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Cuadrícula"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Diseño"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Claro"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar Sesión"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Cerrar Sesión"
|
||||
msgid "Login"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Intento de inicio de sesión fallido"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Registros"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Administrar preferencias de visualización y notificaciones."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Máx 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Memoria"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Uso de Memoria"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Uso de memoria de los contenedores de Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Red"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Tráfico de red de los contenedores de Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Tráfico de red de interfaces públicas"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "No se encontraron resultados."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "No se encontraron sistemas."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Notificaciones"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Soporte para OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Soporte para OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "En cada reinicio, los sistemas en la base de datos se actualizarán para coincidir con los sistemas definidos en el archivo."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Abrir menú"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "O continuar con"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "O continuar con"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Sobrescribir alertas existentes"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Página"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Páginas / Configuraciones"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "La contraseña debe tener al menos 10 caracteres."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "La contraseña debe tener al menos 8 caracteres."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Solicitud de restablecimiento de contraseña recibida"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pausar"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pausar"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Por favor, <0>configure un servidor SMTP</0> para asegurar que las alertas sean entregadas."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Por favor, revise los registros para más detalles."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Por favor, verifique sus credenciales e intente de nuevo"
|
||||
@@ -548,7 +545,7 @@ msgstr "Por favor, verifique sus credenciales e intente de nuevo"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Por favor, cree una cuenta de administrador"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Por favor, habilite las ventanas emergentes para este sitio"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Por favor, habilite las ventanas emergentes para este sitio"
|
||||
msgid "Please log in again"
|
||||
msgstr "Por favor, inicie sesión de nuevo"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Por favor, consulte <0>la documentación</0> para obtener instrucciones."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Por favor, consulte <0>la documentación</0> para obtener instrucciones.
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Por favor, inicie sesión en su cuenta"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Puerto"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Idioma Preferido"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Clave Pública"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Recibido"
|
||||
msgid "Reset Password"
|
||||
msgstr "Restablecer Contraseña"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Reanudar"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Guarde la dirección usando la tecla enter o coma. Deje en blanco para d
|
||||
msgid "Save Settings"
|
||||
msgstr "Guardar Configuración"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Buscar sistemas o configuraciones..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Enviado"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Establece el rango de tiempo predeterminado para los gráficos cuando se visualiza un sistema."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Configuración"
|
||||
msgid "Settings saved"
|
||||
msgstr "Configuración guardada"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Configuración SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Ordenar por"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
@@ -665,12 +666,14 @@ msgstr "Uso de Swap"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Sistemas"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Sistemas"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Los sistemas pueden ser gestionados en un archivo <0>config.yml</0> dentro de su directorio de datos."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabla"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Probar <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Notificación de prueba enviada"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "El agente debe estar ejecutándose en el sistema para conectarse. Copie el comando de instalación para el agente a continuación."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "El agente debe estar ejecutándose en el sistema para conectarse. Copie el <0>docker-compose.yml</0> para el agente a continuación."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "El agente debe estar ejecutándose en el sistema para conectarse. Copie
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Luego inicie sesión en el backend y restablezca la contraseña de su cuenta de usuario en la tabla de usuarios."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Esta acción no se puede deshacer. Esto eliminará permanentemente todos los registros actuales de {name} de la base de datos."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Se activa cuando el estado cambia entre activo e inactivo"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Se activa cuando el uso de cualquier disco supera un umbral"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Actualizado en tiempo real. Haga clic en un sistema para ver la información."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Uso de la partición raíz"
|
||||
msgid "Used"
|
||||
msgstr "Usado"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "nombre de usuario"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Nombre de usuario"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Usuarios"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Vista"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Columnas visibles"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Esperando suficientes registros para mostrar"
|
||||
|
||||
831
beszel/site/src/locales/fa/fa.po
Normal file
@@ -0,0 +1,831 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-11-01 11:30-0400\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: fa\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: fa\n"
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# روز} other {# روز}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# ساعت} other {# ساعت}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "۱ ساعت"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "۱ هفته"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "۱۲ ساعت"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "۲۴ ساعت"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "۳۰ روز"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "عملیات"
|
||||
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr " هشدارهای فعال"
|
||||
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "افزودن <0>سیستم</0>"
|
||||
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "افزودن سیستم جدید"
|
||||
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "افزودن سیستم"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
msgstr "افزودن آدرس اینترنتی"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:81
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "تنظیم گزینههای نمایش برای نمودارها."
|
||||
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "مدیر"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "عامل"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "هشدارها"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "همه سیستمها"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "آیا مطمئن هستید که میخواهید {name} را حذف کنید؟"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "کپی خودکار نیاز به یک زمینه امن دارد."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "میانگین"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "میانگین استفاده از CPU کانتینرها"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr "میانگین مصرف برق پردازندههای گرافیکی"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "میانگین استفاده از CPU در کل سیستم"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "میانگین استفاده از {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "پشتیبانگیریها"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "پهنای باند"
|
||||
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "بِزل از OpenID Connect و بسیاری از ارائهدهندگان احراز هویت OAuth2 پشتیبانی میکند."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "بِزل از <0>Shoutrrr</0> برای ادغام با سرویسهای اطلاعرسانی محبوب استفاده میکند."
|
||||
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "دودویی"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "حافظه پنهان / بافرها"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "احتیاط - احتمال از دست رفتن دادهها"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "تغییر گزینههای کلی برنامه."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "گزینههای نمودار"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "ایمیل {email} خود را برای لینک بازنشانی بررسی کنید."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "برای جزئیات بیشتر، لاگها را بررسی کنید."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "سرویس اطلاعرسانی خود را بررسی کنید"
|
||||
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "برای کپی کردن کلیک کنید"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
msgstr "دستورالعملهای خط فرمان"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "نحوه دریافت هشدارهای اطلاعرسانی را پیکربندی کنید."
|
||||
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "تأیید رمز عبور"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "ادامه"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "در کلیپبورد کپی شد"
|
||||
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "کپی"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "کپی میزبان"
|
||||
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "کپی دستور لینوکس"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "کپی متن"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "پردازنده"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "میزان استفاده از پردازنده"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "ایجاد حساب کاربری"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "تیره"
|
||||
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "داشبورد"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "بازه زمانی پیشفرض"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "حذف"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "دیسک"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "ورودی/خروجی دیسک"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "میزان استفاده از دیسک"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "میزان استفاده از دیسک {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "میزان استفاده از CPU داکر"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "میزان استفاده از حافظه داکر"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "ورودی/خروجی شبکه داکر"
|
||||
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "مستندات"
|
||||
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "ایمیل"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "اعلانهای ایمیلی"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "آدرس ایمیل را برای بازنشانی رمز عبور وارد کنید"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "آدرس ایمیل را وارد کنید..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "خطا"
|
||||
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "در {2, plural, one {# دقیقه} other {# دقیقه}} گذشته از {0}{1} بیشتر است"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:72
|
||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||
msgstr "سیستمهای موجود که در <0>config.yml</0> تعریف نشدهاند حذف خواهند شد. لطفاً به طور منظم پشتیبانگیری کنید."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "خارج کردن پیکربندی"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "پیکربندی سیستمهای فعلی خود را خارج کنید."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "احراز هویت ناموفق بود"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "ذخیره تنظیمات ناموفق بود"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "ارسال اعلان آزمایشی ناموفق بود"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "بهروزرسانی هشدار ناموفق بود"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "فیلتر..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "برای <0>{min}</0> {min, plural, one {دقیقه} other {دقیقه}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "رمز عبور را فراموش کردهاید؟"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "عمومی"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "مصرف برق پردازنده گرافیکی"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "جدول"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "میزبان / IP"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:93
|
||||
msgid "If you've lost the password to your admin account, you may reset it using the following command."
|
||||
msgstr "اگر رمز عبور حساب مدیر خود را گم کردهاید، میتوانید آن را با استفاده از دستور زیر بازنشانی کنید."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "آدرس ایمیل نامعتبر است."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "هسته"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "زبان"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "طرحبندی"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "روشن"
|
||||
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "خروج"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "ورود"
|
||||
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "تلاش برای ورود ناموفق بود"
|
||||
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "لاگها"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:80
|
||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||
msgstr "به دنبال جایی برای ایجاد هشدار هستید؟ روی آیکونهای زنگ <0/> در جدول سیستمها کلیک کنید."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "مدیریت تنظیمات نمایش و اعلانها."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "حداکثر ۱ دقیقه"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "حافظه"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "میزان استفاده از حافظه"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "میزان استفاده از حافظه کانتینرهای داکر"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "شبکه"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "ترافیک شبکه کانتینرهای داکر"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "ترافیک شبکه رابطهای عمومی"
|
||||
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "هیچ نتیجهای یافت نشد."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "هیچ سیستمی یافت نشد."
|
||||
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "اعلانها"
|
||||
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "پشتیبانی از OAuth 2 / OIDC"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:61
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "در هر بار راهاندازی مجدد، سیستمهای موجود در پایگاه داده با سیستمهای تعریف شده در فایل مطابقت داده میشوند."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "باز کردن منو"
|
||||
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "یا ادامه با"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "بازنویسی هشدارهای موجود"
|
||||
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "صفحه"
|
||||
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "صفحات / تنظیمات"
|
||||
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "رمز عبور"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "رمز عبور باید حداقل ۸ کاراکتر باشد."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "درخواست بازنشانی رمز عبور دریافت شد"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "توقف"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "لطفاً برای اطمینان از تحویل هشدارها، یک <0>سرور SMTP پیکربندی کنید</0>."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "لطفاً برای جزئیات بیشتر، لاگها را بررسی کنید."
|
||||
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "لطفاً اعتبارنامههای خود را بررسی کرده و دوباره تلاش کنید."
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "لطفاً یک حساب مدیر ایجاد کنید"
|
||||
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "لطفاً پنجرههای بازشو را برای این سایت فعال کنید"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "لطفاً دوباره وارد شوید"
|
||||
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "لطفاً برای دستورالعملها به <0>مستندات</0> مراجعه کنید."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "لطفاً به حساب کاربری خود وارد شوید"
|
||||
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "پورت"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "میزان دقیق استفاده در زمان ثبت شده"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "زبان ترجیحی"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "کلید عمومی"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "خواندن"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "دریافت شد"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "بازنشانی رمز عبور"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "ادامه"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "آدرس را با استفاده از کلید Enter یا کاما ذخیره کنید. برای غیرفعال کردن اعلانهای ایمیلی، خالی بگذارید."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "ذخیره تنظیمات"
|
||||
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "جستجو"
|
||||
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "جستجو برای سیستمها یا تنظیمات..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "برای پیکربندی نحوه دریافت هشدارها، به <0>تنظیمات اعلان</0> مراجعه کنید."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "ارسال شد"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "بازه زمانی پیشفرض برای نمودارها هنگام مشاهده یک سیستم را تعیین میکند."
|
||||
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "تنظیمات"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "تنظیمات ذخیره شد"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "ورود"
|
||||
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "تنظیمات SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "مرتبسازی بر اساس"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "وضعیت"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "فضای Swap استفاده شده توسط سیستم"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "میزان استفاده از Swap"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "سیستم"
|
||||
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "سیستمها"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:55
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "سیستمها ممکن است در یک فایل <0>config.yml</0> درون دایرکتوری داده شما مدیریت شوند."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "جدول"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "دما"
|
||||
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "دمای حسگرهای سیستم"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:211
|
||||
msgid "Test <0>URL</0>"
|
||||
msgstr "تست <0>آدرس اینترنتی</0>"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:182
|
||||
msgid "Test notification sent"
|
||||
msgstr "اعلان آزمایشی ارسال شد"
|
||||
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "برای اتصال، عامل باید روی سیستم در حال اجرا باشد. دستور نصب عامل را از زیر کپی کنید."
|
||||
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "برای اتصال، عامل باید روی سیستم در حال اجرا باشد. <0>docker-compose.yml</0> مربوط به عامل را از زیر کپی کنید."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:98
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "سپس وارد بخش پشتیبان شوید و رمز عبور حساب کاربری خود را در جدول کاربران بازنشانی کنید."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "این عمل قابل برگشت نیست. این کار تمام رکوردهای فعلی {name} را برای همیشه از پایگاه داده حذف خواهد کرد."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "توان عملیاتی {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "توان عملیاتی سیستم فایل ریشه"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "به ایمیل(ها)"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "تغییر نمایش جدول"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "تغییر تم"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "هنگامی که هر حسگری از یک آستانه فراتر رود، فعال میشود"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "هنگامی که مجموع بالا/پایین از یک آستانه فراتر رود، فعال میشود"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "هنگامی که میزان استفاده از CPU از یک آستانه فراتر رود، فعال میشود"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "هنگامی که میزان استفاده از حافظه از یک آستانه فراتر رود، فعال میشود"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "هنگامی که وضعیت بین بالا و پایین تغییر میکند، فعال میشود"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "هنگامی که استفاده از هر دیسکی از یک آستانه فراتر رود، فعال میشود"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "به صورت لحظهای بهروزرسانی میشود. برای مشاهده اطلاعات، روی یک سیستم کلیک کنید."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "آپتایم"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "میزان استفاده"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "میزان استفاده از پارتیشن ریشه"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
msgstr "استفاده شده"
|
||||
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "کاربران"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "مشاهده"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "فیلدهای قابل مشاهده"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "در انتظار رکوردهای کافی برای نمایش"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:48
|
||||
msgid "Want to help us make our translations even better? Check out <0>Crowdin</0> for more details."
|
||||
msgstr "میخواهید به ما کمک کنید تا ترجمههای خود را بهتر کنیم؟ برای جزئیات بیشتر به <0>Crowdin</0> مراجعه کنید."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "اعلانهای Webhook / Push"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "نوشتن"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "پیکربندی YAML"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "پیکربندی YAML"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "تنظیمات کاربری شما بهروزرسانی شد."
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-06 20:36\n"
|
||||
"PO-Revision-Date: 2024-12-30 19:10\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 jours"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Actions"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Alertes actives"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Ajouter <0>Système</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Ajouter un nouveau système"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Ajouter un système"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Ajouter URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Ajuster les options d'affichage pour les graphiques."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Alertes"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Tous les systèmes"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Êtes-vous sûr de vouloir supprimer {name} ?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Fournisseurs d'authentification"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "La copie automatique nécessite un contexte sécurisé."
|
||||
@@ -120,13 +117,13 @@ msgstr "Moyenne"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilisation moyenne du CPU des conteneurs"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "La moyenne dépasse <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Consommation d'énergie moyenne des GPUs"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Utilisation moyenne du CPU à l'échelle du système"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Utilisation moyenne de {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Sauvegardes"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Sauvegardes"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bande passante"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel prend en charge OpenID Connect et de nombreux fournisseurs d'authentification OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel prend en charge OpenID Connect et de nombreux fournisseurs d'auth
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel utilise <0>Shoutrrr</0> pour s'intégrer aux services de notification populaires."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binaire"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binaire"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Tampons"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Vérifiez les journaux pour plus de détails."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Vérifiez votre service de notification"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Cliquez pour copier"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Colonnes"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Instructions en ligne de commande"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Configurez comment vous recevez les notifications d'alerte."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmer le mot de passe"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Continuer"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copié dans le presse-papiers"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Copier"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Copier l'hôte"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copier la commande Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Copier la commande Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Copier le texte"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Utilisation du CPU"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Créer un compte"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Créer un compte"
|
||||
msgid "Dark"
|
||||
msgstr "Sombre"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Tableau de bord"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Tableau de bord"
|
||||
msgid "Default time period"
|
||||
msgstr "Période par défaut"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disque"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Utilisation de la mémoire Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Entrée/Sortie réseau Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Documentation"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
@@ -324,13 +312,13 @@ msgstr "Entrez l'adresse email pour réinitialiser le mot de passe"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Entrez l'adresse email..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Dépasse {0}{1} dans {2, plural, one {la dernière # minute} other {les dernières # minutes}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Échec de l'enregistrement des paramètres"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Échec de l'envoi de la notification de test"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Échec de la mise à jour de l'alerte"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrer..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Pour <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Mot de passe oublié ?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Général"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "Consommation du GPU"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Grille"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Hôte / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Noyau"
|
||||
msgid "Language"
|
||||
msgstr "Langue"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Disposition"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Clair"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Déconnexion"
|
||||
msgid "Login"
|
||||
msgstr "Connexion"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Échec de la tentative de connexion"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Journaux"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Gérer les préférences d'affichage et de notification."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Mémoire"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Utilisation de la mémoire"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Utilisation de la mémoire des conteneurs Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Trafic réseau des conteneurs Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Trafic réseau des interfaces publiques"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Aucun résultat trouvé."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Aucun système trouvé."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Notifications"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Support OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Support OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "À chaque redémarrage, les systèmes dans la base de données seront mis à jour pour correspondre aux systèmes définis dans le fichier."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Ouvrir le menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Ou continuer avec"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Ou continuer avec"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Écraser les alertes existantes"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Page"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Pages / Paramètres"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Le mot de passe doit contenir au moins 10 caractères."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Le mot de passe doit contenir au moins 8 caractères."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Demande de réinitialisation du mot de passe reçue"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pause"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pause"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Veuillez <0>configurer un serveur SMTP</0> pour garantir la livraison des alertes."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Veuillez vérifier les journaux pour plus de détails."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Veuillez vérifier vos identifiants et réessayer"
|
||||
@@ -548,7 +545,7 @@ msgstr "Veuillez vérifier vos identifiants et réessayer"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Veuillez créer un compte administrateur"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Veuillez activer les pop-ups pour ce site"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Veuillez activer les pop-ups pour ce site"
|
||||
msgid "Please log in again"
|
||||
msgstr "Veuillez vous reconnecter"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Veuillez consulter <0>la documentation</0> pour les instructions."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Veuillez consulter <0>la documentation</0> pour les instructions."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Veuillez vous connecter à votre compte"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Langue préférée"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Clé publique"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Reçu"
|
||||
msgid "Reset Password"
|
||||
msgstr "Réinitialiser le mot de passe"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Reprendre"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Enregistrez l'adresse en utilisant la touche Entrée ou la virgule. Lais
|
||||
msgid "Save Settings"
|
||||
msgstr "Enregistrer les paramètres"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Recherche"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Rechercher des systèmes ou des paramètres..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Envoyé"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Définit la plage de temps par défaut pour les graphiques lorsqu'un système est consulté."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Paramètres"
|
||||
msgid "Settings saved"
|
||||
msgstr "Paramètres enregistrés"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Se connecter"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Paramètres SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Trier par"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
@@ -665,12 +666,14 @@ msgstr "Utilisation du swap"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Système"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systèmes"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Systèmes"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Les systèmes peuvent être gérés dans un fichier <0>config.yml</0> à l'intérieur de votre répertoire de données."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tableau"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Tester <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Notification de test envoyée"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "L'agent doit être en cours d'exécution sur le système pour se connecter. Copiez la commande d'installation pour l'agent ci-dessous."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "L'agent doit être en cours d'exécution sur le système pour se connecter. Copiez le <0>docker-compose.yml</0> pour l'agent ci-dessous."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "L'agent doit être en cours d'exécution sur le système pour se connect
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Ensuite, connectez-vous au backend et réinitialisez le mot de passe de votre compte utilisateur dans la table des utilisateurs."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Cette action ne peut pas être annulée. Cela supprimera définitivement tous les enregistrements actuels pour {name} de la base de données."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Déclenchement lorsque le statut passe d'opérationnel à indisponible"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Déclenchement lorsque l'utilisation de tout disque dépasse un seuil"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Mis à jour en temps réel. Cliquez sur un système pour voir les informations."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Utilisation de la partition racine"
|
||||
msgid "Used"
|
||||
msgstr "Utilisé"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "nom d'utilisateur"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Nom d'utilisateur"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Vue"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Colonnes visibles"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "En attente de suffisamment d'enregistrements à afficher"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: hr\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 19:48\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Croatian\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 dana"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Akcije"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktivna upozorenja"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Dodaj <0>Sistem</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Dodaj Novi Sistem"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Dodaj sistem"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Dodaj URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Podesite opcije prikaza za grafikone."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Upozorenja"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Svi Sistemi"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Jeste li sigurni da želite izbrisati {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Davatelji Autentifikacije"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatsko kopiranje zahtijeva siguran kontekst."
|
||||
@@ -120,7 +117,7 @@ msgstr "Prosjek"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Prosječna iskorištenost procesora u spremnicima"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Prosjek premašuje <0>{value}{0}</0>"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "Prosječna iskorištenost procesora na cijelom sustavu"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Sigurnosne kopije"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Sigurnosne kopije"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Propusnost"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel podržava OpenID Connect i mnoge druge OAuth2 davatalje autentifikacije."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel podržava OpenID Connect i mnoge druge OAuth2 davatalje autentifi
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel koristi <0>Shoutrrr</0> za integraciju sa popularnim servisima za notifikacije."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binarni"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binarni"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Predmemorija / Međuspremnici"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Provjerite logove za više detalja."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Provjerite Vaš servis notifikacija"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Pritisnite za kopiranje"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Stupci"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Upute za naredbeni redak"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Konfigurirajte način primanja obavijesti upozorenja."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Potvrdite lozinku"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Nastavite"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Nastavite"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Kopirano u međuspremnik"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopiraj"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopiraj hosta"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopiraj Linux komandu"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Kopiraj Linux komandu"
|
||||
msgid "Copy text"
|
||||
msgstr "Kopiraj tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "Procesor"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "Procesor"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Iskorištenost procesora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Napravite račun"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Napravite račun"
|
||||
msgid "Dark"
|
||||
msgstr "Tamno"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Nadzorna ploča"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Nadzorna ploča"
|
||||
msgid "Default time period"
|
||||
msgstr "Zadano vremensko razdoblje"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Izbriši"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Iskorištenost Docker Memorije"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Mrežni I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentacija"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
@@ -324,13 +312,13 @@ msgstr "Unesite email adresu za resetiranje lozinke"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Unesite email adresu..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Greška"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Premašuje {0}{1} u posljednjih {2, plural, one {# minuta} other {# minute}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Neuspješno snimanje postavki"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Neuspješno slanje testne notifikacije"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Ažuriranje upozorenja nije uspjelo"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Za <0>{min}</0> {min, plural, one {minutu} other {minute}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Zaboravljena lozinka?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "Općenito"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Mreža"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Jezik"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Izgled"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Svijetlo"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Odjava"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Odjava"
|
||||
msgid "Login"
|
||||
msgstr "Prijava"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Pokušaj prijave nije uspio"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logovi"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Upravljajte postavkama prikaza i obavijesti."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Maksimalno 1 minuta"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Memorija"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Upotreba memorije"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Upotreba memorije Docker spremnika"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Ime"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Mreža"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Mrežni promet Docker spremnika"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Mrežni promet javnih sučelja"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Nema rezultata."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Nije pronađen nijedan sustav."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Obavijesti"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Podrška za OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Podrška za OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Prilikom svakog ponovnog pokretanja, sustavi u bazi podataka biti će ažurirani kako bi odgovarali sustavima definiranim u datoteci."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Otvori menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Ili nastavi sa"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Ili nastavi sa"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Prebrišite postojeća upozorenja"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Stranica"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Stranice / Postavke"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Lozinka"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Lozinka mora imati 10 znakova."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Lozinka mora imati najmanje 8 znakova."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Zahtjev za ponovno postavljanje lozinke primljen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pauza"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pauza"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Molimo <0>konfigurirajte SMTP server</0> kako biste osigurali isporuku upozorenja."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Za više detalja provjerite logove."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Provjerite svoje podatke i pokušajte ponovno"
|
||||
@@ -548,7 +545,7 @@ msgstr "Provjerite svoje podatke i pokušajte ponovno"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Molimo kreirajte administratorski račun"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Omogućite skočne prozore za ovu stranicu"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Omogućite skočne prozore za ovu stranicu"
|
||||
msgid "Please log in again"
|
||||
msgstr "Molimo prijavite se ponovno"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Molimo pogledajte <0>dokumentaciju</0> za instrukcije."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Molimo pogledajte <0>dokumentaciju</0> za instrukcije."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Molimo prijavite se u svoj račun"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Preferirani jezik"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Javni Ključ"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Primljeno"
|
||||
msgid "Reset Password"
|
||||
msgstr "Resetiraj Lozinku"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Nastavi"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Spremite adresu pomoću tipke enter ili zareza. Ostavite prazno kako bis
|
||||
msgid "Save Settings"
|
||||
msgstr "Spremi Postavke"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Pretraži"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Pretraži za sisteme ili postavke..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Poslano"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Postavlja zadani vremenski raspon za grafikone kada se sustav gleda."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Postavke"
|
||||
msgid "Settings saved"
|
||||
msgstr "Postavke spremljene"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Prijava"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP postavke"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sortiraj po"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@@ -665,12 +666,14 @@ msgstr "Swap Iskorištenost"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Sistemi"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Sistemi"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Sistemima se može upravljati u <0>config.yml</0> datoteci unutar data direktorija."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tablica"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Testni <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testna obavijest poslana"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Agent mora biti pokrenut na sistemu da bi se spojio. Kopirajte instalacijske komande za agenta ispod."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Agent mora biti pokrenut na sistemu da bi se spojio. Kopirajte <0>docker-compose.yml</0> za agenta ispod."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Agent mora biti pokrenut na sistemu da bi se spojio. Kopirajte <0>docker
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Zatim se prijavite u backend i resetirajte lozinku korisničkog računa u tablici korisnika."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Ova radnja se ne može poništiti. Ovo će trajno izbrisati sve trenutne zapise za {name} iz baze podataka."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Pokreće se kada se status sistema promijeni"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Pokreće se kada iskorištenost bilo kojeg diska premaši prag"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Ažurirano odmah. Kliknite na sistem za više informacija."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Iskorištenost root datotečnog sustava"
|
||||
msgid "Used"
|
||||
msgstr "Iskorišteno"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "račun"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Račun"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Korisnici"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Prikaz"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Vidljiva polja"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Čeka se na više podataka prije prikaza"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: it\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:47\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 giorni"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Azioni"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Avvisi Attivi"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Aggiungi <0>Sistema</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Aggiungi Nuovo Sistema"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Aggiungi sistema"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Aggiungi URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Regola le opzioni di visualizzazione per i grafici."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Amministratore"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agente"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Avvisi"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Tutti i Sistemi"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Sei sicuro di voler eliminare {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Provider di Autenticazione"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "La copia automatica richiede un contesto sicuro."
|
||||
@@ -120,7 +117,7 @@ msgstr "Media"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilizzo medio della CPU dei container"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "La media supera <0>{value}{0}</0>"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "Utilizzo medio della CPU a livello di sistema"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Backup"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Backup"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Larghezza di banda"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel supporta OpenID Connect e molti provider di autenticazione OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel supporta OpenID Connect e molti provider di autenticazione OAuth2
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel utilizza <0>Shoutrrr</0> per integrarsi con i servizi di notifica popolari."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binario"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binario"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Controlla i log per maggiori dettagli."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Controlla il tuo servizio di notifica"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Clicca per copiare"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Colonne"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Istruzioni da riga di comando"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Configura come ricevere le notifiche di avviso."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Conferma password"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Continua"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Continua"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiato negli appunti"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Copia host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copia comando Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Copia comando Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Copia testo"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Utilizzo CPU"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Crea account"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Crea account"
|
||||
msgid "Dark"
|
||||
msgstr "Scuro"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Cruscotto"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Cruscotto"
|
||||
msgid "Default time period"
|
||||
msgstr "Periodo di tempo predefinito"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Elimina"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disco"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Utilizzo Memoria Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "I/O di Rete Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Documentazione"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
@@ -324,13 +312,13 @@ msgstr "Inserisci l'indirizzo email per reimpostare la password"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Inserisci l'indirizzo email..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Supera {0}{1} negli ultimi {2, plural, one {# minuto} other {# minuti}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Salvataggio delle impostazioni fallito"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Invio della notifica di test fallito"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Aggiornamento dell'avviso fallito"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtra..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Per <0>{min}</0> {min, plural, one {minuto} other {minuti}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Password dimenticata?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "Generale"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Griglia"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Lingua"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Chiaro"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Disconnetti"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Disconnetti"
|
||||
msgid "Login"
|
||||
msgstr "Accedi"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Tentativo di accesso fallito"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Log"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Gestisci le preferenze di visualizzazione e notifica."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Memoria"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Utilizzo Memoria"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Utilizzo della memoria dei container Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Rete"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Traffico di rete dei container Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Traffico di rete delle interfacce pubbliche"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Nessun risultato trovato."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Nessun sistema trovato."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Notifiche"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Supporto OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Supporto OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Ad ogni riavvio, i sistemi nel database verranno aggiornati per corrispondere ai sistemi definiti nel file."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Apri menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Oppure continua con"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Oppure continua con"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Sovrascrivi avvisi esistenti"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Pagina"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Pagine / Impostazioni"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "La password deve essere di almeno 10 caratteri."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "La password deve contenere almeno 8 caratteri."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Richiesta di reimpostazione password ricevuta"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pausa"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pausa"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Si prega di <0>configurare un server SMTP</0> per garantire la consegna degli avvisi."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Si prega di controllare i log per maggiori dettagli."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Si prega di controllare le credenziali e riprovare"
|
||||
@@ -548,7 +545,7 @@ msgstr "Si prega di controllare le credenziali e riprovare"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Si prega di creare un account amministratore"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Si prega di abilitare i pop-up per questo sito"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Si prega di abilitare i pop-up per questo sito"
|
||||
msgid "Please log in again"
|
||||
msgstr "Si prega di accedere nuovamente"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Si prega di consultare <0>la documentazione</0> per le istruzioni."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Si prega di consultare <0>la documentazione</0> per le istruzioni."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Si prega di accedere al proprio account"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Porta"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Lingua Preferita"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Chiave Pub"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Ricevuto"
|
||||
msgid "Reset Password"
|
||||
msgstr "Reimposta Password"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Riprendi"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Salva l'indirizzo usando il tasto invio o la virgola. Lascia vuoto per d
|
||||
msgid "Save Settings"
|
||||
msgstr "Salva Impostazioni"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Cerca"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Cerca sistemi o impostazioni..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Inviato"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Imposta l'intervallo di tempo predefinito per i grafici quando viene visualizzato un sistema."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Impostazioni"
|
||||
msgid "Settings saved"
|
||||
msgstr "Impostazioni salvate"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Accedi"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Impostazioni SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Ordina per"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Stato"
|
||||
@@ -665,12 +666,14 @@ msgstr "Utilizzo Swap"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Sistemi"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Sistemi"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "I sistemi possono essere gestiti in un file <0>config.yml</0> all'interno della tua directory dati."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabella"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Test <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Notifica di test inviata"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "L'agente deve essere in esecuzione sul sistema per connettersi. Copia il comando di installazione per l'agente qui sotto."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "L'agente deve essere in esecuzione sul sistema per connettersi. Copia il<0>docker-compose.yml</0> per l'agente qui sotto."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "L'agente deve essere in esecuzione sul sistema per connettersi. Copia il
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Quindi accedi al backend e reimposta la password del tuo account utente nella tabella degli utenti."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Questa azione non può essere annullata. Questo eliminerà permanentemente tutti i record attuali per {name} dal database."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Attiva quando lo stato passa tra up e down"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Attiva quando l'utilizzo di un disco supera una soglia"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Aggiornato in tempo reale. Clicca su un sistema per visualizzare le informazioni."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Utilizzo della partizione root"
|
||||
msgid "Used"
|
||||
msgstr "Utilizzato"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "nome utente"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Nome utente"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Utenti"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Vista"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Colonne visibili"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "In attesa di abbastanza record da visualizzare"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ja\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30日間"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "アクション"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "アクティブなアラート"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "<0>システム</0>を追加"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "新しいシステムを追加"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "システムを追加"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "URLを追加"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "チャートの表示オプションを調整します。"
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "管理者"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "代理"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "アラート"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "すべてのシステム"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "{name}を削除してもよろしいですか?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "認証プロバイダー"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "自動コピーには安全なコンテキストが必要です。"
|
||||
@@ -120,7 +117,7 @@ msgstr "平均"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "コンテナの平均CPU使用率"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "平均が<0>{value}{0}</0>を超えています"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "システム全体の平均CPU使用率"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "バックアップ"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "バックアップ"
|
||||
msgid "Bandwidth"
|
||||
msgstr "帯域幅"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "BeszelはOpenID Connectと多くのOAuth2認証プロバイダーをサポートしています。"
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "BeszelはOpenID Connectと多くのOAuth2認証プロバイダーをサ
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszelは<0>Shoutrrr</0>を使用して、人気のある通知サービスと統合します。"
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "バイナリ"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "バイナリ"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "キャッシュ / バッファ"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "詳細についてはログを確認してください。"
|
||||
msgid "Check your notification service"
|
||||
msgstr "通知サービスを確認してください"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "クリックしてコピー"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "列"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "コマンドラインの指示"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "アラート通知の受信方法を設定します。"
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "パスワードを確認"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "続行"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "続行"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "クリップボードにコピーされました"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "コピー"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "ホストをコピー"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Linuxコマンドをコピー"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Linuxコマンドをコピー"
|
||||
msgid "Copy text"
|
||||
msgstr "テキストをコピー"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU使用率"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "アカウントを作成"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "アカウントを作成"
|
||||
msgid "Dark"
|
||||
msgstr "ダーク"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "ダッシュボード"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "ダッシュボード"
|
||||
msgid "Default time period"
|
||||
msgstr "デフォルトの期間"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "削除"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "ディスク"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Dockerメモリ使用率"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "DockerネットワークI/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "ドキュメント"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "メール"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "メール"
|
||||
@@ -324,13 +312,13 @@ msgstr "パスワードをリセットするためにメールアドレスを入
|
||||
msgid "Enter email address..."
|
||||
msgstr "メールアドレスを入力..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "エラー"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "過去{2, plural, one {# 分} other {# 分}}で{0}{1}を超えています"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "設定の保存に失敗しました"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "テスト通知の送信に失敗しました"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "アラートの更新に失敗しました"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "フィルター..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "<0>{min}</0> {min, plural, one {分} other {分}}の間"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "パスワードをお忘れですか?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "一般"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "グリッド"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "ホスト / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "カーネル"
|
||||
msgid "Language"
|
||||
msgstr "言語"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "レイアウト"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "ライト"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "ログアウト"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "ログアウト"
|
||||
msgid "Login"
|
||||
msgstr "ログイン"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "ログイン試行に失敗しました"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "ログ"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "表示と通知の設定を管理します。"
|
||||
msgid "Max 1 min"
|
||||
msgstr "最大1分"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "メモリ"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "メモリ使用率"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Dockerコンテナのメモリ使用率"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "名前"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "帯域"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Dockerコンテナのネットワークトラフィック"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "パブリックインターフェースのネットワークトラフィック"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "結果が見つかりませんでした。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "システムが見つかりませんでした。"
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "通知"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDCサポート"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "OAuth 2 / OIDCサポート"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "再起動のたびに、データベース内のシステムはファイルに定義されたシステムに一致するように更新されます。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "メニューを開く"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "または続行"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "または続行"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "既存のアラートを上書き"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "ページ"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "ページ / 設定"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "パスワード"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "パスワードは10文字以上でなければなりません。"
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "パスワードは8文字以上である必要があります。"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "パスワードリセットのリクエストを受け取りました"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "一時停止"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "一時停止"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "アラートが配信されるように<0>SMTPサーバーを設定</0>してください。"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "詳細についてはログを確認してください。"
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "資格情報を確認して再試行してください"
|
||||
@@ -548,7 +545,7 @@ msgstr "資格情報を確認して再試行してください"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "管理者アカウントを作成してください"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "このサイトのポップアップを有効にしてください"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "このサイトのポップアップを有効にしてください"
|
||||
msgid "Please log in again"
|
||||
msgstr "再度ログインしてください"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "手順については<0>ドキュメント</0>を参照してください。"
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "手順については<0>ドキュメント</0>を参照してくださ
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "アカウントにサインインしてください"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "ポート"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "優先言語"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "公開鍵"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "受信"
|
||||
msgid "Reset Password"
|
||||
msgstr "パスワードをリセット"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "再開"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Enterキーまたはカンマを使用してアドレスを保存しま
|
||||
msgid "Save Settings"
|
||||
msgstr "設定を保存"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "検索"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "システムまたは設定を検索..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "送信"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "システムを表示する際のチャートのデフォルトの時間範囲を設定します。"
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "設定"
|
||||
msgid "Settings saved"
|
||||
msgstr "設定が保存されました"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "サインイン"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP設定"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "並び替え基準"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "ステータス"
|
||||
@@ -665,12 +666,14 @@ msgstr "スワップ使用量"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "システム"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "システム"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "システム"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "システムはデータディレクトリ内の<0>config.yml</0>ファイルで管理できます。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "テーブル"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "テスト<0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "テスト通知が送信されました"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "接続するにはエージェントがシステム上で実行されている必要があります。以下のエージェントのインストールコマンドをコピーしてください。"
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "接続するにはエージェントがシステム上で実行されている必要があります。以下のエージェント用<0>docker-compose.yml</0>をコピーしてください。"
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "接続するにはエージェントがシステム上で実行されて
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "その後、バックエンドにログインして、ユーザーテーブルでユーザーアカウントのパスワードをリセットしてください。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "この操作は元に戻せません。これにより、データベースから{name}のすべての現在のレコードが永久に削除されます。"
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "ステータスが上から下に切り替わるときにトリガーさ
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "ディスクの使用量がしきい値を超えたときにトリガーされます"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "リアルタイムで更新されます。システムをクリックして情報を表示します。"
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "ルートパーティションの使用量"
|
||||
msgid "Used"
|
||||
msgstr "使用済み"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "ユーザー名"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "ユーザー名"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "ユーザー"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "表示"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "表示列"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "表示するのに十分なレコードを待っています"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ko\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30일"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "작업"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "활성 경고"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "<0>시스템</0> 추가"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "새 시스템 추가"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "시스템 추가"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "URL 추가"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "차트의 표시 옵션 조정."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "관리자"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "에이젠"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "경고"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "모든 시스템"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "{name}을(를) 삭제하시겠습니까?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "인증 제공자"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "자동 복사는 안전한 컨텍스트가 필요합니다."
|
||||
@@ -120,7 +117,7 @@ msgstr "평균"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "컨테이너의 평균 CPU 사용량"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "평균이 <0>{value}{0}</0>을 초과합니다"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "시스템 전체의 평균 CPU 사용량"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "백업"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "백업"
|
||||
msgid "Bandwidth"
|
||||
msgstr "대역폭"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel은 OpenID Connect 및 많은 OAuth2 인증 제공자를 지원합니다."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel은 OpenID Connect 및 많은 OAuth2 인증 제공자를 지원합
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel은 <0>Shoutrrr</0>을 사용하여 인기 있는 알림 서비스와 통합합니다."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "이진"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "이진"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "캐시 / 버퍼"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "자세한 내용은 로그를 확인하세요."
|
||||
msgid "Check your notification service"
|
||||
msgstr "알림 서비스를 확인하세요."
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "클릭하여 복사"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "열"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "명령줄 지침"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "경고 알림을 받는 방법을 구성하세요."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "비밀번호 확인"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "계속"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "계속"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "클립보드에 복사됨"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "복사"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "호스트 복사"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "리눅스 명령 복사"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "리눅스 명령 복사"
|
||||
msgid "Copy text"
|
||||
msgstr "텍스트 복사"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU 사용량"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "계정 생성"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "계정 생성"
|
||||
msgid "Dark"
|
||||
msgstr "어두운"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "대시보드"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "대시보드"
|
||||
msgid "Default time period"
|
||||
msgstr "기본 시간 기간"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "삭제"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "디스크"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "도커 메모리 사용량"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "도커 네트워크 I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "문서"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "이메일"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "이메일"
|
||||
@@ -324,13 +312,13 @@ msgstr "비밀번호를 재설정하려면 이메일 주소를 입력하세요"
|
||||
msgid "Enter email address..."
|
||||
msgstr "이메일 주소 입력..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "오류"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "마지막 {2, plural, one {# 분} other {# 분}} 동안 {0}{1} 초과"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "설정 저장 실패"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "테스트 알림 전송 실패"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "경고 업데이트 실패"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "필터..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "<0>{min}</0> {min, plural, one {분} other {분}} 동안"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "비밀번호를 잊으셨나요?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "일반"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "그리드"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "호스트 / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "커널"
|
||||
msgid "Language"
|
||||
msgstr "언어"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "레이아웃"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "밝은"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "로그아웃"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "로그아웃"
|
||||
msgid "Login"
|
||||
msgstr "로그인"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "로그인 시도 실패"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "로그"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "디스플레이 및 알림 환경설정을 관리하세요."
|
||||
msgid "Max 1 min"
|
||||
msgstr "최대 1분"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "메모리"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "메모리 사용량"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "도커 컨테이너의 메모리 사용량"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "이름"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "네트"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "도커 컨테이너의 네트워크 트래픽"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "공용 인터페이스의 네트워크 트래픽"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "결과가 없습니다."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "시스템을 찾을 수 없습니다."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "알림"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC 지원"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "OAuth 2 / OIDC 지원"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "각 재시작 시, 데이터베이스의 시스템이 파일에 정의된 시스템과 일치하도록 업데이트됩니다."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "메뉴 열기"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "또는 계속하기"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "또는 계속하기"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "기존 경고 덮어쓰기"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "페이지"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "페이지 / 설정"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "비밀번호"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "비밀번호는 최소 10자 이상이어야 합니다."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "비밀번호는 최소 8자 이상이어야 합니다."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "비밀번호 재설정 요청이 접수되었습니다"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "일시 중지"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "일시 중지"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "경고가 전달되도록 <0>SMTP 서버를 구성</0>하세요."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "자세한 내용은 로그를 확인하세요."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "자격 증명을 확인하고 다시 시도하세요."
|
||||
@@ -548,7 +545,7 @@ msgstr "자격 증명을 확인하고 다시 시도하세요."
|
||||
msgid "Please create an admin account"
|
||||
msgstr "관리자 계정을 생성하세요."
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "이 사이트에 대한 팝업을 활성화하세요."
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "이 사이트에 대한 팝업을 활성화하세요."
|
||||
msgid "Please log in again"
|
||||
msgstr "다시 로그인하세요."
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "지침은 <0>문서</0>를 참조하세요."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "지침은 <0>문서</0>를 참조하세요."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "계정에 로그인하세요."
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "포트"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "선호 언어"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "공개 키"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "수신됨"
|
||||
msgid "Reset Password"
|
||||
msgstr "비밀번호 재설정"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "재개"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Enter 키 또는 쉼표를 사용하여 주소를 저장하세요. 이
|
||||
msgid "Save Settings"
|
||||
msgstr "설정 저장"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "검색"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "시스템 또는 설정 검색..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "보냄"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "시스템을 볼 때 차트의 기본 시간 범위를 설정합니다."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "설정"
|
||||
msgid "Settings saved"
|
||||
msgstr "설정이 저장되었습니다."
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "로그인"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP 설정"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "정렬 기준"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "상태"
|
||||
@@ -665,12 +666,14 @@ msgstr "스왑 사용량"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "시스템"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "시스템"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "시스템"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "시스템은 데이터 디렉토리 내의 <0>config.yml</0> 파일에서 관리할 수 있습니다."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "테이블"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "테스트 <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "테스트 알림이 전송되었습니다."
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "에이전트가 시스템에서 실행 중이어야 연결할 수 있습니다. 아래의 에이전트 설치 명령을 복사하세요."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "에이전트가 시스템에서 실행 중이어야 연결할 수 있습니다. 아래의 <0>docker-compose.yml</0>을 복사하세요."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "에이전트가 시스템에서 실행 중이어야 연결할 수 있습
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "그런 다음 백엔드에 로그인하여 사용자 테이블에서 사용자 계정 비밀번호를 재설정하세요."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "이 작업은 되돌릴 수 없습니다. 데이터베이스에서 {name}에 대한 모든 현재 기록이 영구적으로 삭제됩니다."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "상태가 상승과 하강 사이에서 전환될 때 트리거됩니다
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "디스크 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "실시간으로 업데이트됩니다. 시스템을 클릭하여 정보를 확인하세요."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "루트 파티션의 사용량"
|
||||
msgid "Used"
|
||||
msgstr "사용됨"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "사용자 이름"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "사용자 이름"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "사용자"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "보기"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "표시 열"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "표시할 충분한 기록을 기다리는 중"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: nl\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-08 17:29\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 dagen"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Acties"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Actieve waarschuwingen"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Voeg <0>Systeem</0> toe"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Nieuw systeem toevoegen"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Voeg systeem toe"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Voeg URL toe"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Weergaveopties voor grafieken aanpassen."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Waarschuwingen"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Alle systemen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Weet je zeker dat je {name} wilt verwijderen?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Authenticatie aanbieders"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatisch kopiëren vereist een veilige context."
|
||||
@@ -120,13 +117,13 @@ msgstr "Gemiddelde"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Gemiddeld CPU-gebruik van containers"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Gemiddelde overschrijdt <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Gemiddeld stroomverbruik van GPU's"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Gemiddeld systeembrede CPU-gebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Gemiddeld gebruik van {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Back-ups"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Back-ups"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandbreedte"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel ondersteunt OpenID Connect en vele OAuth2 authenticatieaanbieders."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel ondersteunt OpenID Connect en vele OAuth2 authenticatieaanbieders
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel gebruikt <0>Shoutrr</0> om te integreren met populaire meldingsdiensten."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binair"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binair"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffers"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Controleer de logs voor meer details."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Controleer je meldingsservice"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Klik om te kopiëren"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Kolommen"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Instructies voor de opdrachtregel"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Configureer hoe je waarschuwingsmeldingen ontvangt."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Bevestig wachtwoord"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Volgende"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Volgende"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Gekopieerd naar het klembord"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopieer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopieer host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopieer Linux-opdracht"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Kopieer Linux-opdracht"
|
||||
msgid "Copy text"
|
||||
msgstr "Kopieer tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Processorgebruik"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Account aanmaken"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Account aanmaken"
|
||||
msgid "Dark"
|
||||
msgstr "Donker"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Dashboard"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Dashboard"
|
||||
msgid "Default time period"
|
||||
msgstr "Standaard tijdsduur"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Schijf"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Docker geheugengebruik"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker netwerk I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Documentatie"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
@@ -324,13 +312,13 @@ msgstr "Voer een e-mailadres in om het wachtwoord opnieuw in te stellen"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Voer een e-mailadres in..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Fout"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Overschrijdt {0}{1} in de laatste {2, plural, one {# minuut} other {# minuten}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Instellingen opslaan mislukt"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Versturen test notificatie mislukt"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Bijwerken waarschuwing mislukt"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Voor <0>{min}</0> {min, plural, one {minuut} other {minuten}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Wachtwoord vergeten?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Algemeen"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "GPU stroomverbruik"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Raster"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP-adres"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Taal"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Indeling"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Licht"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Afmelden"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Afmelden"
|
||||
msgid "Login"
|
||||
msgstr "Aanmelden"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Aanmelding mislukt"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logs"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Weergave- en notificatievoorkeuren beheren."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Geheugen"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Geheugengebruik"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Geheugengebruik van docker containers"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Netwerkverkeer van docker containers"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Netwerkverkeer van publieke interfaces"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Geen resultaten gevonden."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Geen systemen gevonden."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Meldingen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC ondersteuning"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "OAuth 2 / OIDC ondersteuning"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Bij elke herstart zullen systemen in de database worden bijgewerkt om overeen te komen met de systemen die in het bestand zijn gedefinieerd."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Open menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Of ga verder met"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Of ga verder met"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Overschrijf bestaande waarschuwingen"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Pagina"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Pagina's / Instellingen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Wachtwoord"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Het wachtwoord moet tenminste 10 tekens lang zijn."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Het wachtwoord moet minimaal 8 tekens bevatten."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Wachtwoord reset aanvraag ontvangen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pauze"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pauze"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "<0>Configureer een SMTP-server </0> om ervoor te zorgen dat waarschuwingen worden afgeleverd."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Controleer de logs voor meer details."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Controleer je aanmeldgegevens en probeer het opnieuw"
|
||||
@@ -548,7 +545,7 @@ msgstr "Controleer je aanmeldgegevens en probeer het opnieuw"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Maak een beheerdersaccount aan"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Activeer pop-ups voor deze website"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Activeer pop-ups voor deze website"
|
||||
msgid "Please log in again"
|
||||
msgstr "Meld je opnieuw aan"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Bekijk <0>de documentatie</0> voor instructies."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Bekijk <0>de documentatie</0> voor instructies."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Meld je aan bij je account"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Poort"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Voorkeurstaal"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Publieke sleutel"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Ontvangen"
|
||||
msgid "Reset Password"
|
||||
msgstr "Wachtwoord resetten"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Hervatten"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Bewaar het adres met de enter-toets of komma. Laat leeg om e-mailmelding
|
||||
msgid "Save Settings"
|
||||
msgstr "Instellingen opslaan"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Zoek naar systemen of instellingen..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Verzonden"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Stelt het standaard tijdsbereik voor grafieken in wanneer een systeem wordt bekeken."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Instellingen"
|
||||
msgid "Settings saved"
|
||||
msgstr "Instellingen opgeslagen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Aanmelden"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP-instellingen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sorteren op"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@@ -665,12 +666,14 @@ msgstr "Swap gebruik"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Systeem"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systemen"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Systemen"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Systemen kunnen worden beheerd in een <0>config.yml</0> bestand in je data map."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabel"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Test <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testmelding verzonden"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "De agent moet op het systeem draaien om te verbinden. Kopieer het installatiecommando voor de agent hieronder."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "De agent moet op het systeem draaien om te verbinden. Kopieer de<0>docker-compose.yml</0> voor de agent hieronder."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "De agent moet op het systeem draaien om te verbinden. Kopieer de<0>docke
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Log vervolgens in op de backend en reset het wachtwoord van je gebruikersaccount in het gebruikersoverzicht."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Deze actie kan niet ongedaan worden gemaakt. Dit zal alle huidige records voor {name} permanent verwijderen uit de database."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Triggert wanneer de status schakelt tussen up en down"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Triggert wanneer het gebruik van een schijf een drempelwaarde overschrijdt"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "In realtime bijgewerkt. Klik op een systeem om informatie te bekijken."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Gebruik van root-partitie"
|
||||
msgid "Used"
|
||||
msgstr "Gebruikt"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "gebruikersnaam"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Gebruikersnaam"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Gebruikers"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Weergave"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Zichtbare kolommen"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Wachtend op genoeg records om weer te geven"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pl\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 14:26\n"
|
||||
"PO-Revision-Date: 2025-01-01 13:11\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 dni"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Akcje"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktywne alerty"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Dodaj <0>system</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Dodaj nowy system"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Dodaj system"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Dodaj URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Dostosuj opcje wyświetlania wykresów."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Alerty"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Wszystkie systemy"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Czy na pewno chcesz usunąć {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Dostawcy Autoryzacji"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatyczne kopiowanie wymaga bezpiecznego kontekstu."
|
||||
@@ -120,13 +117,13 @@ msgstr "Średnia"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Średnie wykorzystanie procesora przez kontenery"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Średnia przekracza <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Średnie zużycie energii przez GPU"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Średnie wykorzystanie procesora w całym systemie"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Średnie użycie {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Kopie"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Kopie"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Przepustowość"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel obsługuje OpenID Connect i wielu dostawców uwierzytelniania OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel obsługuje OpenID Connect i wielu dostawców uwierzytelniania OAu
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel używa <0>Shoutrrr</0> do integracji z popularnych serwisami powiadomień."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Plik binarny"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Plik binarny"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Pamięć podręczna / Bufory"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Sprawdź logi, aby uzyskać więcej informacji."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Sprawdź swój serwis powiadomień"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Kliknij, aby skopiować"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Kolumny"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Instrukcje wiersza poleceń"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Skonfiguruj sposób otrzymywania powiadomień."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Potwierdź hasło"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Kontynuuj"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Kontynuuj"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Skopiowano do schowka"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopiuj"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopiuj host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopiuj polecenie Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Kopiuj polecenie Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Kopiuj tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "Procesor"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "Procesor"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Użycie procesora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Utwórz konto"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Utwórz konto"
|
||||
msgid "Dark"
|
||||
msgstr "Ciemny"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Panel kontrolny"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Panel kontrolny"
|
||||
msgid "Default time period"
|
||||
msgstr "Domyślny przedział czasu"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Dysk"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Wykorzystanie pamięci przez Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Sieć Docker I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentacja"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "e-mail"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
@@ -324,13 +312,13 @@ msgstr "Wprowadź adres e-mail, aby zresetować hasło"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Wprowadź adres e-mail..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Błąd"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Przekracza {0}{1} w ciągu ostatnich {2, plural, one {# minuty} other {# minut}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Nie udało się zapisać ustawień"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Nie udało się wysłać testowego powiadomienia"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Nie udało się zaktualizować powiadomienia"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtruj..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Na <0>{min}</0> {min, plural, one {minutę} other {minut}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Zapomniałeś hasła?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Ogólne"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "Moc GPU"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Siatka"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / adres IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Jądro"
|
||||
msgid "Language"
|
||||
msgstr "Język"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Układ"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Jasny"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Wyloguj"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Wyloguj"
|
||||
msgid "Login"
|
||||
msgstr "Logowanie"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Próba logowania nie powiodła się"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logi"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Zarządzaj preferencjami wyświetlania i powiadomień."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Maks. 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Pamięć"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Wykorzystanie pamięci"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Użycie pamięci przez kontenery Docker."
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Sieć"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Ruch sieciowy kontenerów Docker."
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Ruch sieciowy interfejsów publicznych"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Brak wyników."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Nie znaleziono systemów."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Powiadomienia"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Wsparcie OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Wsparcie OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Przy każdym ponownym uruchomieniu systemy w bazie danych będą aktualizowane, aby odpowiadały systemom zdefiniowanym w pliku."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Otwórz menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Lub kontynuuj z"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Lub kontynuuj z"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Nadpisz istniejące alerty"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Strona"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Strony / Ustawienia"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Hasło musi mieć co najmniej 10 znaków."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Hasło musi mieć co najmniej 8 znaków."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Otrzymane żądanie resetowania hasła"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pauza"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pauza"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Proszę <0>skonfigurować serwer SMTP</0>, aby zapewnić dostarczanie powiadomień."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Sprawdź logi, aby uzyskać więcej informacji."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Sprawdź swoje poświadczenia i spróbuj ponownie"
|
||||
@@ -548,7 +545,7 @@ msgstr "Sprawdź swoje poświadczenia i spróbuj ponownie"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Utwórz konto administratora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Włącz wyskakujące okna dla tej strony"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Włącz wyskakujące okna dla tej strony"
|
||||
msgid "Please log in again"
|
||||
msgstr "Zaloguj się ponownie"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Proszę zapoznać się z <0>dokumentacją</0>."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Proszę zapoznać się z <0>dokumentacją</0>."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Zaloguj się na swoje konto"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Preferowany język"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Klucz publiczny"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Otrzymane"
|
||||
msgid "Reset Password"
|
||||
msgstr "Resetuj hasło"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Wznów"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Zapisz adres, używając klawisza enter lub przecinka. Pozostaw puste, a
|
||||
msgid "Save Settings"
|
||||
msgstr "Zapisz ustawienia"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Szukaj systemów lub ustawień..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Wysłane"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Ustawia domyślny zakres czasowy dla wykresów, gdy system jest wyświetlony."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Ustawienia"
|
||||
msgid "Settings saved"
|
||||
msgstr "Ustawienia zapisane"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Ustawienia SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sortuj według"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@@ -665,12 +666,14 @@ msgstr "Użycie pamięci wymiany"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Systemy"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Systemy"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Systemy mogą być zarządzane w pliku <0>config.yml</0> znajdującym się w Twoim katalogu danych."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabela"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Test <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testowe powiadomienie wysłane."
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Agent musi być uruchomiony na systemie, aby nawiązać połączenie. Skopiuj poniżej polecenie instalacji agenta."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Agent musi być uruchomiony na systemie, aby nawiązać połączenie. Skopiuj poniżej plik <0>docker-compose.yml</0> dla agenta."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Agent musi być uruchomiony na systemie, aby nawiązać połączenie. Sk
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Następnie zaloguj się do panelu administracyjnego i zresetuj hasło do konta użytkownika w tabeli użytkowników."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Tej akcji nie można cofnąć. Spowoduje to trwałe usunięcie wszystkich bieżących rekordów dla {name} z bazy danych."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Wyzwalane, gdy status przełącza się między stanem aktywnym a nieakty
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Wyzwalane, gdy wykorzystanie któregokolwiek dysku przekroczy ustalony próg"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Aktualizowane w czasie rzeczywistym. Kliknij system, aby zobaczyć informacje."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Użycie partycji głównej"
|
||||
msgid "Used"
|
||||
msgstr "Używane"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "nazwa użytkownika"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Nazwa użytkownika"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Użytkownicy"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Widok"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Widoczne kolumny"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Oczekiwanie na wystarczającą liczbę rekordów do wyświetlenia"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 dias"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Ações"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Alertas Ativos"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Adicionar <0>Sistema</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Adicionar Novo Sistema"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Adicionar sistema"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Adicionar URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Ajustar opções de exibição para gráficos."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agente"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Alertas"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Todos os Sistemas"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Tem certeza de que deseja excluir {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Provedores de Autenticação"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "A cópia automática requer um contexto seguro."
|
||||
@@ -120,7 +117,7 @@ msgstr "Média"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilização média de CPU dos contêineres"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "A média excede <0>{value}{0}</0>"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "Utilização média de CPU em todo o sistema"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Backups"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Largura de Banda"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel suporta OpenID Connect e muitos provedores de autenticação OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel suporta OpenID Connect e muitos provedores de autenticação OAut
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel usa <0>Shoutrrr</0> para integrar com serviços de notificação populares."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binário"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Binário"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffers"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Verifique os logs para mais detalhes."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Verifique seu serviço de notificação"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Clique para copiar"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Colunas"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Instruções de linha de comando"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Configure como você recebe notificações de alerta."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Confirmar senha"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Continuar"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado para a área de transferência"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Copiar host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copiar comando Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Copiar comando Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Copiar texto"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Uso de CPU"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Criar conta"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Criar conta"
|
||||
msgid "Dark"
|
||||
msgstr "Escuro"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Painel"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Painel"
|
||||
msgid "Default time period"
|
||||
msgstr "Período de tempo padrão"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Excluir"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disco"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Uso de Memória do Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "E/S de Rede do Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Documentação"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
@@ -324,13 +312,13 @@ msgstr "Digite o endereço de email para redefinir a senha"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Digite o endereço de email..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Erro"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Excede {0}{1} no último {2, plural, one {# minuto} other {# minutos}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Falha ao salvar configurações"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Falha ao enviar notificação de teste"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Falha ao atualizar alerta"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrar..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Por <0>{min}</0> {min, plural, one {minuto} other {minutos}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Esqueceu a senha?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "Geral"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Grade"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Kernel"
|
||||
msgid "Language"
|
||||
msgstr "Idioma"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr ""
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Claro"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Sair"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Sair"
|
||||
msgid "Login"
|
||||
msgstr "Entrar"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Tentativa de login falhou"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Logs"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Gerenciar preferências de exibição e notificação."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Máx 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Memória"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Uso de Memória"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Uso de memória dos contêineres Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Rede"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Tráfego de rede dos contêineres Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Tráfego de rede das interfaces públicas"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Nenhum resultado encontrado."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Nenhum sistema encontrado."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Notificações"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Suporte a OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Suporte a OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "A cada reinício, os sistemas no banco de dados serão atualizados para corresponder aos sistemas definidos no arquivo."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Abrir menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Ou continue com"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Ou continue com"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Sobrescrever alertas existentes"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Página"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Páginas / Configurações"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Senha"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "A senha deve ter pelo menos 10 caracteres."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "A senha deve ter pelo menos 8 caracteres."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Solicitação de redefinição de senha recebida"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Pausar"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Pausar"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Por favor, <0>configure um servidor SMTP</0> para garantir que os alertas sejam entregues."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Por favor, verifique os logs para mais detalhes."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Por favor, verifique suas credenciais e tente novamente"
|
||||
@@ -548,7 +545,7 @@ msgstr "Por favor, verifique suas credenciais e tente novamente"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Por favor, crie uma conta de administrador"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Por favor, habilite pop-ups para este site"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Por favor, habilite pop-ups para este site"
|
||||
msgid "Please log in again"
|
||||
msgstr "Por favor, faça login novamente"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Por favor, veja <0>a documentação</0> para instruções."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Por favor, veja <0>a documentação</0> para instruções."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Por favor, entre na sua conta"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Porta"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Idioma Preferido"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Chave Pública"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Recebido"
|
||||
msgid "Reset Password"
|
||||
msgstr "Redefinir Senha"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Retomar"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Salve o endereço usando a tecla enter ou vírgula. Deixe em branco para
|
||||
msgid "Save Settings"
|
||||
msgstr "Salvar Configurações"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Pesquisar"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Pesquisar por sistemas ou configurações..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Enviado"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Define o intervalo de tempo padrão para gráficos quando um sistema é visualizado."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Configurações"
|
||||
msgid "Settings saved"
|
||||
msgstr "Configurações salvas"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Entrar"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Configurações SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Ordenar Por"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
@@ -665,12 +666,14 @@ msgstr "Uso de Swap"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Sistemas"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Sistemas"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Os sistemas podem ser gerenciados em um arquivo <0>config.yml</0> dentro do seu diretório de dados."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabela"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Testar <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Notificação de teste enviada"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "O agente deve estar em execução no sistema para conectar. Copie o comando de instalação para o agente abaixo."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "O agente deve estar em execução no sistema para conectar. Copie o <0>docker-compose.yml</0> para o agente abaixo."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "O agente deve estar em execução no sistema para conectar. Copie o <0>d
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Em seguida, faça login no backend e redefina a senha da sua conta de usuário na tabela de usuários."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Esta ação não pode ser desfeita. Isso excluirá permanentemente todos os registros atuais de {name} do banco de dados."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Dispara quando o status alterna entre ativo e inativo"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Dispara quando o uso de qualquer disco excede um limite"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Atualizado em tempo real. Clique em um sistema para ver informações."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Uso da partição raiz"
|
||||
msgid "Used"
|
||||
msgstr "Usado"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "nome de usuário"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Nome de usuário"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Usuários"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Visual"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Campos Visíveis"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Aguardando registros suficientes para exibir"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ru\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 дней"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Действия"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Активные оповещения"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Добавить <0>Систему</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Добавить новую систему"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Добавить систему"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Добавить URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Настроить параметры отображения для графиков."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Администратор"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Агент"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Оповещения"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Все системы"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Вы уверены, что хотите удалить {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Поставщики аутентификации"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Автоматическое копирование требует безопасного контекста."
|
||||
@@ -120,13 +117,13 @@ msgstr "Среднее"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Среднее использование CPU контейнерами"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Среднее превышает <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Среднее потребление мощности всеми GPU"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Среднее использование CPU по всей систем
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Среднее использование {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Резервные копии"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Резервные копии"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Пропускная способность"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel поддерживает OpenID Connect и многих поставщиков аутентификации OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel поддерживает OpenID Connect и многих пост
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel использует <0>Shoutrrr</0> для интеграции с популярными сервисами уведомлений."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Двоичный"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Двоичный"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Кэш / Буферы"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Проверьте журналы для получения более
|
||||
msgid "Check your notification service"
|
||||
msgstr "Проверьте ваш сервис уведомлений"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Нажмите, чтобы скопировать"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Столбцы"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Инструкции командной строки"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Настройте, как вы получаете уведомления об оповещениях."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Подтвердите пароль"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Продолжить"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Продолжить"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Скопировано в буфер обмена"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Копировать"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Копировать хост"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Копировать команду Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Копировать команду Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Копировать текст"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Использование CPU"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Создать аккаунт"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Создать аккаунт"
|
||||
msgid "Dark"
|
||||
msgstr "Темная"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Панель управления"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Панель управления"
|
||||
msgid "Default time period"
|
||||
msgstr "Период по умолчанию"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Диск"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Использование памяти Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Сетевой ввод/вывод Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Документация"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "электронная почта"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Электронная почта"
|
||||
@@ -324,13 +312,13 @@ msgstr "Введите адрес электронной почты для сб
|
||||
msgid "Enter email address..."
|
||||
msgstr "Введите адрес электронной почты..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Ошибка"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Превышает {0}{1} за последние {2, plural, one {# минуту} other {# минут}}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Не удалось сохранить настройки"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Не удалось отправить тестовое уведомление"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Не удалось обновить оповещение"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Фильтр..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "На <0>{min}</0> {min, plural, one {минуту} other {минут}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Забыли пароль?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Общие"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "Потребляемая мощность GPU"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Сетка"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Хост / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Ядро"
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Макет"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Светлая"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Выйти"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Выйти"
|
||||
msgid "Login"
|
||||
msgstr "Вход"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Попытка входа не удалась"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Журналы"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Управляйте предпочтениями отображения
|
||||
msgid "Max 1 min"
|
||||
msgstr "Макс 1 мин"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Использование памяти"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Использование памяти контейнерами Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Имя"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Сеть"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Сетевой трафик контейнеров Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Сетевой трафик публичных интерфейсов"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Результаты не найдены."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Системы не найдены."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Уведомления"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Поддержка OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Поддержка OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "При каждом перезапуске системы в базе данных будут обновлены в соответствии с системами, определенными в файле."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Открыть меню"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Или продолжить с"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Или продолжить с"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Перезаписать существующие оповещения"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Страница"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Страницы / Настройки"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Пароль должен содержать не менее 10 символов."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Пароль должен содержать не менее 8 символов."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Запрос на сброс пароля получен"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Пауза"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Пауза"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Пожалуйста, <0>настройте SMTP-сервер</0>, чтобы гарантировать доставку оповещений."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Пожалуйста, проверьте журналы для получения более подробной информации."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Пожалуйста, проверьте свои учетные данные и попробуйте снова"
|
||||
@@ -548,7 +545,7 @@ msgstr "Пожалуйста, проверьте свои учетные дан
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Пожалуйста, создайте учетную запись администратора"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Пожалуйста, включите всплывающие окна для этого сайта"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Пожалуйста, включите всплывающие окна
|
||||
msgid "Please log in again"
|
||||
msgstr "Пожалуйста, войдите снова"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Пожалуйста, смотрите <0>документацию</0> для получения инструкций."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Пожалуйста, смотрите <0>документацию</0>
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Пожалуйста, войдите в свою учетную запись"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Порт"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Предпочтительный язык"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Ключ"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Получено"
|
||||
msgid "Reset Password"
|
||||
msgstr "Сбросить пароль"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Возобновить"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Сохраните адрес, используя клавишу вво
|
||||
msgid "Save Settings"
|
||||
msgstr "Сохранить настройки"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Поиск"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Поиск систем или настроек..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Отправлено"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Устанавливает диапазон времени по умолчанию для графиков при просмотре системы."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Настройки"
|
||||
msgid "Settings saved"
|
||||
msgstr "Настройки сохранены"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Войти"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Настройки SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Сортировать по"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Статус"
|
||||
@@ -665,12 +666,14 @@ msgstr "Использование подкачки"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Системы"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Системы"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Системы могут управляться в файле <0>config.yml</0> внутри вашего каталога данных."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Таблица"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Тест <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Тестовое уведомление отправлено"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Агент должен работать на системе для подключения. Скопируйте команду установки агента ниже."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Агент должен работать на системе для подключения. Скопируйте <0>docker-compose.yml</0> для агента ниже."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Агент должен работать на системе для по
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Затем войдите в бэкенд и сбросьте пароль вашей учетной записи в таблице пользователей."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Это действие не может быть отменено. Это навсегда удалит все текущие записи для {name} из базы данных."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Срабатывает, когда статус переключаетс
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Срабатывает, когда использование любого диска превышает порог"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Обновляется в реальном времени. Нажмите на систему, чтобы просмотреть информацию."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Использование корневого раздела"
|
||||
msgid "Used"
|
||||
msgstr "Использовано"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "имя пользователя"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Имя пользователя"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Пользователи"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Вид"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Видимые столбцы"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Ожидание достаточного количества записей для отображения"
|
||||
|
||||
831
beszel/site/src/locales/sl/sl.po
Normal file
@@ -0,0 +1,831 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-11-01 11:30-0400\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: sl\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-12-26 18:38\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: sl\n"
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# dan} two {# dneva} few {# dni} other {# dni}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# ura} two {# uri} few {# ur} other {# ur}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 ura"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 teden"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 ur"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 ur"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dni"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Dejanja"
|
||||
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktivna opozorila"
|
||||
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Dodaj <0>sistem</0>"
|
||||
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Dodaj nov sistem"
|
||||
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Dodaj sistem"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
msgstr "Dodaj URL"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:81
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Prilagodi možnosti prikaza za grafikone."
|
||||
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Opozorila"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Vsi sistemi"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Ali ste prepričani, da želite izbrisati {name}?"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Za samodejno kopiranje je potreben varen kontekst."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Povprečno"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Povprečna izkoriščenost procesorja kontejnerjev"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Povprečje presega <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr "Povprečna poraba energije GPU"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Povprečna CPU izkoriščenost v celotnem sistemu"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "Povprečna poraba {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Varnostne kopije"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Pasovna širina"
|
||||
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel podpira OpenID Connect in številne ponudnike preverjanja pristnosti OAuth2."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel uporablja <0>Shoutrrr</0> za integracijo s priljubljenimi storitvami obveščanja."
|
||||
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binarno"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Predpomnilnik / medpomnilniki"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Pozor - možna izguba podatkov"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Spremeni splošne možnosti aplikacije."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Možnosti grafikona"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Preverite {email} za povezavo za ponastavitev."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Za več podrobnosti preverite dnevnike."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Preverite storitev obveščanja"
|
||||
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Klikni za kopiranje"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
msgstr "Navodila za ukazno vrstico"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Nastavi način prejemanja opozorilnih obvestil."
|
||||
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Potrdite geslo"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Nadaljuj"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Kopirano v odložišče"
|
||||
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopiraj"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopiraj gostitelja"
|
||||
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopiraj Linux ukaz"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopiraj besedilo"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU poraba"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Ustvari račun"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Temno"
|
||||
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Nadzorna plošča"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Privzeto časovno obdobje"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Izbriši"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Disk I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Poraba diska"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Poraba diska za {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU poraba"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker poraba spomina"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker I/O mreže"
|
||||
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentacija"
|
||||
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-pošta"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "E-poštna obvestila"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Vnesite e-poštni naslov za ponastavitev gesla"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Vnesite e-poštni naslov..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Napaka"
|
||||
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Preseženo {0}{1} v zadnjih {2, plural, one {# minuti} other {# minutah}}"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:72
|
||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||
msgstr "Obstoječi sistemi, ki niso definirani v <0>config.yml</0>, bodo izbrisani. Prosimo, naredite redne varnostne kopije."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Izvozi nastavitve"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Izvozi trenutne nastavitve sistema."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Preverjanje pristnosti ni uspelo"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Shranjevanje nastavitev ni uspelo"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Pošiljanje testnega obvestila ni uspelo"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Opozorila ni bilo mogoče posodobiti"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Za <0>{min}</0> {min, plural, one {minuto} other {minut}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Pozabljeno geslo?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Splošno"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "GPU poraba moči"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Mreža"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Gostitelj / IP"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:93
|
||||
msgid "If you've lost the password to your admin account, you may reset it using the following command."
|
||||
msgstr "Če ste izgubili geslo za svoj skrbniški račun, ga lahko ponastavite z naslednjim ukazom."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Napačen e-poštni naslov."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Jedro"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Jezik"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Postavitev"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Svetlo"
|
||||
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Odjava"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Prijava"
|
||||
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Poskus prijave ni uspel"
|
||||
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Dnevniki"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:80
|
||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||
msgstr "Namesto tega iščete, kje ustvariti opozorila? Kliknite ikone zvonca <0/> v sistemski tabeli."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Upravljajte nastavitve prikaza in obvestil."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Največ 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Pomnilnik"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Poraba pomnilnika"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Poraba pomnilnika docker kontejnerjev"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Mreža"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Omrežni promet docker kontejnerjev"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Omrežni promet javnih vmesnikov"
|
||||
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Ni rezultatov."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Ne najdem sistema."
|
||||
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Obvestila"
|
||||
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Podpora za OAuth 2 / OIDC"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:61
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Ob vsakem ponovnem zagonu bodo sistemi v zbirki podatkov posodobljeni, da se bodo ujemali s sistemi, definiranimi v datoteki."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Odpri menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Ali nadaljuj z"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Prepiši obstoječe alarme"
|
||||
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Stran"
|
||||
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Strani / Nastavitve"
|
||||
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Geslo"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Geslo mora imeti vsaj 8 znakov."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Prejeta zahteva za ponastavitev gesla"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Premor"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "<0>Nastavite strežnik SMTP</0>, da zagotovite dostavo opozoril."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Za več podrobnosti preverite dnevnike."
|
||||
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Preverite svoje poverilnice in poskusite znova"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Ustvarite skrbniški račun"
|
||||
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Omogočite pojavna okna za to spletno mesto"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Prosimo, prijavite se znova"
|
||||
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Za navodila glejte <0>dokumentacijo</0>."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Prijavite se v svoj račun"
|
||||
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Vrata"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Natančna poraba v zabeleženem času"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Prednostni jezik"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Javni ključ"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Preberano"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Prejeto"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Ponastavi geslo"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Nadaljuj"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Shranite naslov s tipko enter ali vejico. Pustite prazno, da onemogočite e-poštna obvestila."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Shrani nastavitve"
|
||||
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Iskanje"
|
||||
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Iskanje sistemov ali nastavitev..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Glejte <0>nastavitve obvestil</0>, da nastavite način prejemanja opozoril."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Poslano"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Nastavi privzeti časovni obseg za grafikone, ko si ogledujete sistem."
|
||||
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Nastavitve"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Nastavitve so shranjene"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Prijavite se"
|
||||
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP nastavitve"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Razvrsti po"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Swap prostor, ki ga uporablja sistem"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swap uporaba"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Sistemsko"
|
||||
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Sistemi"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:55
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Sisteme lahko upravljate v datoteki <0>config.yml</0> v vašem podatkovnem imeniku."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabela"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatura"
|
||||
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperature sistemskih senzorjev"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:211
|
||||
msgid "Test <0>URL</0>"
|
||||
msgstr "Preveri <0>URL</0>"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:182
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testno obvestilo je poslano"
|
||||
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Za vzpostavitev povezave mora biti agent zagnan v sistemu. Kopirajte spodnji namestitveni ukaz za agenta."
|
||||
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Za vzpostavitev povezave mora biti agent zagnan v sistemu. Kopirajte <0>docker-compose.yml</0> za spodnjega agenta."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:98
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Nato se prijavite v zaledni sistem in ponastavite geslo svojega uporabniškega računa v tabeli uporabnikov."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Tega dejanja ni mogoče razveljaviti. To bo trajno izbrisalo vse trenutne zapise za {name} iz zbirke podatkov."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Prepustnost {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Prepustnost korenskega datotečnega sistema"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "E-pošta za"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Preklopi način mreže"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Obrni temo"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Sproži se, ko kateri koli senzor preseže prag"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Sproži, ko kombinacija gor/dol preseže prag"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Sproži se, ko poraba procesorja preseže prag"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Sproži se, ko uporaba pomnilnika preseže prag"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Sproži se, ko se stanje preklaplja med gor in dol"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Sproži se, ko uporaba katerega koli diska preseže prag"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Posodobljeno v realnem času. Za ogled informacij kliknite na sistem."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Čas delovanja"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Uporaba"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Uporaba korenske particije"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
msgstr "Uporabljeno"
|
||||
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Uporabniki"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Pogled"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Vidna polja"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Čakam na dovolj zapisov za prikaz"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:48
|
||||
msgid "Want to help us make our translations even better? Check out <0>Crowdin</0> for more details."
|
||||
msgstr "Ali nam želite pomagati, da bomo naše prevode še izboljšali? Za več podrobnosti si oglejte <0>Crowdin</0>."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / potisna obvestila"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Pisanje"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "YAML nastaviitev"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "YAML nastavitev"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Vaše uporabniške nastavitve so posodobljene."
|
||||
831
beszel/site/src/locales/sv/sv.po
Normal file
@@ -0,0 +1,831 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-11-01 11:30-0400\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: sv\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-12-20 18:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: sv-SE\n"
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# dag} other {# dagar}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# timme} other {# timmar}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 timme"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 vecka"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 timmar"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 timmar"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dagar"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Åtgärder"
|
||||
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktiva larm"
|
||||
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Lägg till <0>System</0>"
|
||||
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Lägg till nytt system"
|
||||
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Lägg till system"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
msgstr "Lägg till URL"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:81
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Justera visningsalternativ för diagram."
|
||||
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Larm"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Alla system"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Är du säker på att du vill ta bort {name}?"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatisk kopiering kräver en säker kontext."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Genomsnitt"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Genomsnittlig CPU-användning för containrar"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Genomsnittet överskrider <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr "Genomsnittlig strömförbrukning för GPU:er"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Genomsnittlig systemomfattande CPU-användning"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "Genomsnittlig användning av {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Säkerhetskopior"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandbredd"
|
||||
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel stöder OpenID Connect och många OAuth2-autentiseringsleverantörer."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel använder <0>Shoutrrr</0> för att integrera med populära aviseringstjänster."
|
||||
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Binär"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffertar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Avbryt"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Varning - potentiell dataförlust"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Ändra allmänna programalternativ."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Diagramalternativ"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Kontrollera {email} för en återställningslänk."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Kontrollera loggarna för mer information."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Kontrollera din aviseringstjänst"
|
||||
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Klicka för att kopiera"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
msgstr "Instruktioner för kommandoraden"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Konfigurera hur du tar emot larmaviseringar."
|
||||
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Bekräfta lösenord"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Fortsätt"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Kopierat till urklipp"
|
||||
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopiera"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Kopiera värd"
|
||||
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopiera Linux-kommando"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopiera text"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU-användning"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Skapa konto"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Mörkt"
|
||||
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Dashboard"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Standardtidsperiod"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Ta bort"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Disk I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Diskanvändning"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Diskanvändning av {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU-användning"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker Minnesanvändning"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Nätverks-I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokumentation"
|
||||
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-post"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "E-postaviseringar"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Ange e-postadress för att återställa lösenord"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Ange e-postadress..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Fel"
|
||||
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Överskrider {0}{1} under de senaste {2, plural, one {# minuten} other {# minuterna}}"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:72
|
||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||
msgstr "Befintliga system som inte definieras i <0>config.yml</0> kommer att tas bort. Gör regelbundna säkerhetskopior."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Exportera konfiguration"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Exportera din nuvarande systemkonfiguration."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Autentisering misslyckades"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Kunde inte spara inställningar"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Kunde inte skicka testavisering"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Kunde inte uppdatera larm"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrera..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Under <0>{min}</0> {min, plural, one {minut} other {minuter}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Glömt lösenordet?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Allmänt"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "GPU-strömförbrukning"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Rutnät"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Värd / IP"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:93
|
||||
msgid "If you've lost the password to your admin account, you may reset it using the following command."
|
||||
msgstr "Om du har glömt lösenordet till ditt administratörskonto kan du återställa det med följande kommando."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Ogiltig e-postadress."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kärna"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Språk"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Layout"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Ljust"
|
||||
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Logga ut"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Inloggningsförsök misslyckades"
|
||||
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Loggar"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:80
|
||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||
msgstr "Letar du istället efter var du skapar larm? Klicka på klockikonerna <0/> i systemtabellen."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Hantera visnings- och aviseringsinställningar."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Minne"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Minnesanvändning"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Minnesanvändning för dockercontainrar"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Namn"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Nät"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Nätverkstrafik för dockercontainrar"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Nätverkstrafik för publika gränssnitt"
|
||||
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Inga resultat hittades."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Inga system hittades."
|
||||
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Aviseringar"
|
||||
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Stöd för OAuth 2 / OIDC"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:61
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Vid varje omstart kommer systemen i databasen att uppdateras för att matcha systemen som definieras i filen."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Öppna menyn"
|
||||
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Eller fortsätt med"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Skriv över befintliga larm"
|
||||
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Sida"
|
||||
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Sidor / Inställningar"
|
||||
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Lösenord"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Lösenordet måste vara minst 8 tecken."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Begäran om återställning av lösenord mottagen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Paus"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Vänligen <0>konfigurera en SMTP-server</0> för att säkerställa att larm levereras."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Vänligen kontrollera loggarna för mer information."
|
||||
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Vänligen kontrollera dina inloggningsuppgifter och försök igen"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Vänligen skapa ett administratörskonto"
|
||||
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Vänligen aktivera popup-fönster för den här webbplatsen"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Vänligen logga in igen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Vänligen se <0>dokumentationen</0> för instruktioner."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Vänligen logga in på ditt konto"
|
||||
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Exakt användning vid den registrerade tidpunkten"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Föredraget språk"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Offentlig nyckel"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Läs"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Mottaget"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Återställ lösenord"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Återuppta"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Spara adressen med Enter-tangenten eller komma. Lämna tomt för att inaktivera e-postaviseringar."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Spara inställningar"
|
||||
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Sök efter system eller inställningar..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Se <0>aviseringsinställningar</0> för att konfigurera hur du tar emot larm."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Skickat"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Anger standardtidsintervallet för diagram när ett system visas."
|
||||
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Inställningar"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Inställningar sparade"
|
||||
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP-inställningar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sortera efter"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Swap-utrymme som används av systemet"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swap-användning"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:55
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "System kan hanteras i en <0>config.yml</0>-fil i din datakatalog."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tabell"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatur"
|
||||
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperaturer för systemsensorer"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:211
|
||||
msgid "Test <0>URL</0>"
|
||||
msgstr "Testa <0>URL</0>"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:182
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testavisering skickad"
|
||||
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Agenten måste köras på systemet för att ansluta. Kopiera installationskommandot för agenten nedan."
|
||||
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Agenten måste köras på systemet för att ansluta. Kopiera <0>docker-compose.yml</0> för agenten nedan."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:98
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Logga sedan in på backend och återställ ditt användarkontos lösenord i användartabellen."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Den här åtgärden kan inte ångras. Detta kommer permanent att ta bort alla aktuella poster för {name} från databasen."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Genomströmning av {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Genomströmning av rotfilsystemet"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "Till e-postadress(er)"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Växla rutnät"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Växla tema"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Utlöses när någon sensor överskrider ett tröskelvärde"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Utlöses när kombinerad upp/ner överskrider ett tröskelvärde"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Utlöses när CPU-användningen överskrider ett tröskelvärde"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Utlöses när minnesanvändningen överskrider ett tröskelvärde"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Utlöses när status växlar mellan upp och ner"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Utlöses när användningen av någon disk överskrider ett tröskelvärde"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Uppdateras i realtid. Klicka på ett system för att visa information."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Drifttid"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Användning"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Användning av rotpartitionen"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
msgstr "Använt"
|
||||
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Användare"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Visa"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Synliga fält"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Väntar på tillräckligt med poster att visa"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:48
|
||||
msgid "Want to help us make our translations even better? Check out <0>Crowdin</0> for more details."
|
||||
msgstr "Vill du hjälpa oss att göra våra översättningar ännu bättre? Kolla in <0>Crowdin</0> för mer information."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push-aviseringar"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Skriv"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "YAML-konfiguration"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "YAML-konfiguration"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Dina användarinställningar har uppdaterats."
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: tr\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 gün"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Eylemler"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktif Uyarılar"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "<0>Sistem</0> Ekle"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Yeni Sistem Ekle"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Sistem ekle"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "URL Ekle"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Grafikler için görüntüleme seçeneklerini ayarlayın."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Yönetici"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Aracı"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Uyarılar"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Tüm Sistemler"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "{name} silmek istediğinizden emin misiniz?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Kimlik Sağlayıcılar"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Otomatik kopyalama güvenli bir bağlam gerektirir."
|
||||
@@ -120,13 +117,13 @@ msgstr "Ortalama"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Konteynerlerin ortalama CPU kullanımı"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Ortalama <0>{value}{0}</0> aşıyor"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "GPU ların ortalama güç tüketimi"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Sistem genelinde ortalama CPU kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "{0} ortalama kullanımı"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Yedekler"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Yedekler"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bant Genişliği"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel, OpenID Connect ve birçok OAuth2 kimlik doğrulama sağlayıcısını destekler."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel, OpenID Connect ve birçok OAuth2 kimlik doğrulama sağlayıcıs
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel, popüler bildirim hizmetleriyle entegre olmak için <0>Shoutrrr</0> kullanır."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "İkili"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "İkili"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Önbellek / Tamponlar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Daha fazla ayrıntı için günlükleri kontrol edin."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Bildirim hizmetinizi kontrol edin"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Kopyalamak için tıklayın"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Sütunlar"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Komut satırı talimatları"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Uyarı bildirimlerini nasıl alacağınızı yapılandırın."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Şifreyi onayla"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Devam et"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Devam et"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Panoya kopyalandı"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Kopyala"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Ana bilgisayarı kopyala"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Linux komutunu kopyala"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Linux komutunu kopyala"
|
||||
msgid "Copy text"
|
||||
msgstr "Metni kopyala"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU Kullanımı"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Hesap oluştur"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Hesap oluştur"
|
||||
msgid "Dark"
|
||||
msgstr "Koyu"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Gösterge Paneli"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Gösterge Paneli"
|
||||
msgid "Default time period"
|
||||
msgstr "Varsayılan zaman dilimi"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Sil"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Docker Bellek Kullanımı"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Ağ G/Ç"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Dokümantasyon"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "e-posta"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-posta"
|
||||
@@ -324,13 +312,13 @@ msgstr "Şifreyi sıfırlamak için e-posta adresini girin"
|
||||
msgid "Enter email address..."
|
||||
msgstr "E-posta adresini girin..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Hata"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Son {2, plural, one {# dakika} other {# dakika}} içinde {0}{1} aşıyor"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Ayarlar kaydedilemedi"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Test bildirimi gönderilemedi"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Uyarı güncellenemedi"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrele..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "<0>{min}</0> {min, plural, one {dakika} other {dakika}} için"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Şifrenizi mi unuttunuz?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Genel"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "GPU Güç Çekimi"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Izgara"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Çekirdek"
|
||||
msgid "Language"
|
||||
msgstr "Dil"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Düzen"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Açık"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Çıkış Yap"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Çıkış Yap"
|
||||
msgid "Login"
|
||||
msgstr "Giriş Yap"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Giriş denemesi başarısız"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Günlükler"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Görüntüleme ve bildirim tercihlerini yönetin."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Maks 1 dk"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Bellek"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Bellek Kullanımı"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Docker konteynerlerinin bellek kullanımı"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Ad"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Ağ"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Docker konteynerlerinin ağ trafiği"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Genel arayüzlerin ağ trafiği"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Sonuç bulunamadı."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Sistem bulunamadı."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Bildirimler"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC desteği"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "OAuth 2 / OIDC desteği"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Her yeniden başlatmada, veritabanındaki sistemler dosyada tanımlanan sistemlerle eşleşecek şekilde güncellenecektir."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Menüyü aç"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Veya devam et"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Veya devam et"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Mevcut uyarıların üzerine yaz"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Sayfa"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Sayfalar / Ayarlar"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Şifre"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Şifre en az 10 karakter olmalıdır."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Şifre en az 8 karakter olmalıdır."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Şifre sıfırlama isteği alındı"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Duraklat"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Duraklat"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Uyarıların teslim edilmesini sağlamak için lütfen bir SMTP sunucusu <0>yapılandırın</0>."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Daha fazla ayrıntı için lütfen günlükleri kontrol edin."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Lütfen kimlik bilgilerinizi kontrol edin ve tekrar deneyin"
|
||||
@@ -548,7 +545,7 @@ msgstr "Lütfen kimlik bilgilerinizi kontrol edin ve tekrar deneyin"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Lütfen bir yönetici hesabı oluşturun"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Lütfen bu site için açılır pencereleri etkinleştirin"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Lütfen bu site için açılır pencereleri etkinleştirin"
|
||||
msgid "Please log in again"
|
||||
msgstr "Lütfen tekrar giriş yapın"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Talimatlar için lütfen <0>dokümantasyonu</0> inceleyin."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Talimatlar için lütfen <0>dokümantasyonu</0> inceleyin."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Lütfen hesabınıza giriş yapın"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Tercih Edilen Dil"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Genel Anahtar"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Alındı"
|
||||
msgid "Reset Password"
|
||||
msgstr "Şifreyi Sıfırla"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Devam et"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Adresleri enter tuşu veya virgül ile kaydedin. E-posta bildirimlerini
|
||||
msgid "Save Settings"
|
||||
msgstr "Ayarları Kaydet"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Ara"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Sistemler veya ayarlar için ara..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Gönderildi"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Bir sistem görüntülendiğinde grafikler için varsayılan zaman aralığını ayarlar."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Ayarlar"
|
||||
msgid "Settings saved"
|
||||
msgstr "Ayarlar kaydedildi"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Giriş yap"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP ayarları"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sıralama Ölçütü"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Durum"
|
||||
@@ -665,12 +666,14 @@ msgstr "Takas Kullanımı"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Sistemler"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Sistemler"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Sistemler, veri dizininizdeki bir <0>config.yml</0> dosyasında yönetilebilir."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Tablo"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Test <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Test bildirimi gönderildi"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Bağlanmak için aracının sistemde çalışıyor olması gerekir. Aşağıdaki aracı kurulum komutunu kopyalayın."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Bağlanmak için aracının sistemde çalışıyor olması gerekir. Aşağıdaki <0>docker-compose.yml</0> dosyasını kopyalayın."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Bağlanmak için aracının sistemde çalışıyor olması gerekir. Aşa
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Ardından arka uca giriş yapın ve kullanıcılar tablosunda kullanıcı hesabı şifrenizi sıfırlayın."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Bu işlem geri alınamaz. Bu, veritabanından {name} için tüm mevcut kayıtları kalıcı olarak silecektir."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Durum yukarı ve aşağı arasında değiştiğinde tetiklenir"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Herhangi bir diskin kullanımı bir eşiği aştığında tetiklenir"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Gerçek zamanlı olarak güncellenir. Bilgileri görüntülemek için bir sisteme tıklayın."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Kök bölümün kullanımı"
|
||||
msgid "Used"
|
||||
msgstr "Kullanıldı"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "kullanıcı adı"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Kullanıcı Adı"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Kullanıcılar"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Görüntüle"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Görünür Alanlar"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Görüntülemek için yeterli kayıt bekleniyor"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uk\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"PO-Revision-Date: 2024-12-20 18:13\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 днів"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Дії"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Активні сповіщення"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Додати <0>Систему</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Додати нову систему"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Додати систему"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Додати URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Налаштуйте параметри відображення для графіків."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Адміністратор"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Агент"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Сповіщення"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Всі системи"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Ви впевнені, що хочете видалити {name}?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Постачальники автентифікації"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Автоматичне копіювання вимагає безпечного контексту."
|
||||
@@ -120,13 +117,13 @@ msgstr "Середнє"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Середнє використання CPU контейнерами"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Середнє перевищує <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "Середнє енергоспоживання GPUs"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "Середнє використання CPU по всій системі
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "Середнє використання {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Резервні копії"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Резервні копії"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Пропускна здатність"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel підтримує OpenID Connect та багато постачальників автентифікації OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel підтримує OpenID Connect та багато постач
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel використовує <0>Shoutrrr</0> для інтеграції з популярними сервісами сповіщень."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Двійковий"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Двійковий"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Кеш / Буфери"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Перевірте журнали для отримання додатк
|
||||
msgid "Check your notification service"
|
||||
msgstr "Перевірте свій сервіс сповіщень"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Натисніть, щоб скопіювати"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Стовпці"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Інструкції командного рядка"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Налаштуйте, як ви отримуєте сповіщення про тривоги."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Підтвердьте пароль"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Продовжити"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Продовжити"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Скопійовано в буфер обміну"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Копіювати"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Копіювати хост"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Копіювати команду Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Копіювати команду Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Копіювати текст"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "ЦП"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "ЦП"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Використання ЦП"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Створити обліковий запис"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Створити обліковий запис"
|
||||
msgid "Dark"
|
||||
msgstr "Темний"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Панель управління"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Панель управління"
|
||||
msgid "Default time period"
|
||||
msgstr "Стандартний період часу"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Видалити"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Диск"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Використання пам'яті Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Мережевий ввід/вивід Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Документація"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "електронна пошта"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Електронна пошта"
|
||||
@@ -324,15 +312,15 @@ msgstr "Введіть адресу електронної пошти для с
|
||||
msgid "Enter email address..."
|
||||
msgstr "Введіть адресу електронної пошти..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Помилка"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Перевищує {0}{1} за останні {2, plural, one {# хвилину} other {# хвилин}}"
|
||||
msgstr "Перевищує {0}{1} протягом {2, plural, one {останньої # хвилини} other {останніх # хвилин}}"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:72
|
||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||
@@ -359,20 +347,20 @@ msgstr "Не вдалося зберегти налаштування"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Не вдалося надіслати тестове сповіщення"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Не вдалося оновити сповіщення"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Фільтр..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Протягом <0>{min}</0> {min, plural, one {хвилини} other {хвилин}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Забули пароль?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "Загальні"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "Енергоспоживання GPU"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Сітка"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Хост / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Ядро"
|
||||
msgid "Language"
|
||||
msgstr "Мова"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Макет"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Світлий"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Вийти"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Вийти"
|
||||
msgid "Login"
|
||||
msgstr "Увійти"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Спроба входу не вдалася"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Журнали"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Керуйте параметрами відображення та сп
|
||||
msgid "Max 1 min"
|
||||
msgstr "Макс 1 хв"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Пам'ять"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Використання пам'яті"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Використання пам'яті контейнерами Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Ім'я"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Мережа"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Мережевий трафік контейнерів Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Мережевий трафік публічних інтерфейсів"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Результатів не знайдено."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Систем не знайдено."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Сповіщення"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Підтримка OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Підтримка OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "При кожному перезапуску системи в базі даних будуть оновлені, щоб відповідати системам, визначеним у файлі."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Відкрити меню"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Або продовжити з"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Або продовжити з"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Перезаписати існуючі сповіщення"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Сторінка"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Сторінки / Налаштування"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Пароль повинен містити щонайменше 10 символів."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Пароль має містити щонайменше 8 символів."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Запит на скидання пароля отримано"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Пауза"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Пауза"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Будь ласка, <0>налаштуйте SMTP сервер</0>, щоб забезпечити доставку сповіщень."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Будь ласка, перевірте журнали для отримання додаткової інформації."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Будь ласка, перевірте свої облікові дані та спробуйте ще раз"
|
||||
@@ -548,7 +545,7 @@ msgstr "Будь ласка, перевірте свої облікові дан
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Будь ласка, створіть адміністративний обліковий запис"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Будь ласка, увімкніть спливаючі вікна для цього сайту"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Будь ласка, увімкніть спливаючі вікна д
|
||||
msgid "Please log in again"
|
||||
msgstr "Будь ласка, увійдіть знову"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Будь ласка, перегляньте <0>документацію</0> для отримання інструкцій."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Будь ласка, перегляньте <0>документацію<
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Будь ласка, увійдіть у свій обліковий запис"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Порт"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Бажана мова"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Ключ"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Отримано"
|
||||
msgid "Reset Password"
|
||||
msgstr "Скинути пароль"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Продовжити"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Збережіть адресу, використовуючи клаві
|
||||
msgid "Save Settings"
|
||||
msgstr "Зберегти налаштування"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Пошук"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Шукати системи або налаштування..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Відправлено"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Встановлює стандартний діапазон часу для графіків при перегляді системи."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Налаштування"
|
||||
msgid "Settings saved"
|
||||
msgstr "Налаштування збережено"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Увійти"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Налаштування SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Сортувати за"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Статус"
|
||||
@@ -665,12 +666,14 @@ msgstr "Використання підкачки"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Системи"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Системи"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Системи можуть керуватися у файлі <0>config.yml</0> у вашій директорії даних."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Таблиця"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Тест <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Тестове сповіщення надіслано"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Агент повинен працювати на системі для підключення. Скопіюйте команду встановлення для агента нижче."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Агент повинен працювати на системі для підключення. Скопіюйте <0>docker-compose.yml</0> для агента нижче."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Агент повинен працювати на системі для
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Потім увійдіть у бекенд і скиньте пароль вашого облікового запису користувача в таблиці користувачів."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Цю дію не можна скасувати. Це назавжди видалить всі поточні записи для {name} з бази даних."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Спрацьовує, коли статус перемикається
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Спрацьовує, коли використання будь-якого диска перевищує поріг"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Оновлюється в реальному часі. Натисніть на систему, щоб переглянути інформацію."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Використання кореневого розділу"
|
||||
msgid "Used"
|
||||
msgstr "Використано"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "ім'я користувача"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Ім'я користувача"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Користувачі"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Вигляд"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Видимі стовпці"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Очікування достатньої кількості записів для відображення"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: vi\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:47\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30 ngày"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "Hành động"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "Cảnh báo hoạt động"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Thêm <0>Hệ thống</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "Thêm Hệ thống Mới"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "Thêm hệ thống"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "Thêm URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "Điều chỉnh tùy chọn hiển thị cho biểu đồ."
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "Quản trị viên"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "Tác nhân"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "Cảnh báo"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "Tất cả Hệ thống"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "Bạn có chắc chắn muốn xóa {name} không?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "Nhà cung cấp Xác thực"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Sao chép tự động yêu cầu một ngữ cảnh an toàn."
|
||||
@@ -120,7 +117,7 @@ msgstr "Trung bình"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Sử dụng CPU trung bình của các container"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Trung bình vượt quá <0>{value}{0}</0>"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "Sử dụng CPU trung bình toàn hệ thống"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "Sao lưu"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "Sao lưu"
|
||||
msgid "Bandwidth"
|
||||
msgstr "Băng thông"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel hỗ trợ OpenID Connect và nhiều nhà cung cấp xác thực OAuth2."
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel hỗ trợ OpenID Connect và nhiều nhà cung cấp xác thực
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel sử dụng <0>Shoutrrr</0> để tích hợp với các dịch vụ thông báo phổ biến."
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "Nhị phân"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "Nhị phân"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Bộ nhớ đệm / Bộ đệm"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "Hủy bỏ"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "Kiểm tra nhật ký để biết thêm chi tiết."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Kiểm tra dịch vụ thông báo của bạn"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "Nhấp để sao chép"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "Cột"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "Hướng dẫn dòng lệnh"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "Cấu hình cách bạn nhận thông báo cảnh báo."
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "Xác nhận mật khẩu"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "Tiếp tục"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "Tiếp tục"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Đã sao chép vào clipboard"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "Sao chép"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "Sao chép máy chủ"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Sao chép lệnh Linux"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "Sao chép lệnh Linux"
|
||||
msgid "Copy text"
|
||||
msgstr "Sao chép văn bản"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "Sử dụng CPU"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "Tạo tài khoản"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "Tạo tài khoản"
|
||||
msgid "Dark"
|
||||
msgstr "Tối"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "Bảng điều khiển"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "Bảng điều khiển"
|
||||
msgid "Default time period"
|
||||
msgstr "Thời gian mặc định"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "Xóa"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "Đĩa"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Sử dụng Bộ nhớ Docker"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Mạng I/O Docker"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "Tài liệu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "email"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
@@ -324,13 +312,13 @@ msgstr "Nhập địa chỉ email để đặt lại mật khẩu"
|
||||
msgid "Enter email address..."
|
||||
msgstr "Nhập địa chỉ email..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "Lỗi"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Vượt quá {0}{1} trong {2, plural, one {# phút} other {# phút}} qua"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "Lưu cài đặt thất bại"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Gửi thông báo thử nghiệm thất bại"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Cập nhật cảnh báo thất bại"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "Lọc..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "Trong <0>{min}</0> {min, plural, one {phút} other {phút}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "Quên mật khẩu?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "Chung"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "Lưới"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "Máy chủ / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "Nhân"
|
||||
msgid "Language"
|
||||
msgstr "Ngôn ngữ"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "Bố cục"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Sáng"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "Đăng xuất"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "Đăng xuất"
|
||||
msgid "Login"
|
||||
msgstr "Đăng nhập"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "Nỗ lực đăng nhập thất bại"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "Nhật ký"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "Quản lý tùy chọn hiển thị và thông báo."
|
||||
msgid "Max 1 min"
|
||||
msgstr "Tối đa 1 phút"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "Bộ nhớ"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "Sử dụng Bộ nhớ"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Sử dụng bộ nhớ của các container Docker"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "Tên"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "Mạng"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Lưu lượng mạng của các container Docker"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Lưu lượng mạng của các giao diện công cộng"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "Không tìm thấy kết quả."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "Không tìm thấy hệ thống."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "Thông báo"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Hỗ trợ OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "Hỗ trợ OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "Mỗi khi khởi động lại, các hệ thống trong cơ sở dữ liệu sẽ được cập nhật để khớp với các hệ thống được định nghĩa trong tệp."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "Mở menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "Hoặc tiếp tục với"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "Hoặc tiếp tục với"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Ghi đè các cảnh báo hiện có"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "Trang"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Trang / Cài đặt"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "Mật khẩu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "Mật khẩu phải có ít nhất 10 ký tự."
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "Mật khẩu phải có ít nhất 8 ký tự."
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "Yêu cầu đặt lại mật khẩu đã được nhận"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "Tạm dừng"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "Tạm dừng"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "Vui lòng <0>cấu hình máy chủ SMTP</0> để đảm bảo cảnh báo được gửi đi."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Vui lòng kiểm tra nhật ký để biết thêm chi tiết."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Vui lòng kiểm tra thông tin đăng nhập của bạn và thử lại"
|
||||
@@ -548,7 +545,7 @@ msgstr "Vui lòng kiểm tra thông tin đăng nhập của bạn và thử lạ
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Vui lòng tạo một tài khoản quản trị viên"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Vui lòng bật cửa sổ bật lên cho trang web này"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "Vui lòng bật cửa sổ bật lên cho trang web này"
|
||||
msgid "Please log in again"
|
||||
msgstr "Vui lòng đăng nhập lại"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Vui lòng xem <0>tài liệu</0> để biết hướng dẫn."
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "Vui lòng xem <0>tài liệu</0> để biết hướng dẫn."
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Vui lòng đăng nhập vào tài khoản của bạn"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "Cổng"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "Ngôn ngữ Ưa thích"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "Khóa"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "Đã nhận"
|
||||
msgid "Reset Password"
|
||||
msgstr "Đặt lại Mật khẩu"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "Tiếp tục"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "Lưu địa chỉ bằng cách sử dụng phím enter hoặc dấu ph
|
||||
msgid "Save Settings"
|
||||
msgstr "Lưu Cài đặt"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "Tìm kiếm"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Tìm kiếm hệ thống hoặc cài đặt..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "Đã gửi"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "Đặt phạm vi thời gian mặc định cho biểu đồ khi một hệ thống được xem."
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "Cài đặt"
|
||||
msgid "Settings saved"
|
||||
msgstr "Cài đặt đã được lưu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "Đăng nhập"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "Cài đặt SMTP"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "Sắp xếp theo"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Trạng thái"
|
||||
@@ -665,12 +666,14 @@ msgstr "Sử dụng Hoán đổi"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "Hệ thống"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "Các hệ thống"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "Các hệ thống"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Các hệ thống có thể được quản lý trong tệp <0>config.yml</0> bên trong thư mục dữ liệu của bạn."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "Bảng"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "Kiểm tra <0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "Thông báo thử nghiệm đã được gửi"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "Tác nhân phải đang chạy trên hệ thống để kết nối. Sao chép lệnh cài đặt cho tác nhân bên dưới."
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "Tác nhân phải đang chạy trên hệ thống để kết nối. Sao chép <0>docker-compose.yml</0> cho tác nhân bên dưới."
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "Tác nhân phải đang chạy trên hệ thống để kết nối. Sao
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "Sau đó đăng nhập vào backend và đặt lại mật khẩu tài khoản người dùng của bạn trong bảng người dùng."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "Hành động này không thể hoàn tác. Điều này sẽ xóa vĩnh viễn tất cả các bản ghi hiện tại cho {name} khỏi cơ sở dữ liệu."
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "Kích hoạt khi trạng thái chuyển đổi giữa lên và xuống"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "Kích hoạt khi sử dụng bất kỳ đĩa nào vượt quá ngưỡng"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Cập nhật theo thời gian thực. Nhấp vào một hệ thống để xem thông tin."
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "Sử dụng phân vùng gốc"
|
||||
msgid "Used"
|
||||
msgstr "Đã sử dụng"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "tên người dùng"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "Tên người dùng"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "Người dùng"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "Xem"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "Các cột hiển thị"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Đang chờ đủ bản ghi để hiển thị"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-09 16:57\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30天"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "操作"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "启用的警报"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "添加<0>客户端</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "添加新客户端"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "添加客户端"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "添加URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "调整图表的显示选项。"
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "管理员"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "客户端"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "警报"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "所有客户端"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "您确定要删除{name}吗?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "第三方认证供应商"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "自动复制所需的安全上下文。"
|
||||
@@ -120,13 +117,13 @@ msgstr "平均"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "容器的平均CPU使用率"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "平均值超过<0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr ""
|
||||
msgstr "GPU 平均能耗"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
@@ -134,10 +131,10 @@ msgstr "系统范围内的平均CPU使用率"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
msgstr "{0} 平均利用率"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "备份"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "备份"
|
||||
msgid "Bandwidth"
|
||||
msgstr "带宽"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel支持OpenID Connect和其他OAuth2认证方式。"
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel支持OpenID Connect和其他OAuth2认证方式。"
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel使用<0>Shoutrrr</0>以实现与常见的通知服务集成。"
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "二进制"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "二进制"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "缓存/缓冲区"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "检查日志以获取更多详细信息。"
|
||||
msgid "Check your notification service"
|
||||
msgstr "检查您的通知服务"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "点击复制"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "过滤列"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "命令行说明"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "配置您接收警报通知的方式。"
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "确认密码"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "继续"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "继续"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "已复制到剪贴板"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "复制"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "复制主机名"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "复制Linux安装命令"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "复制Linux安装命令"
|
||||
msgid "Copy text"
|
||||
msgstr "复制文本"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU使用率"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "创建账户"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "创建账户"
|
||||
msgid "Dark"
|
||||
msgstr "深色模式"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "仪表板"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "仪表板"
|
||||
msgid "Default time period"
|
||||
msgstr "默认时间段"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "删除"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "磁盘"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Docker内存使用"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker网络I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "文档"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "电子邮件"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "电子邮件"
|
||||
@@ -324,13 +312,13 @@ msgstr "输入电子邮件地址以重置密码"
|
||||
msgid "Enter email address..."
|
||||
msgstr "输入电子邮件地址..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "错误"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "在过去的{2, plural, one {# 分钟} other {# 分钟}}中超过{0}{1}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "保存设置失败"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "发送测试通知失败"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "更新警报失败"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "过滤..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "持续<0>{min}</0> {min, plural, one {分钟} other {分钟}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "忘记密码?"
|
||||
|
||||
@@ -384,9 +372,13 @@ msgstr "常规"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
msgstr "GPU 功耗"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "网格"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "主机/IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "内核"
|
||||
msgid "Language"
|
||||
msgstr "语言"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "布局"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "浅色模式"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "登出"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "登出"
|
||||
msgid "Login"
|
||||
msgstr "登录"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "登录尝试失败"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "日志"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "管理显示和通知偏好。"
|
||||
msgid "Max 1 min"
|
||||
msgstr "1分钟内最大值"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "内存"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "内存使用"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Docker容器的内存使用"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "网络"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Docker容器的网络流量"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "公共接口的网络流量"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "未找到结果。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "未找到系统。"
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "通知"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "支持OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "支持OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "每次重启时,数据库中的系统将更新以匹配文件中定义的系统。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "打开菜单"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "或使用以下方式登录"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "或使用以下方式登录"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "覆盖现有警报"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "页面"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "页面/设置"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "密码"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "密码必须至少10个字符。"
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "密码必须至少包含 8 个字符。"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "已收到密码重置请求"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "暂停"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "暂停"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "请<0>配置SMTP服务器</0>以确保警报被传递。"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "请检查日志以获取更多详细信息。"
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "请检查您的凭据并重试"
|
||||
@@ -548,7 +545,7 @@ msgstr "请检查您的凭据并重试"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "请创建一个管理员账户"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "请为此网站启用弹出窗口"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "请为此网站启用弹出窗口"
|
||||
msgid "Please log in again"
|
||||
msgstr "请重新登录"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "请参阅<0>文档</0>以获取说明。"
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "请参阅<0>文档</0>以获取说明。"
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "请登录您的账户"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "端口"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "首选语言"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "公钥"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "接收"
|
||||
msgid "Reset Password"
|
||||
msgstr "重置密码"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "恢复"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "使用回车键或逗号保存地址。留空以禁用电子邮件通知
|
||||
msgid "Save Settings"
|
||||
msgstr "保存设置"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "搜索系统或设置..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "发送"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "设置查看系统时图表的默认时间范围。"
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "设置"
|
||||
msgid "Settings saved"
|
||||
msgstr "设置已保存"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "登录"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP设置"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "排序依据"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "状态"
|
||||
@@ -665,12 +666,14 @@ msgstr "SWAP使用"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "系统"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "系统"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "系统"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "系统可以在数据目录中的<0>config.yml</0>文件中管理。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "表格"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "测试<0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "测试通知已发送"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "必须在系统上运行客户端之后才能连接。复制下面的客户端安装命令。"
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "必须在系统上运行客户端之后才能连接。复制下面的<0>docker-compose.yml</0>。"
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "必须在系统上运行客户端之后才能连接。复制下面的<0>
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "然后登录到后台并在用户表中重置您的用户账户密码。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "此操作无法撤销。这将永久删除数据库中{name}的所有当前记录。"
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "当状态在上线与掉线之间切换时触发"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "当任何磁盘的使用率超过阈值时触发"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "实时更新。点击系统查看信息。"
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "根分区的使用"
|
||||
msgid "Used"
|
||||
msgstr "已用"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "用户名"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "用户名"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "用户"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "视图"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "可见列"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "正在收集足够的数据来显示"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:47\n"
|
||||
"PO-Revision-Date: 2024-12-17 21:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional, Hong Kong\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -47,24 +47,27 @@ msgid "30 days"
|
||||
msgstr "30天"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
#: src/components/systems-table/systems-table.tsx:227
|
||||
#: src/components/systems-table/systems-table.tsx:313
|
||||
#: src/components/systems-table/systems-table.tsx:455
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "Actions"
|
||||
msgstr "操作"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
#: src/components/routes/home.tsx:61
|
||||
msgid "Active Alerts"
|
||||
msgstr "活動警報"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
#: src/components/add-system.tsx:78
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "添加<0>系統</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
#: src/components/add-system.tsx:87
|
||||
msgid "Add New System"
|
||||
msgstr "添加新系統"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
#: src/components/add-system.tsx:165
|
||||
#: src/components/add-system.tsx:176
|
||||
msgid "Add system"
|
||||
msgstr "添加系統"
|
||||
|
||||
@@ -76,16 +79,15 @@ msgstr "添加URL"
|
||||
msgid "Adjust display options for charts."
|
||||
msgstr "調整圖表的顯示選項。"
|
||||
|
||||
#: src/components/command-palette.tsx:133
|
||||
#: src/components/command-palette.tsx:146
|
||||
#: src/components/command-palette.tsx:160
|
||||
#: src/components/command-palette.tsx:174
|
||||
#: src/components/command-palette.tsx:189
|
||||
#: src/components/command-palette.tsx:204
|
||||
#: src/components/command-palette.tsx:132
|
||||
#: src/components/command-palette.tsx:145
|
||||
#: src/components/command-palette.tsx:159
|
||||
#: src/components/command-palette.tsx:173
|
||||
#: src/components/command-palette.tsx:188
|
||||
msgid "Admin"
|
||||
msgstr "管理員"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
#: src/components/systems-table/systems-table.tsx:201
|
||||
msgid "Agent"
|
||||
msgstr "代理"
|
||||
|
||||
@@ -95,19 +97,14 @@ msgid "Alerts"
|
||||
msgstr "警報"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
#: src/components/systems-table/systems-table.tsx:266
|
||||
msgid "All Systems"
|
||||
msgstr "所有系統"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
#: src/components/systems-table/systems-table.tsx:570
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
msgstr "您確定要刪除{name}嗎?"
|
||||
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "認證提供者"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "自動複製需要安全的上下文。"
|
||||
@@ -120,7 +117,7 @@ msgstr "平均"
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "容器的平均CPU使用率"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
#: src/components/alerts/alerts-system.tsx:206
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "平均值超過<0>{value}{0}</0>"
|
||||
|
||||
@@ -136,8 +133,8 @@ msgstr "系統範圍內的平均CPU使用率"
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
#: src/components/command-palette.tsx:170
|
||||
#: src/components/navbar.tsx:93
|
||||
msgid "Backups"
|
||||
msgstr "備份"
|
||||
|
||||
@@ -146,7 +143,7 @@ msgstr "備份"
|
||||
msgid "Bandwidth"
|
||||
msgstr "帶寬"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
#: src/components/login/auth-form.tsx:289
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel支持OpenID Connect和許多OAuth2認證提供者。"
|
||||
|
||||
@@ -154,7 +151,7 @@ msgstr "Beszel支持OpenID Connect和許多OAuth2認證提供者。"
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel使用<0>Shoutrrr</0>與流行的通知服務集成。"
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
#: src/components/add-system.tsx:92
|
||||
msgid "Binary"
|
||||
msgstr "二進制"
|
||||
|
||||
@@ -162,7 +159,7 @@ msgstr "二進制"
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "緩存/緩衝區"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
#: src/components/systems-table/systems-table.tsx:581
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
@@ -190,15 +187,10 @@ msgstr "檢查日誌以獲取更多詳細信息。"
|
||||
msgid "Check your notification service"
|
||||
msgstr "檢查您的通知服務"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
#: src/components/add-system.tsx:151
|
||||
msgid "Click to copy"
|
||||
msgstr "點擊以複製"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "欄"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
msgid "Command line instructions"
|
||||
@@ -208,12 +200,12 @@ msgstr "命令行指令"
|
||||
msgid "Configure how you receive alert notifications."
|
||||
msgstr "配置您接收警報通知的方式。"
|
||||
|
||||
#: src/components/login/auth-form.tsx:189
|
||||
#: src/components/login/auth-form.tsx:194
|
||||
#: src/components/login/auth-form.tsx:165
|
||||
#: src/components/login/auth-form.tsx:170
|
||||
msgid "Confirm password"
|
||||
msgstr "確認密碼"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
#: src/components/systems-table/systems-table.tsx:587
|
||||
msgid "Continue"
|
||||
msgstr "繼續"
|
||||
|
||||
@@ -221,15 +213,15 @@ msgstr "繼續"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "已複製到剪貼板"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
#: src/components/add-system.tsx:162
|
||||
msgid "Copy"
|
||||
msgstr "複製"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
#: src/components/systems-table/systems-table.tsx:556
|
||||
msgid "Copy host"
|
||||
msgstr "複製主機"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
#: src/components/add-system.tsx:173
|
||||
msgid "Copy Linux command"
|
||||
msgstr "複製Linux命令"
|
||||
|
||||
@@ -237,7 +229,7 @@ msgstr "複製Linux命令"
|
||||
msgid "Copy text"
|
||||
msgstr "複製文本"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
#: src/components/systems-table/systems-table.tsx:157
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
@@ -247,7 +239,7 @@ msgstr "CPU"
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU使用率"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Create account"
|
||||
msgstr "創建帳戶"
|
||||
|
||||
@@ -256,8 +248,8 @@ msgstr "創建帳戶"
|
||||
msgid "Dark"
|
||||
msgstr "深色"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
#: src/components/command-palette.tsx:81
|
||||
#: src/components/routes/home.tsx:34
|
||||
msgid "Dashboard"
|
||||
msgstr "儀表板"
|
||||
|
||||
@@ -265,11 +257,11 @@ msgstr "儀表板"
|
||||
msgid "Default time period"
|
||||
msgstr "默認時間段"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
#: src/components/systems-table/systems-table.tsx:562
|
||||
msgid "Delete"
|
||||
msgstr "刪除"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Disk"
|
||||
msgstr "磁碟"
|
||||
|
||||
@@ -299,15 +291,11 @@ msgstr "Docker記憶體使用"
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker網絡I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
#: src/components/command-palette.tsx:124
|
||||
msgid "Documentation"
|
||||
msgstr "文檔"
|
||||
|
||||
#: src/components/login/auth-form.tsx:158
|
||||
msgid "email"
|
||||
msgstr "電子郵件"
|
||||
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
#: src/components/login/auth-form.tsx:128
|
||||
#: src/components/login/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "電子郵件"
|
||||
@@ -324,13 +312,13 @@ msgstr "輸入電子郵件地址以重置密碼"
|
||||
msgid "Enter email address..."
|
||||
msgstr "輸入電子郵件地址..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: src/components/login/auth-form.tsx:232
|
||||
#: src/components/routes/settings/config-yaml.tsx:28
|
||||
#: src/components/routes/settings/notifications.tsx:187
|
||||
msgid "Error"
|
||||
msgstr "錯誤"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
#: src/components/routes/home.tsx:80
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "在過去的{2, plural, one {# 分鐘} other {# 分鐘}}中超過{0}{1}"
|
||||
|
||||
@@ -359,20 +347,20 @@ msgstr "保存設置失敗"
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "發送測試通知失敗"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
#: src/components/alerts/alerts-system.tsx:24
|
||||
msgid "Failed to update alert"
|
||||
msgstr "更新警報失敗"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
#: src/components/systems-table/systems-table.tsx:273
|
||||
msgid "Filter..."
|
||||
msgstr "篩選..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
#: src/components/alerts/alerts-system.tsx:227
|
||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||
msgstr "持續<0>{min}</0> {min, plural, one {分鐘} other {分鐘}}"
|
||||
|
||||
#: src/components/login/auth-form.tsx:337
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Forgot password?"
|
||||
msgstr "忘記密碼?"
|
||||
|
||||
@@ -386,7 +374,11 @@ msgstr "一般"
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
#: src/components/systems-table/systems-table.tsx:300
|
||||
msgid "Grid"
|
||||
msgstr "網格"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Host / IP"
|
||||
msgstr "主機 / IP"
|
||||
|
||||
@@ -407,12 +399,16 @@ msgstr "內核"
|
||||
msgid "Language"
|
||||
msgstr "語言"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:286
|
||||
msgid "Layout"
|
||||
msgstr "版面配置"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "淺色"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
#: src/components/navbar.tsx:104
|
||||
msgid "Log Out"
|
||||
msgstr "登出"
|
||||
|
||||
@@ -420,13 +416,13 @@ msgstr "登出"
|
||||
msgid "Login"
|
||||
msgstr "登錄"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: src/components/login/auth-form.tsx:34
|
||||
#: src/components/login/forgot-pass-form.tsx:15
|
||||
msgid "Login attempt failed"
|
||||
msgstr "登錄嘗試失敗"
|
||||
|
||||
#: src/components/command-palette.tsx:157
|
||||
#: src/components/navbar.tsx:86
|
||||
#: src/components/command-palette.tsx:156
|
||||
#: src/components/navbar.tsx:85
|
||||
msgid "Logs"
|
||||
msgstr "日誌"
|
||||
|
||||
@@ -443,7 +439,7 @@ msgstr "管理顯示和通知偏好。"
|
||||
msgid "Max 1 min"
|
||||
msgstr "最大1分鐘"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
#: src/components/systems-table/systems-table.tsx:165
|
||||
msgid "Memory"
|
||||
msgstr "記憶體"
|
||||
|
||||
@@ -456,11 +452,11 @@ msgstr "記憶體使用"
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Docker容器的記憶體使用"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Name"
|
||||
msgstr "名稱"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
#: src/components/systems-table/systems-table.tsx:181
|
||||
msgid "Net"
|
||||
msgstr "網絡"
|
||||
|
||||
@@ -472,21 +468,22 @@ msgstr "Docker容器的網絡流量"
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "公共接口的網絡流量"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
#: src/components/command-palette.tsx:49
|
||||
msgid "No results found."
|
||||
msgstr "未找到結果。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
#: src/components/systems-table/systems-table.tsx:421
|
||||
#: src/components/systems-table/systems-table.tsx:494
|
||||
msgid "No systems found."
|
||||
msgstr "未找到系統。"
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: src/components/command-palette.tsx:110
|
||||
#: src/components/routes/settings/layout.tsx:56
|
||||
#: src/components/routes/settings/notifications.tsx:74
|
||||
msgid "Notifications"
|
||||
msgstr "通知"
|
||||
|
||||
#: src/components/login/auth-form.tsx:308
|
||||
#: src/components/login/auth-form.tsx:284
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "支持OAuth 2 / OIDC"
|
||||
|
||||
@@ -494,11 +491,11 @@ msgstr "支持OAuth 2 / OIDC"
|
||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||
msgstr "每次重啟時,數據庫中的系統將更新以匹配文件中定義的系統。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:219
|
||||
#: src/components/systems-table/systems-table.tsx:528
|
||||
msgid "Open menu"
|
||||
msgstr "打開菜單"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
#: src/components/login/auth-form.tsx:203
|
||||
msgid "Or continue with"
|
||||
msgstr "或繼續使用"
|
||||
|
||||
@@ -506,28 +503,28 @@ msgstr "或繼續使用"
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "覆蓋現有警報"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
#: src/components/command-palette.tsx:84
|
||||
msgid "Page"
|
||||
msgstr "頁面"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
#: src/components/command-palette.tsx:71
|
||||
msgid "Pages / Settings"
|
||||
msgstr "頁面 / 設置"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
#: src/components/login/auth-form.tsx:147
|
||||
#: src/components/login/auth-form.tsx:152
|
||||
msgid "Password"
|
||||
msgstr "密碼"
|
||||
|
||||
#: src/components/login/auth-form.tsx:17
|
||||
msgid "Password must be at least 10 characters."
|
||||
msgstr "密碼必須至少10個字符。"
|
||||
msgid "Password must be at least 8 characters."
|
||||
msgstr "密碼必須至少包含 8 個字元。"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:33
|
||||
msgid "Password reset request received"
|
||||
msgstr "已收到密碼重置請求"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:241
|
||||
#: src/components/systems-table/systems-table.tsx:550
|
||||
msgid "Pause"
|
||||
msgstr "暫停"
|
||||
|
||||
@@ -535,11 +532,11 @@ msgstr "暫停"
|
||||
msgid "Please <0>configure an SMTP server</0> to ensure alerts are delivered."
|
||||
msgstr "請<0>配置SMTP服務器</0>以確保警報被傳送。"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:28
|
||||
#: src/components/alerts/alerts-system.tsx:25
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "請檢查日誌以獲取更多詳細信息。"
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/auth-form.tsx:35
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "請檢查您的憑證並重試"
|
||||
@@ -548,7 +545,7 @@ msgstr "請檢查您的憑證並重試"
|
||||
msgid "Please create an admin account"
|
||||
msgstr "請創建一個管理員帳戶"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
#: src/components/login/auth-form.tsx:233
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "請為此網站啟用彈出窗口"
|
||||
|
||||
@@ -556,7 +553,7 @@ msgstr "請為此網站啟用彈出窗口"
|
||||
msgid "Please log in again"
|
||||
msgstr "請重新登錄"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
#: src/components/login/auth-form.tsx:292
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "請參閱<0>文檔</0>以獲取說明。"
|
||||
|
||||
@@ -564,7 +561,7 @@ msgstr "請參閱<0>文檔</0>以獲取說明。"
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "請登錄到您的帳戶"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Port"
|
||||
msgstr "端口"
|
||||
|
||||
@@ -578,7 +575,7 @@ msgid "Preferred Language"
|
||||
msgstr "首選語言"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
#: src/components/add-system.tsx:128
|
||||
msgid "Public Key"
|
||||
msgstr "公鑰"
|
||||
|
||||
@@ -597,7 +594,7 @@ msgstr "接收"
|
||||
msgid "Reset Password"
|
||||
msgstr "重置密碼"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
#: src/components/systems-table/systems-table.tsx:545
|
||||
msgid "Resume"
|
||||
msgstr "恢復"
|
||||
|
||||
@@ -610,11 +607,11 @@ msgstr "使用回車鍵或逗號保存地址。留空以禁用電子郵件通知
|
||||
msgid "Save Settings"
|
||||
msgstr "保存設置"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
#: src/components/navbar.tsx:133
|
||||
msgid "Search"
|
||||
msgstr "搜索"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
#: src/components/command-palette.tsx:46
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "搜索系統或設置..."
|
||||
|
||||
@@ -631,9 +628,9 @@ msgstr "發送"
|
||||
msgid "Sets the default time range for charts when a system is viewed."
|
||||
msgstr "設置查看系統時圖表的默認時間範圍。"
|
||||
|
||||
#: src/components/command-palette.tsx:96
|
||||
#: src/components/command-palette.tsx:99
|
||||
#: src/components/command-palette.tsx:114
|
||||
#: src/components/command-palette.tsx:95
|
||||
#: src/components/command-palette.tsx:98
|
||||
#: src/components/command-palette.tsx:113
|
||||
#: src/components/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
@@ -643,14 +640,18 @@ msgstr "設置"
|
||||
msgid "Settings saved"
|
||||
msgstr "設置已保存"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
#: src/components/login/auth-form.tsx:191
|
||||
msgid "Sign in"
|
||||
msgstr "登錄"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
#: src/components/command-palette.tsx:185
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP設置"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:308
|
||||
msgid "Sort By"
|
||||
msgstr "排序依據"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "狀態"
|
||||
@@ -665,12 +666,14 @@ msgstr "交換使用"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
#: src/components/systems-table/systems-table.tsx:110
|
||||
#: src/components/systems-table/systems-table.tsx:121
|
||||
#: src/components/systems-table/systems-table.tsx:117
|
||||
#: src/components/systems-table/systems-table.tsx:125
|
||||
#: src/components/systems-table/systems-table.tsx:136
|
||||
#: src/components/systems-table/systems-table.tsx:465
|
||||
msgid "System"
|
||||
msgstr "系統"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
#: src/components/navbar.tsx:77
|
||||
msgid "Systems"
|
||||
msgstr "系統"
|
||||
|
||||
@@ -678,6 +681,10 @@ msgstr "系統"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "系統可以在您的數據目錄中的<0>config.yml</0>文件中管理。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:296
|
||||
msgid "Table"
|
||||
msgstr "表格"
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
@@ -695,11 +702,11 @@ msgstr "測試<0>URL</0>"
|
||||
msgid "Test notification sent"
|
||||
msgstr "測試通知已發送"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
#: src/components/add-system.tsx:108
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "代理必須在系統上運行才能連接。複製下面的代理安裝命令。"
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
#: src/components/add-system.tsx:99
|
||||
msgid "The agent must be running on the system to connect. Copy the<0>docker-compose.yml</0> for the agent below."
|
||||
msgstr "代理必須在系統上運行才能連接。複製下面的<0>docker-compose.yml</0>。"
|
||||
|
||||
@@ -707,7 +714,7 @@ msgstr "代理必須在系統上運行才能連接。複製下面的<0>docker-co
|
||||
msgid "Then log into the backend and reset your user account password in the users table."
|
||||
msgstr "然後登錄到後端並在用戶表中重置您的用戶帳戶密碼。"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
#: src/components/systems-table/systems-table.tsx:573
|
||||
msgid "This action cannot be undone. This will permanently delete all current records for {name} from the database."
|
||||
msgstr "此操作無法撤銷。這將永久刪除數據庫中{name}的所有當前記錄。"
|
||||
|
||||
@@ -756,7 +763,7 @@ msgstr "當狀態在上和下之間切換時觸發"
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "當任何磁碟的使用超過閾值時觸發"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
#: src/components/systems-table/systems-table.tsx:269
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "實時更新。點擊系統查看信息。"
|
||||
|
||||
@@ -780,19 +787,19 @@ msgstr "根分區的使用"
|
||||
msgid "Used"
|
||||
msgstr "已用"
|
||||
|
||||
#: src/components/login/auth-form.tsx:138
|
||||
msgid "username"
|
||||
msgstr "用戶名"
|
||||
|
||||
#: src/components/login/auth-form.tsx:131
|
||||
msgid "Username"
|
||||
msgstr "用戶名"
|
||||
|
||||
#: src/components/command-palette.tsx:143
|
||||
#: src/components/navbar.tsx:70
|
||||
#: src/components/command-palette.tsx:142
|
||||
#: src/components/navbar.tsx:69
|
||||
msgid "Users"
|
||||
msgstr "用戶"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "View"
|
||||
msgstr "檢視"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:342
|
||||
msgid "Visible Fields"
|
||||
msgstr "可見欄位"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "等待足夠的記錄以顯示"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package beszel
|
||||
|
||||
const (
|
||||
Version = "0.8.0"
|
||||
Version = "0.9.1"
|
||||
AppName = "beszel"
|
||||
)
|
||||
|
||||
330
readme.md
@@ -1,329 +1,53 @@
|
||||
# Beszel
|
||||
|
||||
A lightweight server resource monitoring hub with historical data, docker stats, and alerts.
|
||||
Beszel is a lightweight server monitoring platform that includes Docker statistics, historical data, and alert functions.
|
||||
|
||||
[](https://hub.docker.com/r/henrygd/beszel-agent)
|
||||
[](https://hub.docker.com/r/henrygd/beszel)
|
||||
It has a friendly web interface, simple configuration, and is ready to use out of the box. It supports automatic backup, multi-user, OAuth authentication, and API access.
|
||||
|
||||
[](https://hub.docker.com/r/henrygd/beszel-agent)
|
||||
[](https://hub.docker.com/r/henrygd/beszel)
|
||||
[](https://github.com/henrygd/beszel/blob/main/LICENSE)
|
||||
[](https://crowdin.com/project/beszel)
|
||||
|
||||

|
||||

|
||||
|
||||
## Features
|
||||
|
||||
- **Lightweight**: Smaller and less resource-intensive than leading solutions.
|
||||
- **Simple**: Easy setup, no need for public internet exposure.
|
||||
- **Docker stats**: Tracks CPU, memory, and network usage history for each container.
|
||||
- **Alerts**: Configurable alerts for CPU, memory, disk, bandwidth, temperature, and system status.
|
||||
- **Multi-user**: Each user manages their own systems. Admins can share systems across users.
|
||||
- **OAuth / OIDC**: Supports multiple OAuth2 providers. Password authentication can be disabled.
|
||||
- **Alerts**: Configurable alerts for CPU, memory, disk, bandwidth, temperature, and status.
|
||||
- **Multi-user**: Users manage their own systems. Admins can share systems across users.
|
||||
- **OAuth / OIDC**: Supports many OAuth2 providers. Password auth can be disabled.
|
||||
- **Automatic backups**: Save and restore data from disk or S3-compatible storage.
|
||||
- **REST API**: Use or update your data in your own scripts and applications.
|
||||
|
||||
## Introduction
|
||||
## Architecture
|
||||
|
||||
Beszel consists of two main components: the hub and the agent.
|
||||
Beszel consists of two main components: the **hub** and the **agent**.
|
||||
|
||||
- **Hub:** A web application that provides a dashboard for viewing and managing connected systems. Built on [PocketBase](https://pocketbase.io/).
|
||||
|
||||
- **Agent:** Runs on each system you want to monitor, creating a minimal SSH server to communicate system metrics to the hub.
|
||||
- **Hub**: A web application built on [PocketBase](https://pocketbase.io/) that provides a dashboard for viewing and managing connected systems.
|
||||
- **Agent**: Runs on each system you want to monitor, creating a minimal SSH server to communicate system metrics to the hub.
|
||||
|
||||
## Getting started
|
||||
|
||||
If not using docker, skip steps 4-5 and run the agent using the binary.
|
||||
The [quick start guide](https://beszel.dev/guide/getting-started) and other documentation is available on our website, [beszel.dev](https://beszel.dev). You'll be up and running in a few minutes.
|
||||
|
||||
1. Start the hub (see [installation](#installation)).
|
||||
2. Open <http://localhost:8090> and create an admin user.
|
||||
3. Click "Add system." Enter the name and host of the system you want to monitor.
|
||||
4. Click "Copy docker compose" to copy the agent's docker-compose.yml file to your clipboard.
|
||||
5. On the agent system, create the compose file and run `docker compose up` to start the agent.
|
||||
6. Back in the hub, click the "Add system" button in the dialog to finish adding the system.
|
||||
## Screenshots
|
||||
|
||||
If all goes well, the system should flip to green. If it turns red, check the Logs page and refer to [troubleshooting tips](#faq--troubleshooting).
|
||||

|
||||

|
||||

|
||||
|
||||
### Tutoriel en français
|
||||
## Supported metrics
|
||||
|
||||
Pour le tutoriel en français, consultez <https://belginux.com/installer-beszel-avec-docker/>
|
||||
|
||||
## Installation
|
||||
|
||||
You can install the hub and agent as single binaries or using Docker.
|
||||
|
||||
### Docker
|
||||
|
||||
**Hub**: See the example [docker-compose.yml](/supplemental/docker/hub/docker-compose.yml) file.
|
||||
|
||||
**Agent**: The hub provides compose content for the agent, but you can also reference the example [docker-compose.yml](/supplemental/docker/agent/docker-compose.yml) file.
|
||||
|
||||
The agent uses host network mode to access network interface stats, which automatically exposes the port. Change the port using an environment variable if needed.
|
||||
|
||||
If you don't need network stats, remove that line from the compose file and map the port manually.
|
||||
|
||||
### Binary
|
||||
|
||||
> [!TIP]
|
||||
> If using Linux, see [guides/systemd.md](/supplemental/guides/systemd.md) for a script to install the hub or agent as a system service. This is also built into the web UI.
|
||||
|
||||
Download and run the latest binaries from the [releases page](https://github.com/henrygd/beszel/releases) or use the commands below.
|
||||
|
||||
#### Hub
|
||||
|
||||
```bash
|
||||
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel && ls beszel
|
||||
```
|
||||
|
||||
Running the hub directly:
|
||||
|
||||
```bash
|
||||
./beszel serve
|
||||
```
|
||||
|
||||
#### Agent
|
||||
|
||||
```bash
|
||||
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null && chmod +x beszel-agent && ls beszel-agent
|
||||
```
|
||||
|
||||
Running the agent directly:
|
||||
|
||||
```bash
|
||||
PORT=45876 KEY="{PASTE_YOUR_KEY}" ./beszel-agent
|
||||
```
|
||||
|
||||
#### Updating
|
||||
|
||||
Use `./beszel update` and `./beszel-agent update` to update to the latest version.
|
||||
|
||||
## Environment variables
|
||||
|
||||
### Hub
|
||||
|
||||
| Name | Default | Description |
|
||||
| ----------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `CSP` | unset | Adds a [Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) header with this value. |
|
||||
| `DISABLE_PASSWORD_AUTH` | false | Disables password authentication. |
|
||||
|
||||
### Agent
|
||||
|
||||
| Name | Default | Description |
|
||||
| ------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `DOCKER_HOST` | unset | Overrides the docker host (docker.sock) if using a proxy.[^socket] |
|
||||
| `EXTRA_FILESYSTEMS` | unset | See [Monitoring additional disks, partitions, or remote mounts](#monitoring-additional-disks-partitions-or-remote-mounts) |
|
||||
| `FILESYSTEM` | unset | Device, partition, or mount point to use for root disk stats. |
|
||||
| `KEY` | unset | Public SSH key to use for authentication. Provided in hub. |
|
||||
| `LOG_LEVEL` | info | Logging level. Valid values: "debug", "info", "warn", "error". |
|
||||
| `MEM_CALC` | unset | Overrides the default memory calculation.[^memcalc] |
|
||||
| `NICS` | unset | Whitelist of network interfaces to monitor for bandwidth chart. |
|
||||
| `PORT` | 45876 | Port or address:port to listen on. |
|
||||
| `SENSORS` | unset | Whitelist of temperature sensors to monitor. |
|
||||
| `SYS_SENSORS` | unset | Overrides sys path for sensors. See [#160](https://github.com/henrygd/beszel/discussions/160). |
|
||||
|
||||
[^socket]: Beszel only needs access to read container information. For [linuxserver/docker-socket-proxy](https://github.com/linuxserver/docker-socket-proxy) you would set `CONTAINERS=1`.
|
||||
[^memcalc]: The default value for used memory is based on gopsutil's [Used](https://pkg.go.dev/github.com/shirou/gopsutil/v4@v4.24.6/mem#VirtualMemoryStat) calculation, which should align fairly closely with `free`. Set `MEM_CALC` to `htop` to align with htop's calculation.
|
||||
|
||||
## OAuth / OIDC Setup
|
||||
|
||||
Beszel supports OpenID Connect and many OAuth2 authentication providers (see list below).
|
||||
|
||||
Visit the "Auth providers" page to enable your provider. The redirect / callback URL should be `<your-beszel-url>/api/oauth2-redirect`.
|
||||
|
||||
<details>
|
||||
<summary>Supported provider list</summary>
|
||||
|
||||
- Apple
|
||||
- Bitbucket
|
||||
- Discord
|
||||
- Facebook
|
||||
- Gitea
|
||||
- Gitee
|
||||
- GitHub
|
||||
- GitLab
|
||||
- Google
|
||||
- Instagram
|
||||
- Kakao
|
||||
- LiveChat
|
||||
- mailcow
|
||||
- Microsoft
|
||||
- OpenID Connect
|
||||
- Patreon (v2)
|
||||
- Spotify
|
||||
- Strava
|
||||
- Twitch
|
||||
- Twitter
|
||||
- VK
|
||||
- Yandex
|
||||
|
||||
</details>
|
||||
|
||||
## Monitoring additional disks, partitions, or remote mounts
|
||||
|
||||
The method for adding additional disks differs depending on your deployment method.
|
||||
|
||||
Use `lsblk` to find the names and mount points of your partitions. If you have trouble, check the agent logs.
|
||||
|
||||
> Note: The charts will use the name of the device or partition if available, and fall back to the folder name. You will not get I/O stats for network mounted drives.
|
||||
|
||||
### Docker
|
||||
|
||||
Mount a folder from the target filesystem in the container's `/extra-filesystems` directory. For example:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- /mnt/disk1/.beszel:/extra-filesystems/sdb1:ro
|
||||
- /dev/mmcblk0/.beszel:/extra-filesystems/mmcblk0:ro
|
||||
```
|
||||
|
||||
### Binary
|
||||
|
||||
Set the `EXTRA_FILESYSTEMS` environment variable to a comma-separated list of devices, partitions, or mount points to monitor. For example:
|
||||
|
||||
```bash
|
||||
EXTRA_FILESYSTEMS="sdb,sdc1,mmcblk0,/mnt/network-share"
|
||||
```
|
||||
|
||||
## REST API
|
||||
|
||||
Because Beszel is built on PocketBase, you can use the PocketBase [web APIs](https://pocketbase.io/docs/api-records/) and [client-side SDKs](https://pocketbase.io/docs/client-side-sdks/) to read or update data from outside Beszel itself.
|
||||
|
||||
## Security
|
||||
|
||||
The hub and agent communicate over SSH, so they don't need to be exposed to the internet. Even if you place an external auth gateway, such as Authelia, in front of the hub, it won't disrupt or break the connection between the hub and agent.
|
||||
|
||||
When the hub is started for the first time, it generates an ED25519 key pair.
|
||||
|
||||
The agent's SSH server is configured to accept connections using this key only. It does not provide a pseudo-terminal or accept input, so it's impossible to execute commands on the agent even if your private key is compromised.
|
||||
|
||||
## User roles
|
||||
|
||||
### Admin
|
||||
|
||||
Admins have access to additional links in the hub, such as backups, SMTP settings, etc. The first user created is automatically an admin and can log into PocketBase.
|
||||
|
||||
Changing a user's role does not create a PocketBase admin account for them. To do that, go to Settings > Admins in PocketBase and add them manually.
|
||||
|
||||
### User
|
||||
|
||||
Users can create their own systems and alerts. Links to PocketBase settings are not shown in the hub.
|
||||
|
||||
### Read only
|
||||
|
||||
Read-only users cannot create systems but can view any system shared with them by an admin and create alerts.
|
||||
|
||||
## FAQ / Troubleshooting
|
||||
|
||||
### Agent is not connecting
|
||||
|
||||
Assuming the agent is running, the connection is probably being blocked by a firewall. You have two options:
|
||||
|
||||
1. Add an inbound rule to the agent system's firewall(s) to allow TCP connections to the port. Check any active firewalls, like iptables, and your cloud provider's firewall settings if applicable.
|
||||
2. Alternatively, use software like [Cloudflare Tunnel](https://www.cloudflare.com/products/tunnel/), [WireGuard](https://www.wireguard.com/), or [Tailscale](https://tailscale.com/) to securely bypass your firewall.
|
||||
|
||||
You can test connectivity by running `telnet <agent-ip> <port>`.
|
||||
|
||||
### Connecting the hub and agent on the same system using Docker
|
||||
|
||||
If using host network mode for the agent but not the hub, add your system using the hostname `host.docker.internal`, which resolves to the internal IP address used by the host. See the [example docker-compose.yml](/supplemental/docker/same-system/docker-compose.yml).
|
||||
|
||||
If using host network mode for both, you can use `localhost` as the hostname.
|
||||
|
||||
Otherwise, use the agent's `container_name` as the hostname if both are in the same Docker network.
|
||||
|
||||
### Finding the correct filesystem
|
||||
|
||||
Specify the filesystem/device/partition for root disk stats using the `FILESYSTEM` environment variable.
|
||||
|
||||
If not set, the agent will try to find the partition mounted on `/` and use that. This may not work correctly in a container, so it's recommended to set this value. Use one of the following methods to find the correct filesystem:
|
||||
|
||||
- Run `lsblk` and choose an option under "NAME."
|
||||
- Run `df -h` and choose an option under "Filesystem."
|
||||
- Run `sudo fdisk -l` and choose an option under "Device."
|
||||
|
||||
### Docker container charts are empty or missing
|
||||
|
||||
If container charts show empty data or don't appear at all, you may need to enable cgroup memory accounting. To verify, run `docker stats`. If that shows zero memory usage, follow this guide to fix the issue:
|
||||
|
||||
<https://akashrajpurohit.com/blog/resolving-missing-memory-stats-in-docker-stats-on-raspberry-pi/>
|
||||
|
||||
### Docker Containers Are Not Populating Reliably
|
||||
|
||||
Try upgrading your Docker version on the agent system. This issue was observed on a machine running version 24 and was resolved by upgrading to version 27.
|
||||
|
||||
### Month / week records are not populating reliably
|
||||
|
||||
Records for longer time periods are created by averaging stats from shorter periods. The agent must run uninterrupted for a full set of data to populate these records.
|
||||
|
||||
Pausing/unpausing the agent for longer than one minute will result in incomplete data, resetting the timing for the current interval.
|
||||
|
||||
## Compiling
|
||||
|
||||
Both the hub and agent are written in Go, so you can easily build them yourself, or cross-compile for different platforms. Please [install Go](https://go.dev/doc/install) first if you haven't already.
|
||||
|
||||
### Using Makefile
|
||||
|
||||
Run `make` in `/beszel`. This creates a `build` directory containing the binaries.
|
||||
|
||||
```bash
|
||||
cd beszel && make
|
||||
```
|
||||
|
||||
You can also build for different platforms:
|
||||
|
||||
```bash
|
||||
make OS=freebsd ARCH=arm64
|
||||
```
|
||||
|
||||
See a list of valid options by running `go tool dist list`.
|
||||
|
||||
### Manual compilation
|
||||
|
||||
#### Prepare dependencies
|
||||
|
||||
```bash
|
||||
cd beszel && go mod tidy
|
||||
```
|
||||
|
||||
#### Agent
|
||||
|
||||
Go to `beszel/cmd/agent` and run the following command to create a binary in the current directory:
|
||||
|
||||
```bash
|
||||
CGO_ENABLED=0 go build -ldflags "-w -s" .
|
||||
```
|
||||
|
||||
#### Hub
|
||||
|
||||
The hub embeds the web UI in the binary, so you must build the website first. I use [Bun](https://bun.sh/), but you may use Node.js if you prefer:
|
||||
|
||||
```bash
|
||||
cd beszel/site
|
||||
bun install
|
||||
bun run build
|
||||
```
|
||||
|
||||
Then in `beszel/cmd/hub`:
|
||||
|
||||
```bash
|
||||
CGO_ENABLED=0 go build -ldflags "-w -s" .
|
||||
```
|
||||
|
||||
#### Cross-compiling
|
||||
|
||||
You can cross-compile for different platforms using the `GOOS` and `GOARCH` environment variables.
|
||||
|
||||
For example, to build for FreeBSD ARM64:
|
||||
|
||||
```bash
|
||||
GOOS=freebsd GOARCH=arm64 CGO_ENABLED=0 go build -ldflags "-w -s" .
|
||||
```
|
||||
|
||||
See a list of valid options by running `go tool dist list`.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome, but it's a good idea to check with us first in a discussion / issue if you plan on doing anything significant.
|
||||
|
||||
We use [Crowdin](https://crowdin.com/project/beszel) to manage translations. New languages or improvements to existing translations are appreciated!
|
||||
|
||||
We'll have more helpful information about contributing to Beszel in the near future.
|
||||
- **CPU usage** - Host system and Docker / Podman containers.
|
||||
- **Memory usage** - Host system and containers. Includes swap and ZFS ARC.
|
||||
- **Disk usage** - Host system. Supports multiple partitions and devices.
|
||||
- **Disk I/O** - Host system. Supports multiple partitions and devices.
|
||||
- **Network usage** - Host system and containers.
|
||||
- **Temperature** - Host system sensors.
|
||||
- **GPU usage / temperature / power draw** - Nvidia and AMD only. Must use binary agent.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -1,90 +1,178 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Move is_alpine function to the top of the file
|
||||
is_alpine() {
|
||||
[ -f /etc/alpine-release ]
|
||||
}
|
||||
|
||||
version=0.0.1
|
||||
# Define default values
|
||||
PORT=45876
|
||||
UNINSTALL=false
|
||||
CHINA_MAINLAND=false
|
||||
GITHUB_URL="https://github.com"
|
||||
GITHUB_API_URL="https://api.github.com"
|
||||
KEY=""
|
||||
|
||||
# Read command line options
|
||||
while getopts "k:p:uh" opt; do
|
||||
case $opt in
|
||||
k) KEY="$OPTARG";;
|
||||
p) PORT="$OPTARG";;
|
||||
u) UNINSTALL=true;;
|
||||
h) printf "Beszel Agent installation script\n\n"
|
||||
printf "Usage: ./install-agent.sh [options]\n\n"
|
||||
printf "Options: \n"
|
||||
printf " -k : SSH key (required, or interactive if not provided)\n"
|
||||
printf " -p : Port (default: $PORT)\n"
|
||||
printf " -u : Uninstall Beszel Agent\n"
|
||||
printf " -h : Display this help message\n"
|
||||
exit 0;;
|
||||
?) echo "Invalid option: -$OPTARG"; exit 1;;
|
||||
esac
|
||||
done
|
||||
# Check for help flag first
|
||||
case "$1" in
|
||||
-h | --help)
|
||||
printf "Beszel Agent installation script\n\n"
|
||||
printf "Usage: ./install-agent.sh [options]\n\n"
|
||||
printf "Options: \n"
|
||||
printf " -k : SSH key (required, or interactive if not provided)\n"
|
||||
printf " -p : Port (default: $PORT)\n"
|
||||
printf " -u : Uninstall Beszel Agent\n"
|
||||
printf " --china-mirrors : Using GitHub mirror sources to resolve network timeout issues in mainland China\n"
|
||||
printf " -h, --help : Display this help message\n"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check if running as root
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
if command -v sudo >/dev/null 2>&1; then
|
||||
exec sudo "$0" "$@"
|
||||
else
|
||||
echo "This script must be run as root. Please either:"
|
||||
echo "1. Run this script as root (su root)"
|
||||
echo "2. Install sudo and run with sudo"
|
||||
exit 1
|
||||
# Build sudo args by properly quoting everything
|
||||
build_sudo_args() {
|
||||
QUOTED_ARGS=""
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ -n "$QUOTED_ARGS" ]; then
|
||||
QUOTED_ARGS="$QUOTED_ARGS "
|
||||
fi
|
||||
QUOTED_ARGS="$QUOTED_ARGS'$(echo "$1" | sed "s/'/'\\\\''/g")'"
|
||||
shift
|
||||
done
|
||||
echo "$QUOTED_ARGS"
|
||||
}
|
||||
|
||||
# Check if running as root and re-execute with sudo if needed
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
if command -v sudo >/dev/null 2>&1; then
|
||||
SUDO_ARGS=$(build_sudo_args "$@")
|
||||
eval "exec sudo $0 $SUDO_ARGS"
|
||||
else
|
||||
echo "This script must be run as root. Please either:"
|
||||
echo "1. Run this script as root (su root)"
|
||||
echo "2. Install sudo and run with sudo"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Parse arguments
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-k)
|
||||
shift
|
||||
KEY="$1"
|
||||
;;
|
||||
-p)
|
||||
shift
|
||||
PORT="$1"
|
||||
;;
|
||||
-u)
|
||||
UNINSTALL=true
|
||||
;;
|
||||
--china-mirrors)
|
||||
CHINA_MAINLAND=true
|
||||
;;
|
||||
*)
|
||||
echo "Invalid option: $1" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Uninstall process
|
||||
if [ "$UNINSTALL" = true ]; then
|
||||
echo "Stopping and disabling the agent service..."
|
||||
systemctl stop beszel-agent.service
|
||||
systemctl disable beszel-agent.service
|
||||
if is_alpine; then
|
||||
echo "Stopping and disabling the agent service..."
|
||||
rc-service beszel-agent stop
|
||||
rc-update del beszel-agent default
|
||||
|
||||
echo "Removing the systemd service file..."
|
||||
rm /etc/systemd/system/beszel-agent.service
|
||||
echo "Removing the OpenRC service files..."
|
||||
rm -f /etc/init.d/beszel-agent
|
||||
|
||||
# Remove the update timer and service if they exist
|
||||
echo "Removing the daily update service and timer..."
|
||||
systemctl stop beszel-agent-update.timer 2>/dev/null
|
||||
systemctl disable beszel-agent-update.timer 2>/dev/null
|
||||
rm -f /etc/systemd/system/beszel-agent-update.service
|
||||
rm -f /etc/systemd/system/beszel-agent-update.timer
|
||||
# Remove the update service if it exists
|
||||
echo "Removing the daily update service..."
|
||||
rc-service beszel-agent-update stop 2>/dev/null
|
||||
rc-update del beszel-agent-update default 2>/dev/null
|
||||
rm -f /etc/init.d/beszel-agent-update
|
||||
|
||||
systemctl daemon-reload
|
||||
# Remove log files
|
||||
echo "Removing log files..."
|
||||
rm -f /var/log/beszel-agent.log /var/log/beszel-agent.err
|
||||
|
||||
else
|
||||
echo "Stopping and disabling the agent service..."
|
||||
systemctl stop beszel-agent.service
|
||||
systemctl disable beszel-agent.service
|
||||
|
||||
echo "Removing the systemd service file..."
|
||||
rm /etc/systemd/system/beszel-agent.service
|
||||
|
||||
# Remove the update timer and service if they exist
|
||||
echo "Removing the daily update service and timer..."
|
||||
systemctl stop beszel-agent-update.timer 2>/dev/null
|
||||
systemctl disable beszel-agent-update.timer 2>/dev/null
|
||||
rm -f /etc/systemd/system/beszel-agent-update.service
|
||||
rm -f /etc/systemd/system/beszel-agent-update.timer
|
||||
|
||||
systemctl daemon-reload
|
||||
fi
|
||||
|
||||
echo "Removing the Beszel Agent directory..."
|
||||
rm -rf /opt/beszel-agent
|
||||
|
||||
echo "Removing the dedicated user for the agent service..."
|
||||
killall beszel-agent
|
||||
userdel beszel
|
||||
killall beszel-agent 2>/dev/null
|
||||
if is_alpine; then
|
||||
deluser beszel 2>/dev/null
|
||||
else
|
||||
userdel beszel 2>/dev/null
|
||||
fi
|
||||
|
||||
echo "Beszel Agent has been uninstalled successfully!"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$CHINA_MAINLAND" = true ]; then
|
||||
printf "\nConfirmed to use GitHub mirrors (ghp.ci) for download beszel-agent?\nThis helps to install Agent properly in mainland China. (Y/n): "
|
||||
read USE_MIRROR
|
||||
USE_MIRROR=${USE_MIRROR:-Y}
|
||||
if [ "$USE_MIRROR" = "Y" ] || [ "$USE_MIRROR" = "y" ]; then
|
||||
GITHUB_URL="https://ghp.ci/https://github.com"
|
||||
# In China, only github.com is blocked, while api.github.com is not (for now).
|
||||
# GITHUB_API_URL="https://api.github.com"
|
||||
echo "Using GitHub Mirror for downloads..."
|
||||
else
|
||||
echo "GitHub mirrors will not be used for installation."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Function to check if a package is installed
|
||||
package_installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# Check for package manager and install necessary packages if not installed
|
||||
if package_installed apt-get; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
if is_alpine; then
|
||||
if ! package_installed tar || ! package_installed curl || ! package_installed coreutils; then
|
||||
apk update
|
||||
apk add tar curl coreutils shadow
|
||||
fi
|
||||
elif package_installed apt-get; then
|
||||
if ! package_installed tar || ! package_installed curl || ! package_installed sha256sum; then
|
||||
apt-get update
|
||||
apt-get install -y tar curl
|
||||
apt-get install -y tar curl coreutils
|
||||
fi
|
||||
elif package_installed yum; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
yum install -y tar curl
|
||||
if ! package_installed tar || ! package_installed curl || ! package_installed sha256sum; then
|
||||
yum install -y tar curl coreutils
|
||||
fi
|
||||
elif package_installed pacman; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
pacman -Sy --noconfirm tar curl
|
||||
if ! package_installed tar || ! package_installed curl || ! package_installed sha256sum; then
|
||||
pacman -Sy --noconfirm tar curl coreutils
|
||||
fi
|
||||
else
|
||||
echo "Warning: Please ensure 'tar' and 'curl' are installed."
|
||||
echo "Warning: Please ensure 'tar' and 'curl' and 'sha256sum (coreutils)' are installed."
|
||||
fi
|
||||
|
||||
# If no SSH key is provided, ask for the SSH key interactively
|
||||
@@ -93,13 +181,32 @@ if [ -z "$KEY" ]; then
|
||||
read KEY
|
||||
fi
|
||||
|
||||
# Create a dedicated user for the service if it doesn't exist
|
||||
if ! id -u beszel > /dev/null 2>&1; then
|
||||
echo "Creating a dedicated user for the Beszel Agent service..."
|
||||
useradd -M -s /bin/false beszel
|
||||
# Verify checksum
|
||||
if command -v sha256sum >/dev/null; then
|
||||
CHECK_CMD="sha256sum"
|
||||
elif command -v md5 >/dev/null; then
|
||||
CHECK_CMD="md5 -q"
|
||||
else
|
||||
echo "No MD5 checksum utility found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Create a dedicated user for the service if it doesn't exist
|
||||
if is_alpine; then
|
||||
if ! id -u beszel >/dev/null 2>&1; then
|
||||
echo "Creating a dedicated user for the Beszel Agent service..."
|
||||
adduser -D -H -s /sbin/nologin beszel
|
||||
fi
|
||||
# Add the user to the docker group to allow access to the Docker socket
|
||||
addgroup beszel docker
|
||||
else
|
||||
if ! id -u beszel >/dev/null 2>&1; then
|
||||
echo "Creating a dedicated user for the Beszel Agent service..."
|
||||
useradd -M -s /bin/false beszel
|
||||
fi
|
||||
# Add the user to the docker group to allow access to the Docker socket
|
||||
usermod -aG docker beszel
|
||||
fi
|
||||
# Add the user to the docker group to allow access to the Docker socket
|
||||
usermod -aG docker beszel
|
||||
|
||||
# Create the directory for the Beszel Agent
|
||||
if [ ! -d "/opt/beszel-agent" ]; then
|
||||
@@ -111,15 +218,143 @@ fi
|
||||
|
||||
# Download and install the Beszel Agent
|
||||
echo "Downloading and installing the agent..."
|
||||
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" \
|
||||
| tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null
|
||||
mv ./beszel-agent /opt/beszel-agent/beszel-agent
|
||||
|
||||
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||
ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/')
|
||||
FILE_NAME="beszel-agent_${OS}_${ARCH}.tar.gz"
|
||||
LATEST_VERSION=$(curl -s "$GITHUB_API_URL""/repos/henrygd/beszel/releases/latest" | grep -o '"tag_name": "v[^"]*"' | cut -d'"' -f4 | tr -d 'v')
|
||||
if [ -z "$LATEST_VERSION" ]; then
|
||||
echo "Failed to get latest version"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Downloading and installing agent version ${LATEST_VERSION} from ${GITHUB_URL} ..."
|
||||
|
||||
# Download checksums file
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
cd "$TEMP_DIR" || exit 1
|
||||
CHECKSUM=$(curl -sL "$GITHUB_URL/henrygd/beszel/releases/download/v${LATEST_VERSION}/beszel_${LATEST_VERSION}_checksums.txt" | grep "$FILE_NAME" | cut -d' ' -f1)
|
||||
if [ -z "$CHECKSUM" ] || ! echo "$CHECKSUM" | grep -qE "^[a-fA-F0-9]{64}$"; then
|
||||
echo "Failed to get checksum or invalid checksum format"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! curl -#L "$GITHUB_URL/henrygd/beszel/releases/download/v${LATEST_VERSION}/$FILE_NAME" -o "$FILE_NAME"; then
|
||||
echo "Failed to download the agent from ""$GITHUB_URL/henrygd/beszel/releases/download/v${LATEST_VERSION}/$FILE_NAME"
|
||||
rm -rf "$TEMP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$($CHECK_CMD "$FILE_NAME" | cut -d' ' -f1)" != "$CHECKSUM" ]; then
|
||||
echo "Checksum verification failed: $($CHECK_CMD "$FILE_NAME" | cut -d' ' -f1) & $CHECKSUM"
|
||||
rm -rf "$TEMP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! tar -xzf "$FILE_NAME" beszel-agent; then
|
||||
echo "Failed to extract the agent"
|
||||
rm -rf "$TEMP_DIR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mv beszel-agent /opt/beszel-agent/beszel-agent
|
||||
chown beszel:beszel /opt/beszel-agent/beszel-agent
|
||||
chmod 755 /opt/beszel-agent/beszel-agent
|
||||
|
||||
# Create the systemd service
|
||||
echo "Creating the systemd service for the agent..."
|
||||
cat > /etc/systemd/system/beszel-agent.service << EOF
|
||||
# Cleanup
|
||||
rm -rf "$TEMP_DIR"
|
||||
|
||||
# Modify service installation part, add Alpine check before systemd service creation
|
||||
if is_alpine; then
|
||||
echo "Creating OpenRC service for Alpine Linux..."
|
||||
cat > /etc/init.d/beszel-agent <<EOF
|
||||
#!/sbin/openrc-run
|
||||
|
||||
name="beszel-agent"
|
||||
description="Beszel Agent Service"
|
||||
command="/opt/beszel-agent/beszel-agent"
|
||||
command_user="beszel"
|
||||
command_background="yes"
|
||||
pidfile="/run/\${RC_SVCNAME}.pid"
|
||||
output_log="/var/log/beszel-agent.log"
|
||||
error_log="/var/log/beszel-agent.err"
|
||||
|
||||
start_pre() {
|
||||
checkpath -f -m 0644 -o beszel:beszel "\$output_log" "\$error_log"
|
||||
}
|
||||
|
||||
export PORT="$PORT"
|
||||
export KEY="$KEY"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
after firewall
|
||||
}
|
||||
EOF
|
||||
|
||||
chmod +x /etc/init.d/beszel-agent
|
||||
rc-update add beszel-agent default
|
||||
|
||||
# Create log files with proper permissions
|
||||
touch /var/log/beszel-agent.log /var/log/beszel-agent.err
|
||||
chown beszel:beszel /var/log/beszel-agent.log /var/log/beszel-agent.err
|
||||
|
||||
# Start the service
|
||||
rc-service beszel-agent restart
|
||||
|
||||
# Check if service started successfully
|
||||
sleep 2
|
||||
if ! rc-service beszel-agent status | grep -q "started"; then
|
||||
echo "Error: The Beszel Agent service failed to start. Checking logs..."
|
||||
tail -n 20 /var/log/beszel-agent.err
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Auto-update service for Alpine
|
||||
printf "\nWould you like to enable automatic daily updates for beszel-agent? (y/n): "
|
||||
read AUTO_UPDATE
|
||||
case "$AUTO_UPDATE" in
|
||||
[Yy]*)
|
||||
echo "Setting up daily automatic updates for beszel-agent..."
|
||||
|
||||
cat > /etc/init.d/beszel-agent-update <<EOF
|
||||
#!/sbin/openrc-run
|
||||
|
||||
name="beszel-agent-update"
|
||||
description="Update beszel-agent if needed"
|
||||
|
||||
depend() {
|
||||
need beszel-agent
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Checking for beszel-agent updates"
|
||||
if /opt/beszel-agent/beszel-agent update | grep -q "Successfully updated"; then
|
||||
rc-service beszel-agent restart
|
||||
fi
|
||||
eend $?
|
||||
}
|
||||
EOF
|
||||
|
||||
chmod +x /etc/init.d/beszel-agent-update
|
||||
rc-update add beszel-agent-update default
|
||||
rc-service beszel-agent-update start
|
||||
|
||||
printf "\nAutomatic daily updates have been enabled.\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check service status
|
||||
if ! rc-service beszel-agent status >/dev/null 2>&1; then
|
||||
echo "Error: The Beszel Agent service is not running."
|
||||
rc-service beszel-agent status
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
# Original systemd service installation code
|
||||
echo "Creating the systemd service for the agent..."
|
||||
cat >/etc/systemd/system/beszel-agent.service <<EOF
|
||||
[Unit]
|
||||
Description=Beszel Agent Service
|
||||
After=network.target
|
||||
@@ -131,26 +366,27 @@ Environment="KEY=$KEY"
|
||||
ExecStart=/opt/beszel-agent/beszel-agent
|
||||
User=beszel
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# Load and start the service
|
||||
printf "\nLoading and starting the agent service...\n"
|
||||
systemctl daemon-reload
|
||||
systemctl enable beszel-agent.service
|
||||
systemctl start beszel-agent.service
|
||||
# Load and start the service
|
||||
printf "\nLoading and starting the agent service...\n"
|
||||
systemctl daemon-reload
|
||||
systemctl enable beszel-agent.service
|
||||
systemctl start beszel-agent.service
|
||||
|
||||
# Prompt for auto-update setup
|
||||
printf "\nWould you like to enable automatic daily updates for beszel-agent? (y/n): "
|
||||
read AUTO_UPDATE
|
||||
case "$AUTO_UPDATE" in
|
||||
# Prompt for auto-update setup
|
||||
printf "\nWould you like to enable automatic daily updates for beszel-agent? (y/n): "
|
||||
read AUTO_UPDATE
|
||||
case "$AUTO_UPDATE" in
|
||||
[Yy]*)
|
||||
echo "Setting up daily automatic updates for beszel-agent..."
|
||||
|
||||
# Create systemd service for the daily update
|
||||
cat > /etc/systemd/system/beszel-agent-update.service << EOF
|
||||
cat >/etc/systemd/system/beszel-agent-update.service <<EOF
|
||||
[Unit]
|
||||
Description=Update beszel-agent if needed
|
||||
Wants=beszel-agent.service
|
||||
@@ -161,7 +397,7 @@ ExecStart=/bin/sh -c '/opt/beszel-agent/beszel-agent update | grep -q "Successfu
|
||||
EOF
|
||||
|
||||
# Create systemd timer for the daily update
|
||||
cat > /etc/systemd/system/beszel-agent-update.timer << EOF
|
||||
cat >/etc/systemd/system/beszel-agent-update.timer <<EOF
|
||||
[Unit]
|
||||
Description=Run beszel-agent update daily
|
||||
|
||||
@@ -179,13 +415,14 @@ EOF
|
||||
|
||||
printf "\nAutomatic daily updates have been enabled.\n"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
# Wait for the service to start or fail
|
||||
if [ "$(systemctl is-active beszel-agent.service)" != "active" ]; then
|
||||
echo "Error: The Beszel Agent service is not running."
|
||||
echo "$(systemctl status beszel-agent.service)"
|
||||
exit 1
|
||||
# Wait for the service to start or fail
|
||||
if [ "$(systemctl is-active beszel-agent.service)" != "active" ]; then
|
||||
echo "Error: The Beszel Agent service is not running."
|
||||
echo "$(systemctl status beszel-agent.service)"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
printf "\n\033[32mBeszel Agent has been installed successfully! It is now running on port $PORT.\033[0m\n"
|
||||
printf "\n\033[32mBeszel Agent has been installed successfully! It is now running on port $PORT.\033[0m\n"
|
||||
|
||||
@@ -105,6 +105,7 @@ ExecStart=/opt/beszel/beszel serve --http "0.0.0.0:$PORT"
|
||||
WorkingDirectory=/opt/beszel
|
||||
User=beszel
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||