mirror of
https://github.com/henrygd/beszel.git
synced 2025-11-29 00:13:20 +00:00
Compare commits
43 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a69c09939 | ||
|
|
e87af81db4 | ||
|
|
6043c59da8 | ||
|
|
4cb7b97416 | ||
|
|
b1db450e00 | ||
|
|
2e8ac98924 | ||
|
|
529a628368 | ||
|
|
8a2e821c8f | ||
|
|
3cd11d6bc4 | ||
|
|
db092d2440 | ||
|
|
a4a7c91fc1 | ||
|
|
543fd44cb2 | ||
|
|
eab262c3f7 | ||
|
|
52bde8ea6d | ||
|
|
03de73560c | ||
|
|
bcb7de1b9a | ||
|
|
ca94bd32f2 | ||
|
|
cd10727795 | ||
|
|
8262a9a45b | ||
|
|
b433437636 | ||
|
|
02825ed109 | ||
|
|
a97e6149bb | ||
|
|
946b1e7f54 | ||
|
|
b5ed7cd555 | ||
|
|
233349fb2a | ||
|
|
c54e6ff0ea | ||
|
|
98c4102f72 | ||
|
|
640ee7a88e | ||
|
|
8a85246a0b | ||
|
|
655bfc95ca | ||
|
|
37a066e6bd | ||
|
|
9e959a6b7b | ||
|
|
2b6560b9e1 | ||
|
|
d8836d53bf | ||
|
|
aa15876aa2 | ||
|
|
7ca960b521 | ||
|
|
4eaedcf825 | ||
|
|
b337ba1d7f | ||
|
|
c9b72f724f | ||
|
|
35d8996e00 | ||
|
|
6e61c5f1e4 | ||
|
|
6bb147c349 | ||
|
|
3668aa4e8e |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -13,3 +13,5 @@ beszel/cmd/agent/agent
|
||||
node_modules
|
||||
beszel/build
|
||||
*timestamp*
|
||||
.swc
|
||||
beszel/site/src/locales/**/*.ts
|
||||
@@ -9,9 +9,9 @@ require (
|
||||
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.22
|
||||
github.com/pocketbase/pocketbase v0.22.23
|
||||
github.com/rhysd/go-github-selfupdate v1.2.3
|
||||
github.com/shirou/gopsutil/v4 v4.24.9
|
||||
github.com/shirou/gopsutil/v4 v4.24.10
|
||||
github.com/spf13/cast v1.7.0
|
||||
github.com/spf13/cobra v1.8.1
|
||||
golang.org/x/crypto v0.28.0
|
||||
@@ -22,31 +22,31 @@ 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.2 // 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.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.41 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.33 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 // 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/internal/ini v1.8.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21 // 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.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.0 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 // 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/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.0 // indirect
|
||||
github.com/fatih/color v1.17.0 // 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/ganigeorgiev/fexpr v0.4.1 // indirect
|
||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||
@@ -73,7 +73,7 @@ require (
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/tcnksm/go-gitconfig v0.1.2 // indirect
|
||||
github.com/tklauser/go-sysconf v0.3.14 // indirect
|
||||
github.com/tklauser/numcpus v0.8.0 // 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
|
||||
@@ -90,8 +90,8 @@ require (
|
||||
golang.org/x/text v0.19.0 // indirect
|
||||
golang.org/x/time v0.7.0 // indirect
|
||||
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
|
||||
google.golang.org/api v0.201.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // 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
|
||||
|
||||
100
beszel/go.sum
100
beszel/go.sum
@@ -1,10 +1,10 @@
|
||||
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.9.8 h1:+CSJ0Gw9iVeSENVCKJoLHhdUykDgXSc4Qn+gu2BRtR8=
|
||||
cloud.google.com/go/auth v0.9.8/go.mod h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY=
|
||||
cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc=
|
||||
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/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=
|
||||
@@ -26,42 +26,42 @@ 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.2 h1:AkNLZEyYMLnx/Q/mSKkcMqwNFXMAvFto9bNsHqcTduI=
|
||||
github.com/aws/aws-sdk-go-v2 v1.32.2/go.mod h1:2SK5n0a2karNTv5tbP1SjsX0uhttou00v/HpXKM1ZUo=
|
||||
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.0 h1:FosVYWcqEtWNxHn8gB/Vs6jOlNwSoyOCA/g/sxyySOQ=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.28.0/go.mod h1:pYhbtvg1siOOg8h5an77rXle9tVG8T+BWLWAo7cOukc=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.41 h1:7gXo+Axmp+R4Z+AK8YFQO0ZV3L0gizGINCOWxSLY9W8=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.41/go.mod h1:u4Eb8d3394YLubphT4jLEwN1rLNq2wFOlT6OuxFwPzU=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17 h1:TMH3f/SCAWdNtXXVPPu5D6wrr4G5hI1rAxbcocKfC7Q=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.17/go.mod h1:1ZRXLdTpzdJb9fwTMXiLipENRxkGMTn1sfKexGllQCw=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.33 h1:X+4YY5kZRI/cOoSMVMGTqFXHAMg1bvvay7IBcqHpybQ=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.33/go.mod h1:DPynzu+cn92k5UQ6tZhX+wfTB4ah6QDU/NgdHqatmvk=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21 h1:UAsR3xA31QGf79WzpG/ixT9FZvQlh5HY1NRqSHBNOCk=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.21/go.mod h1:JNr43NFf5L9YaG3eKTm7HQzls9J+A9YYcGI5Quh1r2Y=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21 h1:6jZVETqmYCadGFvrYEQfC5fAQmlo80CeL5psbno6r0s=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.21/go.mod h1:1SR0GbLlnN3QUmYaflZNiH1ql+1qrSiB2vwcJ+4UM60=
|
||||
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/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.21 h1:7edmS3VOBDhK00b/MwGtGglCm7hhwNYnjJs/PgFdMQE=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.21/go.mod h1:Q9o5h4HoIWG8XfzxqiuK/CGUbepCJ8uTlaE3bAbxytQ=
|
||||
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.2 h1:4FMHqLfk0efmTqhXVRL5xYRqlEBNBiRI7N6w4jsEdd4=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.4.2/go.mod h1:LWoqeWlK9OZeJxsROW2RqrSPvQHKTpp69r/iDjwsSaw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2 h1:s7NA1SOw8q/5c0wr8477yOPp0z+uBaXBnLE0XYb0POA=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.2/go.mod h1:fnjjWyAW/Pj5HYOxl9LJqWtEwS7W2qgcRLWP+uWbss0=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2 h1:t7iUP9+4wdc5lt3E41huP+GvQZJD38WLsgVp4iOtAjg=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.2/go.mod h1:/niFCtmuQNxqx9v8WAPq5qh7EH25U4BF6tjoyq9bObM=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.0 h1:xA6XhTF7PE89BCNHJbQi8VvPzcgMtmGC5dr8S8N7lHk=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.66.0/go.mod h1:cB6oAuus7YXRZhWCc1wIwPywwZ1XwweNp2TVAEGYeB8=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.2 h1:bSYXVyUzoTHoKalBmwaZxs97HU9DWWI3ehHSAMa7xOk=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.24.2/go.mod h1:skMqY7JElusiOUjMJMOv1jJsP7YUg7DrhgqZZWuzu1U=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2 h1:AhmO1fHINP9vFYUE0LHzCWg/LfUWUF+zFPEcY9QXb7o=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.2/go.mod h1:o8aQygT2+MVP0NaV6kbdE1YnnIM8RRVQzoeUH45GOdI=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.32.2 h1:CiS7i0+FUe+/YY1GvIBLLrR/XNGZ4CtM1Ll0XavNuVo=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.32.2/go.mod h1:HtaiBI8CjYoNVde8arShXb94UbQQi9L4EMr6D+xGBwo=
|
||||
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/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
|
||||
@@ -84,14 +84,14 @@ github.com/domodwyer/mailyak/v3 v3.6.2 h1:x3tGMsyFhTCaxp6ycgR0FE/bu5QiNp+hetUuCO
|
||||
github.com/domodwyer/mailyak/v3 v3.6.2/go.mod h1:lOm/u9CyCVWHeaAmHIdF4RiKVxKUT/H5XX10lIKAL6c=
|
||||
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||
github.com/ebitengine/purego v0.8.0 h1:JbqvnEzRvPpxhCJzJJ2y0RbiZ8nyjccVUrSM3q+GvvE=
|
||||
github.com/ebitengine/purego v0.8.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
||||
github.com/ebitengine/purego v0.8.1 h1:sdRKd6plj7KYW33EH5As6YKfe8m9zbN9JMrOjNVF/BE=
|
||||
github.com/ebitengine/purego v0.8.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
||||
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
|
||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
|
||||
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
|
||||
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
@@ -217,8 +217,8 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
|
||||
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.22 h1:iA128U+cmM9euxPpuCN7blmQ2FZNzOix2aUUcnbbQu8=
|
||||
github.com/pocketbase/pocketbase v0.22.22/go.mod h1:u+l7T04g7eBXetoodXLch3WoV/QonRf1qYq+2vuTKuI=
|
||||
github.com/pocketbase/pocketbase v0.22.23 h1:cnjSiBcMf7VIhXmoBmZCAV8qKYkOubHCOQQPZMKFBAk=
|
||||
github.com/pocketbase/pocketbase v0.22.23/go.mod h1:h2ojT2pqBWH9LLl1aiawkwXiICKtzZA/kjM/8VhydR4=
|
||||
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,8 +229,8 @@ 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.9 h1:KIV+/HaHD5ka5f570RZq+2SaeFsb/pq+fp2DGNWYoOI=
|
||||
github.com/shirou/gopsutil/v4 v4.24.9/go.mod h1:3fkaHNeYsUFCGZ8+9vZVWtbyM1k2eRnlL+bWO8Bxa/Q=
|
||||
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/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
|
||||
@@ -251,8 +251,8 @@ github.com/tcnksm/go-gitconfig v0.1.2 h1:iiDhRitByXAEyjgBqsKi9QU4o2TNtv9kPP3RgPg
|
||||
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=
|
||||
github.com/tklauser/go-sysconf v0.3.14/go.mod h1:1ym4lWMLUOhuBOPGtRcJm7tEGX4SCYNEEEtghGG/8uY=
|
||||
github.com/tklauser/numcpus v0.8.0 h1:Mx4Wwe/FjZLeQsK/6kt2EOepwwSl7SmJrK5bV/dXYgY=
|
||||
github.com/tklauser/numcpus v0.8.0/go.mod h1:ZJZlAY+dmR4eut8epnzf0u/VwodKmryxR8txiloSqBE=
|
||||
github.com/tklauser/numcpus v0.9.0 h1:lmyCHtANi8aRUgkckBgoDk1nHCux3n2cgkJLXdQGPDo=
|
||||
github.com/tklauser/numcpus v0.9.0/go.mod h1:SN6Nq1O3VychhC1npsWostA+oW+VOQTxZrS604NSRyI=
|
||||
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=
|
||||
@@ -364,8 +364,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
|
||||
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.201.0 h1:+7AD9JNM3tREtawRMu8sOjSbb8VYcYXJG/2eEOmfDu0=
|
||||
google.golang.org/api v0.201.0/go.mod h1:HVY0FCHVs89xIW9fzf/pBvOEm+OolHa86G/txFezyq4=
|
||||
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/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,12 +373,12 @@ 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-20241007155032-5fefd90f89a9 h1:nFS3IivktIU5Mk6KQa+v6RKkHUpdQpphqGNLxqNnbEk=
|
||||
google.golang.org/genproto v0.0.0-20241007155032-5fefd90f89a9/go.mod h1:tEzYTYZxbmVNOu0OAFH9HzdJtLn6h4Aj89zzlBCdHms=
|
||||
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-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
|
||||
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/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=
|
||||
|
||||
@@ -24,6 +24,7 @@ type Agent struct {
|
||||
sensorsContext context.Context // Sensors context to override sys location
|
||||
sensorsWhitelist map[string]struct{} // List of sensors to monitor
|
||||
systemInfo system.Info // Host system info
|
||||
gpuManager *GPUManager // Manages GPU data
|
||||
}
|
||||
|
||||
func NewAgent() *Agent {
|
||||
@@ -72,7 +73,14 @@ func (a *Agent) Run(pubKey []byte, addr string) {
|
||||
a.initializeSystemInfo()
|
||||
a.initializeDiskInfo()
|
||||
a.initializeNetIoStats()
|
||||
a.dockerManager = newDockerManager()
|
||||
a.dockerManager = newDockerManager(a)
|
||||
|
||||
// initialize GPU manager
|
||||
if gm, err := NewGPUManager(); err != nil {
|
||||
slog.Debug("GPU", "err", err)
|
||||
} else {
|
||||
a.gpuManager = gm
|
||||
}
|
||||
|
||||
// if debugging, print stats
|
||||
if a.debug {
|
||||
|
||||
@@ -38,14 +38,26 @@ func (a *Agent) initializeDiskInfo() {
|
||||
// Helper function to add a filesystem to fsStats if it doesn't exist
|
||||
addFsStat := func(device, mountpoint string, root bool) {
|
||||
key := filepath.Base(device)
|
||||
var ioMatch bool
|
||||
if _, exists := a.fsStats[key]; !exists {
|
||||
if root {
|
||||
slog.Info("Detected root device", "name", key)
|
||||
// check if root device is in /proc/diskstats, use fallback if not
|
||||
if _, exists := diskIoCounters[key]; !exists {
|
||||
slog.Warn("Device not found in diskstats", "name", key)
|
||||
key = findFallbackIoDevice(filesystem, diskIoCounters, a.fsStats)
|
||||
slog.Info("Using I/O fallback", "name", key)
|
||||
// Check if root device is in /proc/diskstats, use fallback if not
|
||||
if _, ioMatch = diskIoCounters[key]; !ioMatch {
|
||||
key, ioMatch = findIoDevice(filesystem, diskIoCounters, a.fsStats)
|
||||
if !ioMatch {
|
||||
slog.Info("Using I/O fallback", "device", device, "mountpoint", mountpoint, "fallback", key)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Check if non-root has diskstats and fall back to folder name if not
|
||||
// Scenario: device is encrypted and named luks-2bcb02be-999d-4417-8d18-5c61e660fb6e - not in /proc/diskstats.
|
||||
// However, the device can be specified by mounting folder from luks device at /extra-filesystems/sda1
|
||||
if _, ioMatch = diskIoCounters[key]; !ioMatch {
|
||||
efBase := filepath.Base(mountpoint)
|
||||
if _, ioMatch = diskIoCounters[efBase]; ioMatch {
|
||||
key = efBase
|
||||
}
|
||||
}
|
||||
}
|
||||
a.fsStats[key] = &system.FsStats{Root: root, Mountpoint: mountpoint}
|
||||
@@ -92,9 +104,12 @@ func (a *Agent) initializeDiskInfo() {
|
||||
for _, p := range partitions {
|
||||
// fmt.Println(p.Device, p.Mountpoint)
|
||||
// Binary root fallback or docker root fallback
|
||||
if !hasRoot && (p.Mountpoint == "/" || (p.Mountpoint == "/etc/hosts" && strings.HasPrefix(p.Device, "/dev") && !strings.Contains(p.Device, "mapper"))) {
|
||||
addFsStat(p.Device, "/", true)
|
||||
hasRoot = true
|
||||
if !hasRoot && (p.Mountpoint == "/" || (p.Mountpoint == "/etc/hosts" && strings.HasPrefix(p.Device, "/dev"))) {
|
||||
fs, match := findIoDevice(filepath.Base(p.Device), diskIoCounters, a.fsStats)
|
||||
if match {
|
||||
addFsStat(fs, p.Mountpoint, true)
|
||||
hasRoot = true
|
||||
}
|
||||
}
|
||||
|
||||
// Check if device is in /extra-filesystems
|
||||
@@ -114,7 +129,7 @@ func (a *Agent) initializeDiskInfo() {
|
||||
mountpoint := filepath.Join(efPath, folder.Name())
|
||||
slog.Debug("/extra-filesystems", "mountpoint", mountpoint)
|
||||
if !existingMountpoints[mountpoint] {
|
||||
a.fsStats[folder.Name()] = &system.FsStats{Mountpoint: mountpoint}
|
||||
addFsStat(folder.Name(), mountpoint, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -122,7 +137,7 @@ func (a *Agent) initializeDiskInfo() {
|
||||
|
||||
// If no root filesystem set, use fallback
|
||||
if !hasRoot {
|
||||
rootDevice := findFallbackIoDevice(filepath.Base(filesystem), diskIoCounters, a.fsStats)
|
||||
rootDevice, _ := findIoDevice(filepath.Base(filesystem), diskIoCounters, a.fsStats)
|
||||
slog.Info("Root disk", "mountpoint", "/", "io", rootDevice)
|
||||
a.fsStats[rootDevice] = &system.FsStats{Root: true, Mountpoint: "/"}
|
||||
}
|
||||
@@ -130,14 +145,15 @@ func (a *Agent) initializeDiskInfo() {
|
||||
a.initializeDiskIoStats(diskIoCounters)
|
||||
}
|
||||
|
||||
// Returns the device with the most reads in /proc/diskstats,
|
||||
// or the device specified by the filesystem argument if it exists
|
||||
func findFallbackIoDevice(filesystem string, diskIoCounters map[string]disk.IOCountersStat, fsStats map[string]*system.FsStats) string {
|
||||
// Returns matching device from /proc/diskstats,
|
||||
// or the device with the most reads if no match is found.
|
||||
// bool is true if a match was found.
|
||||
func findIoDevice(filesystem string, diskIoCounters map[string]disk.IOCountersStat, fsStats map[string]*system.FsStats) (string, bool) {
|
||||
var maxReadBytes uint64
|
||||
maxReadDevice := "/"
|
||||
for _, d := range diskIoCounters {
|
||||
if d.Name == filesystem {
|
||||
return d.Name
|
||||
if d.Name == filesystem || (d.Label != "" && d.Label == filesystem) {
|
||||
return d.Name, true
|
||||
}
|
||||
if d.ReadBytes > maxReadBytes {
|
||||
// don't use if device already exists in fsStats
|
||||
@@ -147,7 +163,7 @@ func findFallbackIoDevice(filesystem string, diskIoCounters map[string]disk.IOCo
|
||||
}
|
||||
}
|
||||
}
|
||||
return maxReadDevice
|
||||
return maxReadDevice, false
|
||||
}
|
||||
|
||||
// Sets start values for disk I/O stats.
|
||||
|
||||
@@ -25,18 +25,23 @@ type dockerManager struct {
|
||||
apiContainerList *[]container.ApiInfo // List of containers from Docker API
|
||||
containerStatsMap map[string]*container.Stats // Keeps track of container stats
|
||||
validIds map[string]struct{} // Map of valid container ids, used to prune invalid containers from containerStatsMap
|
||||
goodDockerVersion bool // Whether docker version is at least 25.0.0 (one-shot works correctly)
|
||||
}
|
||||
|
||||
// Add goroutine to the queue
|
||||
func (d *dockerManager) queue() {
|
||||
d.sem <- struct{}{}
|
||||
d.wg.Add(1)
|
||||
if d.goodDockerVersion {
|
||||
d.sem <- struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove goroutine from the queue
|
||||
func (d *dockerManager) dequeue() {
|
||||
<-d.sem
|
||||
d.wg.Done()
|
||||
if d.goodDockerVersion {
|
||||
<-d.sem
|
||||
}
|
||||
}
|
||||
|
||||
// Returns stats for all running containers
|
||||
@@ -75,6 +80,7 @@ func (dm *dockerManager) getDockerStats() ([]*container.Stats, error) {
|
||||
go func() {
|
||||
defer dm.dequeue()
|
||||
err := dm.updateContainerStats(ctr)
|
||||
// if error, delete from map and add to failed list to retry
|
||||
if err != nil {
|
||||
dm.containerStatsMutex.Lock()
|
||||
delete(dm.containerStatsMap, ctr.IdShort)
|
||||
@@ -89,11 +95,10 @@ func (dm *dockerManager) getDockerStats() ([]*container.Stats, error) {
|
||||
// retry failed containers separately so we can run them in parallel (docker 24 bug)
|
||||
if len(failedContainters) > 0 {
|
||||
slog.Debug("Retrying failed containers", "count", len(failedContainters))
|
||||
// time.Sleep(time.Millisecond * 1100)
|
||||
for _, ctr := range failedContainters {
|
||||
dm.wg.Add(1)
|
||||
dm.queue()
|
||||
go func() {
|
||||
defer dm.wg.Done()
|
||||
defer dm.dequeue()
|
||||
err = dm.updateContainerStats(ctr)
|
||||
if err != nil {
|
||||
slog.Error("Error getting container stats", "err", err)
|
||||
@@ -201,12 +206,13 @@ func (dm *dockerManager) deleteContainerStatsSync(id string) {
|
||||
delete(dm.containerStatsMap, id)
|
||||
}
|
||||
|
||||
// Creates a new http client for Docker API
|
||||
func newDockerManager() *dockerManager {
|
||||
dockerHost := "unix:///var/run/docker.sock"
|
||||
if dockerHostEnv, exists := os.LookupEnv("DOCKER_HOST"); exists {
|
||||
slog.Info("DOCKER_HOST", "host", dockerHostEnv)
|
||||
dockerHost = dockerHostEnv
|
||||
// Creates a new http client for Docker or Podman API
|
||||
func newDockerManager(a *Agent) *dockerManager {
|
||||
dockerHost, exists := os.LookupEnv("DOCKER_HOST")
|
||||
if exists {
|
||||
slog.Info("DOCKER_HOST", "host", dockerHost)
|
||||
} else {
|
||||
dockerHost = getDockerHost()
|
||||
}
|
||||
|
||||
parsedURL, err := url.Parse(dockerHost)
|
||||
@@ -251,11 +257,15 @@ func newDockerManager() *dockerManager {
|
||||
Transport: transport,
|
||||
},
|
||||
containerStatsMap: make(map[string]*container.Stats),
|
||||
sem: make(chan struct{}, 5),
|
||||
}
|
||||
|
||||
// Make sure sem is initialized
|
||||
concurrency := 200
|
||||
defer func() { dockerClient.sem = make(chan struct{}, concurrency) }()
|
||||
// If using podman, return client
|
||||
if strings.Contains(dockerHost, "podman") {
|
||||
a.systemInfo.Podman = true
|
||||
dockerClient.goodDockerVersion = true
|
||||
return dockerClient
|
||||
}
|
||||
|
||||
// Check docker version
|
||||
// (versions before 25.0.0 have a bug with one-shot which requires all requests to be made in one batch)
|
||||
@@ -273,9 +283,22 @@ func newDockerManager() *dockerManager {
|
||||
|
||||
// if version > 24, one-shot works correctly and we can limit concurrent operations
|
||||
if dockerVersion, err := semver.Parse(versionInfo.Version); err == nil && dockerVersion.Major > 24 {
|
||||
concurrency = 5
|
||||
dockerClient.goodDockerVersion = true
|
||||
} else {
|
||||
slog.Info(fmt.Sprintf("Docker %s is outdated. Upgrade if possible. See https://github.com/henrygd/beszel/issues/58", versionInfo.Version))
|
||||
}
|
||||
slog.Debug("Docker", "version", versionInfo.Version, "concurrency", concurrency)
|
||||
|
||||
return dockerClient
|
||||
}
|
||||
|
||||
// Test docker / podman sockets and return if one exists
|
||||
func getDockerHost() string {
|
||||
scheme := "unix://"
|
||||
socks := []string{"/var/run/docker.sock", fmt.Sprintf("/run/user/%v/podman/podman.sock", os.Getuid())}
|
||||
for _, sock := range socks {
|
||||
if _, err := os.Stat(sock); err == nil {
|
||||
return scheme + sock
|
||||
}
|
||||
}
|
||||
return scheme + socks[0]
|
||||
}
|
||||
|
||||
229
beszel/internal/agent/gpu.go
Normal file
229
beszel/internal/agent/gpu.go
Normal file
@@ -0,0 +1,229 @@
|
||||
package agent
|
||||
|
||||
import (
|
||||
"beszel/internal/entities/system"
|
||||
"bufio"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"golang.org/x/exp/slog"
|
||||
)
|
||||
|
||||
type GPUManager struct {
|
||||
nvidiaSmi bool
|
||||
rocmSmi bool
|
||||
GpuDataMap map[string]*system.GPUData
|
||||
mutex sync.Mutex
|
||||
}
|
||||
|
||||
type RocmSmiJson struct {
|
||||
ID string `json:"Device ID"`
|
||||
Name string `json:"Card series"`
|
||||
Temperature string `json:"Temperature (Sensor edge) (C)"`
|
||||
MemoryUsed string `json:"VRAM Total Used Memory (B)"`
|
||||
MemoryTotal string `json:"VRAM Total Memory (B)"`
|
||||
Usage string `json:"GPU use (%)"`
|
||||
Power string `json:"Current Socket Graphics Package Power (W)"`
|
||||
}
|
||||
|
||||
// startNvidiaCollector oversees collectNvidiaStats and restarts nvidia-smi if it fails
|
||||
func (gm *GPUManager) startNvidiaCollector() error {
|
||||
for {
|
||||
if err := gm.collectNvidiaStats(); err != nil {
|
||||
slog.Warn("Restarting nvidia-smi", "err", err)
|
||||
time.Sleep(time.Second) // Wait before retrying
|
||||
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()
|
||||
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() {
|
||||
line := scanner.Bytes()
|
||||
gm.parseNvidiaData(line) // Run your function on each new line
|
||||
}
|
||||
// Check for any errors encountered during scanning
|
||||
if err := scanner.Err(); err != nil {
|
||||
return err
|
||||
}
|
||||
// Wait for the command to complete
|
||||
return cmd.Wait()
|
||||
}
|
||||
|
||||
// parseNvidiaData parses the output of nvidia-smi and updates the GPUData map
|
||||
func (gm *GPUManager) parseNvidiaData(output []byte) {
|
||||
gm.mutex.Lock()
|
||||
defer gm.mutex.Unlock()
|
||||
lines := strings.Split(string(output), "\n")
|
||||
for _, line := range lines {
|
||||
if line != "" {
|
||||
fields := strings.Split(line, ", ")
|
||||
if len(fields) >= 7 {
|
||||
id := fields[0]
|
||||
temp, _ := strconv.ParseFloat(fields[2], 64)
|
||||
memoryUsage, _ := strconv.ParseFloat(fields[3], 64)
|
||||
totalMemory, _ := strconv.ParseFloat(fields[4], 64)
|
||||
usage, _ := strconv.ParseFloat(fields[5], 64)
|
||||
power, _ := strconv.ParseFloat(fields[6], 64)
|
||||
// add gpu if not exists
|
||||
if _, ok := gm.GpuDataMap[id]; !ok {
|
||||
name := strings.TrimPrefix(fields[1], "NVIDIA ")
|
||||
gm.GpuDataMap[id] = &system.GPUData{Name: strings.TrimSuffix(name, " Laptop GPU")}
|
||||
}
|
||||
// update gpu data
|
||||
gpu := gm.GpuDataMap[id]
|
||||
gpu.Temperature = temp
|
||||
gpu.MemoryUsed = memoryUsage / 1.024
|
||||
gpu.MemoryTotal = totalMemory / 1.024
|
||||
gpu.Usage += usage
|
||||
gpu.Power += power
|
||||
gpu.Count++
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 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()
|
||||
}
|
||||
|
||||
// parseAmdData parses the output of rocm-smi and updates the GPUData map
|
||||
func (gm *GPUManager) parseAmdData(rocmSmiInfo *map[string]RocmSmiJson) {
|
||||
for _, v := range *rocmSmiInfo {
|
||||
temp, _ := strconv.ParseFloat(v.Temperature, 64)
|
||||
memoryUsage, _ := strconv.ParseFloat(v.MemoryUsed, 64)
|
||||
totalMemory, _ := strconv.ParseFloat(v.MemoryTotal, 64)
|
||||
usage, _ := strconv.ParseFloat(v.Usage, 64)
|
||||
power, _ := strconv.ParseFloat(v.Power, 64)
|
||||
memoryUsage = bytesToMegabytes(memoryUsage)
|
||||
totalMemory = bytesToMegabytes(totalMemory)
|
||||
|
||||
if _, ok := gm.GpuDataMap[v.ID]; !ok {
|
||||
gm.GpuDataMap[v.ID] = &system.GPUData{Name: v.Name}
|
||||
}
|
||||
gpu := gm.GpuDataMap[v.ID]
|
||||
gpu.Temperature = temp
|
||||
gpu.MemoryUsed = memoryUsage
|
||||
gpu.MemoryTotal = totalMemory
|
||||
gpu.Usage += usage
|
||||
gpu.Power += power
|
||||
gpu.Count++
|
||||
}
|
||||
}
|
||||
|
||||
// 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()
|
||||
// copy / reset the data
|
||||
gpuData := make(map[string]system.GPUData, len(gm.GpuDataMap))
|
||||
for id, gpu := range gm.GpuDataMap {
|
||||
// sum the data
|
||||
gpu.Temperature = twoDecimals(gpu.Temperature)
|
||||
gpu.MemoryUsed = twoDecimals(gpu.MemoryUsed)
|
||||
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
|
||||
}
|
||||
return gpuData
|
||||
}
|
||||
|
||||
// detectGPU 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 {
|
||||
if err := exec.Command("nvidia-smi").Run(); err == nil {
|
||||
gm.nvidiaSmi = true
|
||||
}
|
||||
if err := exec.Command("rocm-smi").Run(); err == nil {
|
||||
gm.rocmSmi = true
|
||||
}
|
||||
if gm.nvidiaSmi || gm.rocmSmi {
|
||||
return nil
|
||||
}
|
||||
return fmt.Errorf("no GPU found - install nvidia-smi or rocm-smi")
|
||||
}
|
||||
|
||||
// NewGPUManager returns a new GPUManager
|
||||
func NewGPUManager() (*GPUManager, error) {
|
||||
var gm GPUManager
|
||||
if err := gm.detectGPU(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
gm.GpuDataMap = make(map[string]*system.GPUData, 1)
|
||||
if gm.nvidiaSmi {
|
||||
go gm.startNvidiaCollector()
|
||||
}
|
||||
if gm.rocmSmi {
|
||||
go gm.startAmdCollector()
|
||||
}
|
||||
return &gm, nil
|
||||
}
|
||||
@@ -206,6 +206,22 @@ func (a *Agent) getSystemStats() system.Stats {
|
||||
}
|
||||
}
|
||||
|
||||
// GPU data
|
||||
if a.gpuManager != nil {
|
||||
if gpuData := a.gpuManager.GetCurrentData(); len(gpuData) > 0 {
|
||||
systemStats.GPUData = gpuData
|
||||
// add temperatures
|
||||
if systemStats.Temperatures == nil {
|
||||
systemStats.Temperatures = make(map[string]float64, len(gpuData))
|
||||
}
|
||||
for _, gpu := range gpuData {
|
||||
if gpu.Temperature > 0 {
|
||||
systemStats.Temperatures[gpu.Name] = gpu.Temperature
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// update base system info
|
||||
a.systemInfo.Cpu = systemStats.Cpu
|
||||
a.systemInfo.MemPct = systemStats.MemPct
|
||||
|
||||
@@ -345,6 +345,7 @@ func (am *AlertManager) sendSystemAlert(alert SystemAlertData) {
|
||||
}
|
||||
}
|
||||
|
||||
// todo: allow x minutes downtime before sending alert
|
||||
func (am *AlertManager) HandleStatusAlerts(newStatus string, oldSystemRecord *models.Record) error {
|
||||
var alertStatus string
|
||||
switch newStatus {
|
||||
|
||||
@@ -28,6 +28,17 @@ type Stats struct {
|
||||
MaxNetworkRecv float64 `json:"nrm,omitempty"`
|
||||
Temperatures map[string]float64 `json:"t,omitempty"`
|
||||
ExtraFs map[string]*FsStats `json:"efs,omitempty"`
|
||||
GPUData map[string]GPUData `json:"g,omitempty"`
|
||||
}
|
||||
|
||||
type GPUData struct {
|
||||
Name string `json:"n"`
|
||||
Temperature float64 `json:"-"`
|
||||
MemoryUsed float64 `json:"mu,omitempty"`
|
||||
MemoryTotal float64 `json:"mt,omitempty"`
|
||||
Usage float64 `json:"u"`
|
||||
Power float64 `json:"p,omitempty"`
|
||||
Count float64 `json:"-"`
|
||||
}
|
||||
|
||||
type FsStats struct {
|
||||
@@ -63,6 +74,7 @@ type Info struct {
|
||||
DiskPct float64 `json:"dp"`
|
||||
Bandwidth float64 `json:"b"`
|
||||
AgentVersion string `json:"v"`
|
||||
Podman bool `json:"p,omitempty"`
|
||||
}
|
||||
|
||||
// Final data structure to return to the hub
|
||||
|
||||
@@ -149,11 +149,7 @@ func (rm *RecordManager) CreateLongerRecords(collections []*models.Collection) {
|
||||
|
||||
// Calculate the average stats of a list of system_stats records without reflect
|
||||
func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
sum := system.Stats{
|
||||
Temperatures: make(map[string]float64),
|
||||
ExtraFs: make(map[string]*system.FsStats),
|
||||
}
|
||||
|
||||
sum := system.Stats{}
|
||||
count := float64(len(records))
|
||||
// use different counter for temps in case some records don't have them
|
||||
tempCount := float64(0)
|
||||
@@ -184,6 +180,9 @@ func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
sum.MaxDiskWritePs = max(sum.MaxDiskWritePs, stats.MaxDiskWritePs, stats.DiskWritePs)
|
||||
// add temps to sum
|
||||
if stats.Temperatures != nil {
|
||||
if sum.Temperatures == nil {
|
||||
sum.Temperatures = make(map[string]float64, len(stats.Temperatures))
|
||||
}
|
||||
tempCount++
|
||||
for key, value := range stats.Temperatures {
|
||||
if _, ok := sum.Temperatures[key]; !ok {
|
||||
@@ -194,6 +193,9 @@ func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
}
|
||||
// add extra fs to sum
|
||||
if stats.ExtraFs != nil {
|
||||
if sum.ExtraFs == nil {
|
||||
sum.ExtraFs = make(map[string]*system.FsStats, len(stats.ExtraFs))
|
||||
}
|
||||
for key, value := range stats.ExtraFs {
|
||||
if _, ok := sum.ExtraFs[key]; !ok {
|
||||
sum.ExtraFs[key] = &system.FsStats{}
|
||||
@@ -207,6 +209,25 @@ func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
sum.ExtraFs[key].MaxDiskWritePS = max(sum.ExtraFs[key].MaxDiskWritePS, value.MaxDiskWritePS, value.DiskWritePs)
|
||||
}
|
||||
}
|
||||
// add GPU data
|
||||
if stats.GPUData != nil {
|
||||
if sum.GPUData == nil {
|
||||
sum.GPUData = make(map[string]system.GPUData, len(stats.GPUData))
|
||||
}
|
||||
for id, value := range stats.GPUData {
|
||||
if _, ok := sum.GPUData[id]; !ok {
|
||||
sum.GPUData[id] = system.GPUData{Name: value.Name}
|
||||
}
|
||||
gpu := sum.GPUData[id]
|
||||
gpu.Temperature += value.Temperature
|
||||
gpu.MemoryUsed += value.MemoryUsed
|
||||
gpu.MemoryTotal += value.MemoryTotal
|
||||
gpu.Usage += value.Usage
|
||||
gpu.Power += value.Power
|
||||
gpu.Count += value.Count
|
||||
sum.GPUData[id] = gpu
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stats = system.Stats{
|
||||
@@ -232,14 +253,14 @@ func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
MaxNetworkRecv: sum.MaxNetworkRecv,
|
||||
}
|
||||
|
||||
if len(sum.Temperatures) != 0 {
|
||||
if sum.Temperatures != nil {
|
||||
stats.Temperatures = make(map[string]float64, len(sum.Temperatures))
|
||||
for key, value := range sum.Temperatures {
|
||||
stats.Temperatures[key] = twoDecimals(value / tempCount)
|
||||
}
|
||||
}
|
||||
|
||||
if len(sum.ExtraFs) != 0 {
|
||||
if sum.ExtraFs != nil {
|
||||
stats.ExtraFs = make(map[string]*system.FsStats, len(sum.ExtraFs))
|
||||
for key, value := range sum.ExtraFs {
|
||||
stats.ExtraFs[key] = &system.FsStats{
|
||||
@@ -253,6 +274,21 @@ func (rm *RecordManager) AverageSystemStats(records RecordStats) system.Stats {
|
||||
}
|
||||
}
|
||||
|
||||
if sum.GPUData != nil {
|
||||
stats.GPUData = make(map[string]system.GPUData, len(sum.GPUData))
|
||||
for id, value := range sum.GPUData {
|
||||
stats.GPUData[id] = system.GPUData{
|
||||
Name: value.Name,
|
||||
Temperature: twoDecimals(value.Temperature / count),
|
||||
MemoryUsed: twoDecimals(value.MemoryUsed / count),
|
||||
MemoryTotal: twoDecimals(value.MemoryTotal / count),
|
||||
Usage: twoDecimals(value.Usage / count),
|
||||
Power: twoDecimals(value.Power / count),
|
||||
Count: twoDecimals(value.Count / count),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return stats
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,26 @@
|
||||
import type { LinguiConfig } from "@lingui/conf"
|
||||
|
||||
const config: LinguiConfig = {
|
||||
locales: ["en", "ar", "de", "es", "fr", "it", "ja", "ko", "pt", "tr", "ru", "uk", "vi", "zh-CN", "zh-HK"],
|
||||
locales: [
|
||||
"en",
|
||||
"ar",
|
||||
"de",
|
||||
"es",
|
||||
"fr",
|
||||
"hr",
|
||||
"it",
|
||||
"ja",
|
||||
"ko",
|
||||
"nl",
|
||||
"pl",
|
||||
"pt",
|
||||
"tr",
|
||||
"ru",
|
||||
"uk",
|
||||
"vi",
|
||||
"zh-CN",
|
||||
"zh-HK",
|
||||
],
|
||||
sourceLocale: "en",
|
||||
compileNamespace: "ts",
|
||||
catalogs: [
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"build": "lingui extract --overwrite && lingui compile && vite build",
|
||||
"preview": "vite preview",
|
||||
"sync": "lingui extract --overwrite && lingui compile",
|
||||
"sync_and_purge": "lingui extract --overwrite --clean && lingui compile"
|
||||
|
||||
@@ -36,7 +36,7 @@ export function AddSystemButton({ className }: { className?: string }) {
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
# monitor other disks / partitions by mounting a folder in /extra-filesystems
|
||||
# - /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
|
||||
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
|
||||
environment:
|
||||
PORT: ${port}
|
||||
KEY: "${publicKey}"`)
|
||||
@@ -107,33 +107,27 @@ export function AddSystemButton({ className }: { className?: string }) {
|
||||
</DialogDescription>
|
||||
</TabsContent>
|
||||
<form onSubmit={handleSubmit as any}>
|
||||
<div className="grid gap-3 mt-1 mb-4">
|
||||
<div className="grid grid-cols-4 items-center gap-4">
|
||||
<Label htmlFor="name" className="text-end">
|
||||
<Trans>Name</Trans>
|
||||
</Label>
|
||||
<Input id="name" name="name" className="col-span-3" required />
|
||||
</div>
|
||||
<div className="grid grid-cols-4 items-center gap-4">
|
||||
<Label htmlFor="host" className="text-end">
|
||||
<Trans>Host / IP</Trans>
|
||||
</Label>
|
||||
<Input id="host" name="host" className="col-span-3" required />
|
||||
</div>
|
||||
<div className="grid grid-cols-4 items-center gap-4">
|
||||
<Label htmlFor="port" className="text-end">
|
||||
<Trans>Port</Trans>
|
||||
</Label>
|
||||
<Input ref={port} name="port" id="port" defaultValue="45876" className="col-span-3" required />
|
||||
</div>
|
||||
<div className="grid grid-cols-4 items-center gap-4 relative">
|
||||
<Label htmlFor="pkey" className="text-end whitespace-pre">
|
||||
<Trans comment="Use 'Key' if your language requires many more characters">Public Key</Trans>
|
||||
</Label>
|
||||
<Input readOnly id="pkey" value={publicKey} className="col-span-3" required></Input>
|
||||
<div className="grid xs:grid-cols-[auto_1fr] gap-y-3 gap-x-4 items-center mt-1 mb-4">
|
||||
<Label htmlFor="name" className="xs:text-end">
|
||||
<Trans>Name</Trans>
|
||||
</Label>
|
||||
<Input id="name" name="name" className="" required />
|
||||
<Label htmlFor="host" className="xs:text-end">
|
||||
<Trans>Host / IP</Trans>
|
||||
</Label>
|
||||
<Input id="host" name="host" className="" required />
|
||||
<Label htmlFor="port" className="xs:text-end">
|
||||
<Trans>Port</Trans>
|
||||
</Label>
|
||||
<Input ref={port} name="port" id="port" defaultValue="45876" className="" required />
|
||||
<Label htmlFor="pkey" className="xs:text-end whitespace-pre">
|
||||
<Trans comment="Use 'Key' if your language requires many more characters">Public Key</Trans>
|
||||
</Label>
|
||||
<div className="relative">
|
||||
<Input readOnly id="pkey" value={publicKey} className="" required></Input>
|
||||
<div
|
||||
className={
|
||||
"h-6 w-24 bg-gradient-to-r rtl:bg-gradient-to-l from-transparent to-background to-65% absolute end-1 pointer-events-none"
|
||||
"h-6 w-24 bg-gradient-to-r rtl:bg-gradient-to-l from-transparent to-background to-65% absolute top-2 end-1 pointer-events-none"
|
||||
}
|
||||
></div>
|
||||
<TooltipProvider delayDuration={100}>
|
||||
@@ -142,7 +136,7 @@ export function AddSystemButton({ className }: { className?: string }) {
|
||||
<Button
|
||||
type="button"
|
||||
variant={"link"}
|
||||
className="absolute end-0"
|
||||
className="absolute end-0 top-0"
|
||||
onClick={() => copyToClipboard(publicKey)}
|
||||
>
|
||||
<Copy className="h-4 w-4 " />
|
||||
|
||||
@@ -33,11 +33,15 @@ export default memo(function AreaChartDefault({
|
||||
unit = " MB/s",
|
||||
chartName,
|
||||
chartData,
|
||||
max,
|
||||
tickFormatter,
|
||||
}: {
|
||||
maxToggled?: boolean
|
||||
unit?: string
|
||||
chartName: string
|
||||
chartData: ChartData
|
||||
max?: number
|
||||
tickFormatter?: (value: number) => string
|
||||
}) {
|
||||
const { yAxisWidth, updateYAxisWidth } = useYAxisWidth()
|
||||
const { i18n } = useLingui()
|
||||
@@ -52,19 +56,21 @@ export default memo(function AreaChartDefault({
|
||||
return [[t`CPU Usage`, "cpu", 1, 0.4]]
|
||||
} else if (chartName === "dio") {
|
||||
return [
|
||||
[t({ message: "Write", comment: "Context is disk write" }), "dw", 3, 0.3],
|
||||
[t({ message: "Read", comment: "Context is disk read" }), "dr", 1, 0.3],
|
||||
[t({ message: "Write", comment: "Disk write" }), "dw", 3, 0.3],
|
||||
[t({ message: "Read", comment: "Disk read" }), "dr", 1, 0.3],
|
||||
]
|
||||
} else if (chartName === "bw") {
|
||||
return [
|
||||
[t({ message: "Sent", comment: "Context is network bytes sent (upload)" }), "ns", 5, 0.2],
|
||||
[t({ message: "Received", comment: "Context is network bytes received (download)" }), "nr", 2, 0.2],
|
||||
[t({ message: "Sent", comment: "Network bytes sent (upload)" }), "ns", 5, 0.2],
|
||||
[t({ message: "Received", comment: "Network bytes received (download)" }), "nr", 2, 0.2],
|
||||
]
|
||||
} else if (chartName.startsWith("efs")) {
|
||||
return [
|
||||
[t`Read`, `${chartName}.w`, 3, 0.3],
|
||||
[t`Write`, `${chartName}.r`, 1, 0.3],
|
||||
[t`Write`, `${chartName}.w`, 3, 0.3],
|
||||
[t`Read`, `${chartName}.r`, 1, 0.3],
|
||||
]
|
||||
} else if (chartName.startsWith("g.")) {
|
||||
return [chartName.includes("mu") ? [t`Used`, chartName, 2, 0.25] : [t`Usage`, chartName, 1, 0.4]]
|
||||
}
|
||||
return []
|
||||
}, [chartName, i18n.locale])
|
||||
@@ -89,8 +95,14 @@ export default memo(function AreaChartDefault({
|
||||
orientation={chartData.orientation}
|
||||
className="tracking-tighter"
|
||||
width={yAxisWidth}
|
||||
domain={[0, max ?? "auto"]}
|
||||
tickFormatter={(value) => {
|
||||
const val = toFixedWithoutTrailingZeros(value, 2) + unit
|
||||
let val: string
|
||||
if (tickFormatter) {
|
||||
val = tickFormatter(value)
|
||||
} else {
|
||||
val = toFixedWithoutTrailingZeros(value, 2) + unit
|
||||
}
|
||||
return updateYAxisWidth(val)
|
||||
}}
|
||||
tickLine={false}
|
||||
|
||||
@@ -116,9 +116,9 @@ export default memo(function ContainerChart({
|
||||
}
|
||||
// data function
|
||||
if (isNetChart) {
|
||||
obj.dataFunction = (key: string, data: any) => (data[key]?.nr ?? 0) + (data[key]?.ns ?? 0)
|
||||
obj.dataFunction = (key: string, data: any) => (data[key] ? data[key].nr + data[key].ns : null)
|
||||
} else {
|
||||
obj.dataFunction = (key: string, data: any) => data[key]?.[dataKey] ?? 0
|
||||
obj.dataFunction = (key: string, data: any) => data[key]?.[dataKey] ?? null
|
||||
}
|
||||
return obj
|
||||
}, [])
|
||||
|
||||
@@ -27,6 +27,11 @@ export default memo(function DiskChart({
|
||||
const { yAxisWidth, updateYAxisWidth } = useYAxisWidth()
|
||||
const { _ } = useLingui()
|
||||
|
||||
// round to nearest GB
|
||||
if (diskSize >= 100) {
|
||||
diskSize = Math.round(diskSize)
|
||||
}
|
||||
|
||||
if (chartData.systemStats.length === 0) {
|
||||
return null
|
||||
}
|
||||
|
||||
112
beszel/site/src/components/charts/gpu-power-chart.tsx
Normal file
112
beszel/site/src/components/charts/gpu-power-chart.tsx
Normal file
@@ -0,0 +1,112 @@
|
||||
import { CartesianGrid, Line, LineChart, YAxis } from "recharts"
|
||||
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartLegend,
|
||||
ChartLegendContent,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
xAxis,
|
||||
} from "@/components/ui/chart"
|
||||
import {
|
||||
useYAxisWidth,
|
||||
cn,
|
||||
formatShortDate,
|
||||
toFixedWithoutTrailingZeros,
|
||||
decimalString,
|
||||
chartMargin,
|
||||
} from "@/lib/utils"
|
||||
import { ChartData } from "@/types"
|
||||
import { memo, useMemo } from "react"
|
||||
|
||||
export default memo(function GpuPowerChart({ chartData }: { chartData: ChartData }) {
|
||||
const { yAxisWidth, updateYAxisWidth } = useYAxisWidth()
|
||||
|
||||
if (chartData.systemStats.length === 0) {
|
||||
return null
|
||||
}
|
||||
|
||||
/** Format temperature data for chart and assign colors */
|
||||
const newChartData = useMemo(() => {
|
||||
const newChartData = { data: [], colors: {} } as {
|
||||
data: Record<string, number | string>[]
|
||||
colors: Record<string, string>
|
||||
}
|
||||
const powerSums = {} as Record<string, number>
|
||||
for (let data of chartData.systemStats) {
|
||||
let newData = { created: data.created } as Record<string, number | string>
|
||||
|
||||
for (let gpu of Object.values(data.stats?.g ?? {})) {
|
||||
if (gpu.p) {
|
||||
const name = gpu.n
|
||||
newData[name] = gpu.p
|
||||
powerSums[name] = (powerSums[name] ?? 0) + newData[name]
|
||||
}
|
||||
}
|
||||
newChartData.data.push(newData)
|
||||
}
|
||||
const keys = Object.keys(powerSums).sort((a, b) => powerSums[b] - powerSums[a])
|
||||
for (let key of keys) {
|
||||
newChartData.colors[key] = `hsl(${((keys.indexOf(key) * 360) / keys.length) % 360}, 60%, 55%)`
|
||||
}
|
||||
return newChartData
|
||||
}, [chartData])
|
||||
|
||||
const colors = Object.keys(newChartData.colors)
|
||||
|
||||
// console.log('rendered at', new Date())
|
||||
|
||||
return (
|
||||
<div>
|
||||
<ChartContainer
|
||||
className={cn("h-full w-full absolute aspect-auto bg-card opacity-0 transition-opacity", {
|
||||
"opacity-100": yAxisWidth,
|
||||
})}
|
||||
>
|
||||
<LineChart accessibilityLayer data={newChartData.data} margin={chartMargin}>
|
||||
<CartesianGrid vertical={false} />
|
||||
<YAxis
|
||||
direction="ltr"
|
||||
orientation={chartData.orientation}
|
||||
className="tracking-tighter"
|
||||
domain={[0, "auto"]}
|
||||
width={yAxisWidth}
|
||||
tickFormatter={(value) => {
|
||||
const val = toFixedWithoutTrailingZeros(value, 2)
|
||||
return updateYAxisWidth(val + "W")
|
||||
}}
|
||||
tickLine={false}
|
||||
axisLine={false}
|
||||
/>
|
||||
{xAxis(chartData)}
|
||||
<ChartTooltip
|
||||
animationEasing="ease-out"
|
||||
animationDuration={150}
|
||||
// @ts-ignore
|
||||
itemSorter={(a, b) => b.value - a.value}
|
||||
content={
|
||||
<ChartTooltipContent
|
||||
labelFormatter={(_, data) => formatShortDate(data[0].payload.created)}
|
||||
contentFormatter={(item) => decimalString(item.value) + "W"}
|
||||
// indicator="line"
|
||||
/>
|
||||
}
|
||||
/>
|
||||
{colors.map((key) => (
|
||||
<Line
|
||||
key={key}
|
||||
dataKey={key}
|
||||
name={key}
|
||||
type="monotoneX"
|
||||
dot={false}
|
||||
strokeWidth={1.5}
|
||||
stroke={newChartData.colors[key]}
|
||||
isAnimationActive={false}
|
||||
/>
|
||||
))}
|
||||
{colors.length > 1 && <ChartLegend content={<ChartLegendContent />} />}
|
||||
</LineChart>
|
||||
</ChartContainer>
|
||||
</div>
|
||||
)
|
||||
})
|
||||
@@ -2,7 +2,7 @@ import { LanguagesIcon } from "lucide-react"
|
||||
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"
|
||||
import languages from "../lib/languages.json"
|
||||
import languages from "@/lib/languages"
|
||||
import { cn } from "@/lib/utils"
|
||||
import { useLingui } from "@lingui/react"
|
||||
import { dynamicActivate } from "@/lib/i18n"
|
||||
@@ -22,7 +22,7 @@ export function LangToggle() {
|
||||
{languages.map(({ lang, label, e }) => (
|
||||
<DropdownMenuItem
|
||||
key={lang}
|
||||
className={cn("px-3 flex gap-2.5", lang === i18n.locale && "font-semibold")}
|
||||
className={cn("px-2.5 flex gap-2.5", lang === i18n.locale && "font-semibold")}
|
||||
onClick={() => dynamicActivate(lang)}
|
||||
>
|
||||
<span>{e}</span> {label}
|
||||
|
||||
@@ -7,11 +7,13 @@ import ForgotPassword from "./forgot-pass-form"
|
||||
import { $router } from "../router"
|
||||
import { AuthMethodsList } from "pocketbase"
|
||||
import { t } from "@lingui/macro"
|
||||
import { useTheme } from "../theme-provider"
|
||||
|
||||
export default function () {
|
||||
const page = useStore($router)
|
||||
const [isFirstRun, setFirstRun] = useState(false)
|
||||
const [authMethods, setAuthMethods] = useState<AuthMethodsList>()
|
||||
const { theme } = useTheme()
|
||||
|
||||
useEffect(() => {
|
||||
document.title = t`Login` + " / Beszel"
|
||||
@@ -45,7 +47,11 @@ export default function () {
|
||||
|
||||
return (
|
||||
<div className="min-h-svh grid items-center py-12">
|
||||
<div className="grid gap-5 w-full px-4 mx-auto" style={{ maxWidth: "22em" }}>
|
||||
<div
|
||||
className="grid gap-5 w-full px-4 mx-auto"
|
||||
// @ts-ignore
|
||||
style={{ maxWidth: "22em", "--border": theme == "light" ? "30 8% 80%" : "220 3% 20%" }}
|
||||
>
|
||||
<div className="text-center">
|
||||
<h1 className="mb-3">
|
||||
<Logo className="h-7 fill-foreground mx-auto" />
|
||||
|
||||
@@ -35,7 +35,7 @@ const isMac = navigator.platform.toUpperCase().indexOf("MAC") >= 0
|
||||
|
||||
export default function Navbar() {
|
||||
return (
|
||||
<div className="flex items-center h-14 md:h-16 bg-card px-4 pe-3 sm:px-6 border bt-0 rounded-md my-4">
|
||||
<div className="flex items-center h-14 md:h-16 bg-card px-4 pe-3 sm:px-6 border border-border/60 bt-0 rounded-md my-4">
|
||||
<Link href="/" aria-label="Home" className="p-2 ps-0 me-3">
|
||||
<Logo className="h-[1.1rem] md:h-5 fill-foreground" />
|
||||
</Link>
|
||||
|
||||
@@ -8,7 +8,7 @@ import { UserSettings } from "@/types"
|
||||
import { saveSettings } from "./layout"
|
||||
import { useState } from "react"
|
||||
import { Trans } from "@lingui/macro"
|
||||
import languages from "../../../lib/languages.json"
|
||||
import languages from "@/lib/languages"
|
||||
import { dynamicActivate } from "@/lib/i18n"
|
||||
import { useLingui } from "@lingui/react"
|
||||
// import { setLang } from "@/lib/i18n"
|
||||
|
||||
@@ -193,7 +193,7 @@ const ShoutrrrUrlCard = ({ url, onUrlChange, onRemove }: ShoutrrrUrlCardProps) =
|
||||
}
|
||||
|
||||
return (
|
||||
<Card className="bg-muted/30 p-2 md:p-3">
|
||||
<Card className="bg-muted/70 p-2 md:p-3">
|
||||
<div className="flex items-center gap-1">
|
||||
<Input
|
||||
type="url"
|
||||
|
||||
@@ -45,21 +45,26 @@ export function SidebarNav({ className, items, ...props }: SidebarNavProps) {
|
||||
|
||||
{/* Desktop View */}
|
||||
<nav className={cn("hidden md:grid gap-1", className)} {...props}>
|
||||
{items.map((item) => (
|
||||
<Link
|
||||
key={item.href}
|
||||
href={item.href}
|
||||
className={cn(
|
||||
buttonVariants({ variant: "ghost" }),
|
||||
"flex items-center gap-3",
|
||||
page?.path === item.href ? "bg-muted hover:bg-muted" : "hover:bg-muted/50",
|
||||
"justify-start"
|
||||
)}
|
||||
>
|
||||
{item.icon && <item.icon className="h-4 w-4" />}
|
||||
{item.title}
|
||||
</Link>
|
||||
))}
|
||||
{items.map((item) => {
|
||||
if (item.admin && !isAdmin()) {
|
||||
return null
|
||||
}
|
||||
return (
|
||||
<Link
|
||||
key={item.href}
|
||||
href={item.href}
|
||||
className={cn(
|
||||
buttonVariants({ variant: "ghost" }),
|
||||
"flex items-center gap-3",
|
||||
page?.path === item.href ? "bg-muted hover:bg-muted" : "hover:bg-muted/50",
|
||||
"justify-start"
|
||||
)}
|
||||
>
|
||||
{item.icon && <item.icon className="h-4 w-4" />}
|
||||
{item.title}
|
||||
</Link>
|
||||
)
|
||||
})}
|
||||
</nav>
|
||||
</>
|
||||
)
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { $systems, pb, $chartTime, $containerFilter, $userSettings, $direction } from "@/lib/stores"
|
||||
import { ChartData, ChartTimes, ContainerStatsRecord, SystemRecord, SystemStatsRecord } from "@/types"
|
||||
import { ChartData, ChartTimes, ContainerStatsRecord, GPUData, SystemRecord, SystemStatsRecord } from "@/types"
|
||||
import React, { lazy, useCallback, useEffect, useMemo, useRef, useState } from "react"
|
||||
import { Card, CardHeader, CardTitle, CardDescription } from "../ui/card"
|
||||
import { useStore } from "@nanostores/react"
|
||||
import Spinner from "../spinner"
|
||||
import { ClockArrowUp, CpuIcon, GlobeIcon, LayoutGridIcon, MonitorIcon, XIcon } from "lucide-react"
|
||||
import ChartTimeSelect from "../charts/chart-time-select"
|
||||
import { chartTimeData, cn, getPbTimestamp, useLocalStorage } from "@/lib/utils"
|
||||
import { chartTimeData, cn, getPbTimestamp, getSizeAndUnit, toFixedFloat, useLocalStorage } from "@/lib/utils"
|
||||
import { Separator } from "../ui/separator"
|
||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../ui/tooltip"
|
||||
import { Button } from "../ui/button"
|
||||
@@ -24,6 +24,7 @@ const MemChart = lazy(() => import("../charts/mem-chart"))
|
||||
const DiskChart = lazy(() => import("../charts/disk-chart"))
|
||||
const SwapChart = lazy(() => import("../charts/swap-chart"))
|
||||
const TemperatureChart = lazy(() => import("../charts/temperature-chart"))
|
||||
const GpuPowerChart = lazy(() => import("../charts/gpu-power-chart"))
|
||||
|
||||
const cache = new Map<string, any>()
|
||||
|
||||
@@ -85,6 +86,13 @@ async function getStats<T>(collection: string, system: SystemRecord, chartTime:
|
||||
})
|
||||
}
|
||||
|
||||
function dockerOrPodman(str: string, system: SystemRecord) {
|
||||
if (system.info.p) {
|
||||
str = str.replace("docker", "podman").replace("Docker", "Podman")
|
||||
}
|
||||
return str
|
||||
}
|
||||
|
||||
export default function SystemDetail({ name }: { name: string }) {
|
||||
const direction = useStore($direction)
|
||||
const { _ } = useLingui()
|
||||
@@ -285,13 +293,14 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
|
||||
// if no data, show empty message
|
||||
const dataEmpty = !chartLoading && chartData.systemStats.length === 0
|
||||
const hasGpuData = Object.keys(systemStats.at(-1)?.stats.g ?? {}).length > 0
|
||||
|
||||
return (
|
||||
<>
|
||||
<div id="chartwrap" className="grid gap-4 mb-10 overflow-x-clip">
|
||||
{/* system info */}
|
||||
<Card>
|
||||
<div className="grid lg:flex gap-4 px-4 sm:px-6 pt-3 sm:pt-4 pb-5">
|
||||
<div className="grid xl:flex gap-4 px-4 sm:px-6 pt-3 sm:pt-4 pb-5">
|
||||
<div>
|
||||
<h1 className="text-[1.6rem] font-semibold mb-1.5">{system.name}</h1>
|
||||
<div className="flex flex-wrap items-center gap-3 gap-y-2 text-sm opacity-90">
|
||||
@@ -341,8 +350,8 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
<div className="lg:ms-auto flex items-center gap-2 max-sm:-mb-1">
|
||||
<ChartTimeSelect className="w-full lg:w-40" />
|
||||
<div className="xl:ms-auto flex items-center gap-2 max-sm:-mb-1">
|
||||
<ChartTimeSelect className="w-full xl:w-40" />
|
||||
<TooltipProvider delayDuration={100}>
|
||||
<Tooltip>
|
||||
<TooltipTrigger asChild>
|
||||
@@ -350,7 +359,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
aria-label={t`Toggle grid`}
|
||||
variant="outline"
|
||||
size="icon"
|
||||
className="hidden lg:flex p-0 text-primary"
|
||||
className="hidden xl:flex p-0 text-primary"
|
||||
onClick={() => setGrid(!grid)}
|
||||
>
|
||||
{grid ? (
|
||||
@@ -383,7 +392,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
grid={grid}
|
||||
title={t`Docker CPU Usage`}
|
||||
title={dockerOrPodman(t`Docker CPU Usage`, system)}
|
||||
description={t`Average CPU utilization of containers`}
|
||||
cornerEl={containerFilterBar}
|
||||
>
|
||||
@@ -395,7 +404,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
empty={dataEmpty}
|
||||
grid={grid}
|
||||
title={t`Memory Usage`}
|
||||
description={t`Triggers when memory usage exceeds a threshold.`}
|
||||
description={t`Precise utilization at the recorded time`}
|
||||
>
|
||||
<MemChart chartData={chartData} />
|
||||
</ChartCard>
|
||||
@@ -404,8 +413,8 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
grid={grid}
|
||||
title={t`Docker Memory Usage`}
|
||||
description={t`Memory usage of docker containers`}
|
||||
title={dockerOrPodman(t`Docker Memory Usage`, system)}
|
||||
description={dockerOrPodman(t`Memory usage of docker containers`, system)}
|
||||
cornerEl={containerFilterBar}
|
||||
>
|
||||
<ContainerChart chartData={chartData} chartName="mem" dataKey="m" unit=" MB" />
|
||||
@@ -413,11 +422,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
)}
|
||||
|
||||
<ChartCard empty={dataEmpty} grid={grid} title={t`Disk Usage`} description={t`Usage of root partition`}>
|
||||
<DiskChart
|
||||
chartData={chartData}
|
||||
dataKey="stats.du"
|
||||
diskSize={Math.round(systemStats.at(-1)?.stats.d ?? NaN)}
|
||||
/>
|
||||
<DiskChart chartData={chartData} dataKey="stats.du" diskSize={systemStats.at(-1)?.stats.d ?? NaN} />
|
||||
</ChartCard>
|
||||
|
||||
<ChartCard
|
||||
@@ -449,8 +454,8 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
>
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
title={t`Docker Network I/O`}
|
||||
description={t`Network traffic of docker containers`}
|
||||
title={dockerOrPodman(t`Docker Network I/O`, system)}
|
||||
description={dockerOrPodman(t`Network traffic of docker containers`, system)}
|
||||
cornerEl={containerFilterBar}
|
||||
>
|
||||
{/* @ts-ignore */}
|
||||
@@ -459,6 +464,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Swap chart */}
|
||||
{(systemStats.at(-1)?.stats.su ?? 0) > 0 && (
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
@@ -470,6 +476,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
</ChartCard>
|
||||
)}
|
||||
|
||||
{/* Temperature chart */}
|
||||
{systemStats.at(-1)?.stats.t && (
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
@@ -480,11 +487,61 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
<TemperatureChart chartData={chartData} />
|
||||
</ChartCard>
|
||||
)}
|
||||
|
||||
{/* GPU power draw chart */}
|
||||
{hasGpuData && (
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
grid={grid}
|
||||
title={t`GPU Power Draw`}
|
||||
description={t`Average power consumption of GPUs`}
|
||||
>
|
||||
<GpuPowerChart chartData={chartData} />
|
||||
</ChartCard>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* GPU charts */}
|
||||
{hasGpuData && (
|
||||
<div className="grid xl:grid-cols-2 gap-4">
|
||||
{Object.keys(systemStats.at(-1)?.stats.g ?? {}).map((id) => {
|
||||
const gpu = systemStats.at(-1)?.stats.g?.[id] as GPUData
|
||||
return (
|
||||
<div key={id} className="contents">
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
grid={grid}
|
||||
title={`${gpu.n} ${t`Usage`}`}
|
||||
description={t`Average utilization of ${gpu.n}`}
|
||||
>
|
||||
<AreaChartDefault chartData={chartData} chartName={`g.${id}.u`} unit="%" />
|
||||
</ChartCard>
|
||||
<ChartCard
|
||||
empty={dataEmpty}
|
||||
grid={grid}
|
||||
title={`${gpu.n} VRAM`}
|
||||
description={t`Precise utilization at the recorded time`}
|
||||
>
|
||||
<AreaChartDefault
|
||||
chartData={chartData}
|
||||
chartName={`g.${id}.mu`}
|
||||
unit=" MB"
|
||||
max={gpu.mt}
|
||||
tickFormatter={(value) => {
|
||||
const { v, u } = getSizeAndUnit(value, false)
|
||||
return toFixedFloat(v, 1) + u
|
||||
}}
|
||||
/>
|
||||
</ChartCard>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* extra filesystem charts */}
|
||||
{Object.keys(systemStats.at(-1)?.stats.efs ?? {}).length > 0 && (
|
||||
<div className="grid lg:grid-cols-2 gap-4">
|
||||
<div className="grid xl:grid-cols-2 gap-4">
|
||||
{Object.keys(systemStats.at(-1)?.stats.efs ?? {}).map((extraFsName) => {
|
||||
return (
|
||||
<div key={extraFsName} className="contents">
|
||||
@@ -497,7 +554,7 @@ export default function SystemDetail({ name }: { name: string }) {
|
||||
<DiskChart
|
||||
chartData={chartData}
|
||||
dataKey={`stats.efs.${extraFsName}.du`}
|
||||
diskSize={Math.round(systemStats.at(-1)?.stats.efs?.[extraFsName].d ?? NaN)}
|
||||
diskSize={systemStats.at(-1)?.stats.efs?.[extraFsName].d ?? NaN}
|
||||
/>
|
||||
</ChartCard>
|
||||
<ChartCard
|
||||
@@ -599,8 +656,14 @@ function ChartCard({
|
||||
<CardDescription>{description}</CardDescription>
|
||||
{cornerEl && <div className="relative py-1 block sm:w-44 sm:absolute sm:top-2.5 sm:end-3.5">{cornerEl}</div>}
|
||||
</CardHeader>
|
||||
<div className="ps-0 w-[calc(100%-1.6em)] h-52 relative">
|
||||
{<Spinner msg={empty ? t`Waiting for enough records to display` : undefined} />}
|
||||
<div className="ps-0 w-[calc(100%-1.5em)] h-48 md:h-52 relative group">
|
||||
{
|
||||
<Spinner
|
||||
msg={empty ? t`Waiting for enough records to display` : undefined}
|
||||
// className="group-has-[.opacity-100]:opacity-0 transition-opacity"
|
||||
className="group-has-[.opacity-100]:invisible duration-100"
|
||||
/>
|
||||
}
|
||||
{isIntersecting && children}
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { cn } from "@/lib/utils"
|
||||
import { LoaderCircleIcon } from "lucide-react"
|
||||
|
||||
export default function ({ msg }: { msg?: string }) {
|
||||
export default function ({ msg, className }: { msg?: string; className?: string }) {
|
||||
return (
|
||||
<div className="flex flex-col items-center justify-center h-full absolute inset-0">
|
||||
<div className={cn(className, "flex flex-col items-center justify-center h-full absolute inset-0")}>
|
||||
{msg ? (
|
||||
<p className={"opacity-60 mb-2 text-center px-4"}>{msg}</p>
|
||||
<p className={"opacity-60 mb-2 text-center text-sm px-4"}>{msg}</p>
|
||||
) : (
|
||||
<LoaderCircleIcon className="animate-spin h-10 w-10 opacity-60" />
|
||||
)}
|
||||
|
||||
@@ -352,7 +352,7 @@ export default function SystemsTable() {
|
||||
<CardContent className="max-sm:p-2">
|
||||
<div className="rounded-md border overflow-hidden">
|
||||
<Table>
|
||||
<TableHeader className="bg-muted/40">
|
||||
<TableHeader>
|
||||
{table.getHeaderGroups().map((headerGroup) => (
|
||||
<TableRow key={headerGroup.id}>
|
||||
{headerGroup.headers.map((header) => {
|
||||
|
||||
@@ -16,7 +16,7 @@ const AlertDialogOverlay = React.forwardRef<
|
||||
>(({ className, ...props }, ref) => (
|
||||
<AlertDialogPrimitive.Overlay
|
||||
className={cn(
|
||||
"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
||||
"fixed inset-0 z-50 bg-black/40 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
|
||||
@@ -11,7 +11,7 @@ const buttonVariants = cva(
|
||||
variant: {
|
||||
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
||||
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
||||
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
||||
outline: "border bg-background hover:bg-accent/70 dark:hover:bg-accent/50 hover:text-accent-foreground",
|
||||
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
||||
ghost: "hover:bg-accent hover:text-accent-foreground",
|
||||
link: "text-primary underline-offset-4 hover:underline",
|
||||
|
||||
@@ -3,7 +3,11 @@ import * as React from "react"
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
const Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (
|
||||
<div ref={ref} className={cn("rounded-lg border bg-card text-card-foreground shadow-sm", className)} {...props} />
|
||||
<div
|
||||
ref={ref}
|
||||
className={cn("rounded-lg border border-border/60 bg-card text-card-foreground shadow-sm", className)}
|
||||
{...props}
|
||||
/>
|
||||
))
|
||||
Card.displayName = "Card"
|
||||
|
||||
|
||||
@@ -334,7 +334,7 @@ const xAxis = function ({ domain, ticks, chartTime }: ChartData) {
|
||||
allowDataOverflow
|
||||
type="number"
|
||||
scale="time"
|
||||
minTickGap={15}
|
||||
minTickGap={12}
|
||||
tickMargin={8}
|
||||
axisLine={false}
|
||||
tickFormatter={chartTimeData[chartTime].format}
|
||||
|
||||
@@ -19,7 +19,7 @@ const DialogOverlay = React.forwardRef<
|
||||
<DialogPrimitive.Overlay
|
||||
ref={ref}
|
||||
className={cn(
|
||||
"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
||||
"fixed inset-0 z-50 bg-black/40 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
|
||||
@@ -33,7 +33,7 @@ const InputTags = React.forwardRef<HTMLInputElement, InputTagsProps>(
|
||||
return (
|
||||
<div
|
||||
className={cn(
|
||||
"bg-background min-h-10 flex w-full flex-wrap gap-2 rounded-md border border-input px-3 py-2 text-sm placeholder:text-muted-foreground has-[:focus-visible]:outline-none ring-offset-background has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
"bg-background min-h-10 flex w-full flex-wrap gap-2 rounded-md border px-3 py-2 text-sm placeholder:text-muted-foreground has-[:focus-visible]:outline-none ring-offset-background has-[:focus-visible]:ring-2 has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
className
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -9,7 +9,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, type,
|
||||
<input
|
||||
type={type}
|
||||
className={cn(
|
||||
"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
"flex h-10 w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
className
|
||||
)}
|
||||
ref={ref}
|
||||
|
||||
@@ -17,7 +17,7 @@ const SelectTrigger = React.forwardRef<
|
||||
<SelectPrimitive.Trigger
|
||||
ref={ref}
|
||||
className={cn(
|
||||
"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
||||
"flex h-10 w-full items-center justify-between rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
|
||||
@@ -12,7 +12,9 @@ const Table = React.forwardRef<HTMLTableElement, React.HTMLAttributes<HTMLTableE
|
||||
Table.displayName = "Table"
|
||||
|
||||
const TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(
|
||||
({ className, ...props }, ref) => <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
|
||||
({ className, ...props }, ref) => (
|
||||
<thead ref={ref} className={cn("bg-muted/30 [&_tr]:border-b", className)} {...props} />
|
||||
)
|
||||
)
|
||||
TableHeader.displayName = "TableHeader"
|
||||
|
||||
@@ -34,7 +36,10 @@ const TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTML
|
||||
({ className, ...props }, ref) => (
|
||||
<tr
|
||||
ref={ref}
|
||||
className={cn("border-b hover:bg-muted/40 dark:hover:bg-muted/30 data-[state=selected]:bg-muted", className)}
|
||||
className={cn(
|
||||
"border-b border-border/60 hover:bg-muted/40 dark:hover:bg-muted/20 data-[state=selected]:bg-muted",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
)
|
||||
|
||||
@@ -8,7 +8,7 @@ const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(({ classNa
|
||||
return (
|
||||
<textarea
|
||||
className={cn(
|
||||
"flex min-h-14 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
"flex min-h-14 w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
||||
className
|
||||
)}
|
||||
ref={ref}
|
||||
|
||||
@@ -34,25 +34,25 @@
|
||||
|
||||
.dark {
|
||||
color-scheme: dark;
|
||||
--background: 240 10% 6.2%;
|
||||
--foreground: 0 0% 98.04%;
|
||||
--card: 240 8.57% 8%;
|
||||
--card-foreground: 0 0% 98.04%;
|
||||
--popover: 240 10% 6.2%;
|
||||
--popover-foreground: 0 0% 98.04%;
|
||||
--primary: 0 0% 98.04%;
|
||||
--primary-foreground: 240 5.88% 10%;
|
||||
--secondary: 240 3.7% 15.88%;
|
||||
--secondary-foreground: 0 0% 98.04%;
|
||||
--muted: 240 3.7% 15.88%;
|
||||
--muted-foreground: 240 5.03% 64.9%;
|
||||
--accent: 240 3.7% 15.88%;
|
||||
--accent-foreground: 0 0% 98.04%;
|
||||
--destructive: 0 59% 46%;
|
||||
--destructive-foreground: 0 0% 98.04%;
|
||||
--border: 240 2.86% 12%;
|
||||
--input: 240 3.7% 15.88%;
|
||||
--ring: 240 4.88% 86%;
|
||||
--background: 220 5.5% 9.5%;
|
||||
--foreground: 220 2% 97%;
|
||||
--card: 220 5.5% 11%;
|
||||
--card-foreground: 220 2% 97%;
|
||||
--popover: 220 5.5% 9.5%;
|
||||
--popover-foreground: 220 2% 97%;
|
||||
--primary: 220 2% 96%;
|
||||
--primary-foreground: 220 4% 10%;
|
||||
--secondary: 220 4% 16%;
|
||||
--secondary-foreground: 220 0% 98%;
|
||||
--muted: 220 6% 16%;
|
||||
--muted-foreground: 220 4% 67%;
|
||||
--accent: 220 5% 15.5%;
|
||||
--accent-foreground: 220 2% 98%;
|
||||
--destructive: 0 62% 46%;
|
||||
--destructive-foreground: 0 0% 97%;
|
||||
--border: 220 3% 16%;
|
||||
--input: 220 4% 22%;
|
||||
--ring: 220 4% 80%;
|
||||
--radius: 0.8rem;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,43 @@
|
||||
import { $direction } from "./stores"
|
||||
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"
|
||||
|
||||
// const locale = detect(fromUrl("lang"), fromStorage("lang"), fromNavigator(), "en")
|
||||
const locale = detect(fromStorage("lang"), fromNavigator(), "en")
|
||||
// let locale = detect(fromUrl("lang"), fromStorage("lang"), fromNavigator(), "en")
|
||||
let locale = detect(fromStorage("lang"), fromNavigator(), "en")
|
||||
|
||||
// log if dev
|
||||
if (import.meta.env.DEV) {
|
||||
console.log("detected locale", locale)
|
||||
}
|
||||
|
||||
// activates locale
|
||||
function activateLocale(locale: string, messages: Messages = enMessages) {
|
||||
i18n.load(locale, messages)
|
||||
i18n.activate(locale)
|
||||
document.documentElement.lang = locale
|
||||
localStorage.setItem("lang", locale)
|
||||
$direction.set(locale.startsWith("ar") ? "rtl" : "ltr")
|
||||
}
|
||||
|
||||
// dynamically loads translations for the given locale
|
||||
export async function dynamicActivate(locale: string) {
|
||||
try {
|
||||
const { messages } = await import(`../locales/${locale}/${locale}.ts`)
|
||||
i18n.load(locale, messages)
|
||||
i18n.activate(locale)
|
||||
document.documentElement.lang = locale
|
||||
$direction.set(locale.startsWith("ar") ? "rtl" : "ltr")
|
||||
localStorage.setItem("lang", locale)
|
||||
} catch (error) {
|
||||
console.error(`Error loading ${locale}`, error)
|
||||
if (locale == "en") {
|
||||
activateLocale(locale)
|
||||
} else {
|
||||
try {
|
||||
const { messages }: { messages: Messages } = await import(`../locales/${locale}/${locale}.ts`)
|
||||
activateLocale(locale, messages)
|
||||
} catch (error) {
|
||||
console.error(`Error loading ${locale}`, error)
|
||||
activateLocale("en")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// handle zh variants
|
||||
if (locale?.startsWith("zh-")) {
|
||||
// map zh variants to zh-CN
|
||||
const zhVariantMap: Record<string, string> = {
|
||||
@@ -38,9 +52,11 @@ if (locale?.startsWith("zh-")) {
|
||||
"zh-Hant": "zh-HK",
|
||||
}
|
||||
dynamicActivate(zhVariantMap[locale] || "zh-CN")
|
||||
} else if (locale && !locale.startsWith("en")) {
|
||||
dynamicActivate(locale.split("-")[0])
|
||||
} else {
|
||||
i18n.load("en", enMessages)
|
||||
i18n.activate("en")
|
||||
locale = (locale || "en").split("-")[0]
|
||||
// use en if locale is not in languages
|
||||
if (!languages.some((l) => l.lang === locale)) {
|
||||
locale = "en"
|
||||
}
|
||||
dynamicActivate(locale)
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
[
|
||||
{
|
||||
"lang": "ar",
|
||||
"label": "العربية",
|
||||
"e": "🇵🇸"
|
||||
},
|
||||
{
|
||||
"lang": "de",
|
||||
"label": "Deutsch",
|
||||
"e": "🇩🇪"
|
||||
},
|
||||
{
|
||||
"lang": "en",
|
||||
"label": "English",
|
||||
"e": "🇺🇸"
|
||||
},
|
||||
{
|
||||
"lang": "es",
|
||||
"label": "Español",
|
||||
"e": "🇲🇽"
|
||||
},
|
||||
{
|
||||
"lang": "fr",
|
||||
"label": "Français",
|
||||
"e": "🇫🇷"
|
||||
},
|
||||
{
|
||||
"lang": "it",
|
||||
"label": "Italiano",
|
||||
"e": "🇮🇹"
|
||||
},
|
||||
{
|
||||
"lang": "ja",
|
||||
"label": "日本語",
|
||||
"e": "🇯🇵"
|
||||
},
|
||||
{
|
||||
"lang": "ko",
|
||||
"label": "한국어",
|
||||
"e": "🇰🇷"
|
||||
},
|
||||
{
|
||||
"lang": "pt",
|
||||
"label": "Português",
|
||||
"e": "🇧🇷"
|
||||
},
|
||||
{
|
||||
"lang": "tr",
|
||||
"label": "Türkçe",
|
||||
"e": "🇹🇷"
|
||||
},
|
||||
{
|
||||
"lang": "ru",
|
||||
"label": "Русский",
|
||||
"e": "🇷🇺"
|
||||
},
|
||||
{
|
||||
"lang": "uk",
|
||||
"label": "Українська",
|
||||
"e": "🇺🇦"
|
||||
},
|
||||
{
|
||||
"lang": "vi",
|
||||
"label": "Tiếng Việt",
|
||||
"e": "🇻🇳"
|
||||
},
|
||||
{
|
||||
"lang": "zh-CN",
|
||||
"label": "简体中文",
|
||||
"e": "🇨🇳"
|
||||
},
|
||||
{
|
||||
"lang": "zh-HK",
|
||||
"label": "繁體中文",
|
||||
"e": "🇭🇰"
|
||||
}
|
||||
]
|
||||
92
beszel/site/src/lib/languages.ts
Normal file
92
beszel/site/src/lib/languages.ts
Normal file
@@ -0,0 +1,92 @@
|
||||
export default [
|
||||
{
|
||||
lang: "ar",
|
||||
label: "العربية",
|
||||
e: "🇵🇸",
|
||||
},
|
||||
{
|
||||
lang: "de",
|
||||
label: "Deutsch",
|
||||
e: "🇩🇪",
|
||||
},
|
||||
{
|
||||
lang: "en",
|
||||
label: "English",
|
||||
e: "🇺🇸",
|
||||
},
|
||||
{
|
||||
lang: "es",
|
||||
label: "Español",
|
||||
e: "🇲🇽",
|
||||
},
|
||||
{
|
||||
lang: "fr",
|
||||
label: "Français",
|
||||
e: "🇫🇷",
|
||||
},
|
||||
{
|
||||
lang: "hr",
|
||||
label: "Hrvatski",
|
||||
e: "🇭🇷",
|
||||
},
|
||||
{
|
||||
lang: "it",
|
||||
label: "Italiano",
|
||||
e: "🇮🇹",
|
||||
},
|
||||
{
|
||||
lang: "ja",
|
||||
label: "日本語",
|
||||
e: "🇯🇵",
|
||||
},
|
||||
{
|
||||
lang: "ko",
|
||||
label: "한국어",
|
||||
e: "🇰🇷",
|
||||
},
|
||||
{
|
||||
lang: "nl",
|
||||
label: "Nederlands",
|
||||
e: "🇳🇱",
|
||||
},
|
||||
{
|
||||
lang: "pl",
|
||||
label: "Polski",
|
||||
e: "🇵🇱",
|
||||
},
|
||||
{
|
||||
lang: "pt",
|
||||
label: "Português",
|
||||
e: "🇧🇷",
|
||||
},
|
||||
{
|
||||
lang: "tr",
|
||||
label: "Türkçe",
|
||||
e: "🇹🇷",
|
||||
},
|
||||
{
|
||||
lang: "ru",
|
||||
label: "Русский",
|
||||
e: "🇷🇺",
|
||||
},
|
||||
{
|
||||
lang: "uk",
|
||||
label: "Українська",
|
||||
e: "🇺🇦",
|
||||
},
|
||||
{
|
||||
lang: "vi",
|
||||
label: "Tiếng Việt",
|
||||
e: "🇻🇳",
|
||||
},
|
||||
{
|
||||
lang: "zh-CN",
|
||||
label: "简体中文",
|
||||
e: "🇨🇳",
|
||||
},
|
||||
{
|
||||
lang: "zh-HK",
|
||||
label: "繁體中文",
|
||||
e: "🇭🇰",
|
||||
},
|
||||
] as const
|
||||
@@ -272,7 +272,7 @@ export const getSizeAndUnit = (n: number, isGigabytes = true) => {
|
||||
} else if (sizeInGB >= 1) {
|
||||
return { v: sizeInGB, u: " GB" }
|
||||
}
|
||||
return { v: n, u: " MB" }
|
||||
return { v: isGigabytes ? sizeInGB * 1_000 : n, u: " MB" }
|
||||
}
|
||||
|
||||
export const chartMargin = { top: 12 }
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ar\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:13\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\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"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# يوم} other {# أيام}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# ساعة} other {# ساعات}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "إضافة <0>نظام</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "إضافة نظام جديد"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "إضافة نظام"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "مزودو المصادقة"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "النسخ التلقائي يتطلب سياقًا آمنًا."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "متوسط"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "متوسط استخدام وحدة المعالجة المركزية للحاويات"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "متوسط استخدام وحدة المعالجة المركزية ل
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "المتوسط يتجاوز <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "متوسط استخدام وحدة المعالجة المركزية على مستوى النظام"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "النسخ الاحتياطية"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "عرض النطاق الترددي"
|
||||
@@ -182,7 +190,7 @@ msgstr "تحقق من السجلات لمزيد من التفاصيل."
|
||||
msgid "Check your notification service"
|
||||
msgstr "تحقق من خدمة الإشعارات الخاصة بك"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "انقر للنسخ"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "متابعة"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "تم النسخ إلى الحافظة"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "نسخ"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "نسخ"
|
||||
msgid "Copy host"
|
||||
msgstr "نسخ المضيف"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "نسخ أمر لينكس"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "نسخ النص"
|
||||
msgid "CPU"
|
||||
msgstr "المعالج"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "استخدام وحدة المعالجة المركزية"
|
||||
@@ -265,29 +273,29 @@ msgstr "حذف"
|
||||
msgid "Disk"
|
||||
msgstr "القرص"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "إدخال/إخراج القرص"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "استخدام القرص لـ {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "استخدام وحدة المعالجة المركزية لـ Docker"
|
||||
msgstr "استخدام CPU لـ Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "استخدام الذاكرة لـ Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "إدخال/إخراج الشبكة لـ Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "البريد الإلكتروني"
|
||||
msgid "Email notifications"
|
||||
msgstr "إشعارات البريد الإلكتروني"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "أدخل عنوان البريد الإلكتروني لإعادة تعيين كلمة المرور"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "فشل في إرسال إشعار الاختبار"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "فشل في تحديث التنبيه"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "تصفية..."
|
||||
@@ -374,7 +382,11 @@ msgstr "هل نسيت كلمة المرور؟"
|
||||
msgid "General"
|
||||
msgstr "عام"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "مضيف / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "عنوان البريد الإلكتروني غير صالح."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "كيرنل"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "فاتح"
|
||||
msgid "Log Out"
|
||||
msgstr "تسجيل الخروج"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "تسجيل الدخول"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "إدارة تفضيلات العرض والإشعارات."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "1 دقيقة كحد"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "1 دقيقة كحد"
|
||||
msgid "Memory"
|
||||
msgstr "الذاكرة"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "استخدام الذاكرة"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "استخدام الذاكرة لحاويات Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "الاسم"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "الاسم"
|
||||
msgid "Net"
|
||||
msgstr "الشبكة"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "حركة مرور الشبكة لحاويات Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "حركة مرور الشبكة للواجهات العامة"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "يرجى التحقق من السجلات لمزيد من التفاصي
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "يرجى التحقق من بيانات الاعتماد الخاصة بك والمحاولة مرة أخرى"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "يرجى إنشاء حساب مسؤول"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "يرجى تسجيل الدخول مرة أخرى"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "يرجى الاطلاع على <0>التوثيق</0> للحصول على التعليمات."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "يرجى تسجيل الدخول إلى حسابك"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "المفتاح العام"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "قراءة"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "تم الاستلام"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "البحث عن الأنظمة أو الإعدادات..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "راجع <0>إعدادات الإشعارات</0> لتكوين كيفية تلقي التنبيهات."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "تم الإرسال"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "إعدادات SMTP"
|
||||
msgid "Status"
|
||||
msgstr "الحالة"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "مساحة التبديل المستخدمة من قبل النظام"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "استخدام التبديل"
|
||||
|
||||
@@ -661,12 +678,12 @@ msgstr "الأنظمة"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "يمكن إدارة الأنظمة في ملف <0>config.yml</0> داخل دليل البيانات الخاص بك."
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "درجة الحرارة"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "درجات حرارة مستشعرات النظام"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "ثم قم بتسجيل الدخول إلى الواجهة الخلفية
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "معدل نقل {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "معدل نقل نظام الملفات الجذر"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "معدل نقل نظام الملفات الجذر"
|
||||
msgid "To email(s)"
|
||||
msgstr "إلى البريد الإلكتروني"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "تبديل الشبكة"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "يتم التفعيل عندما يتجاوز استخدام وحدة ا
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "يتم التفعيل عندما يتجاوز استخدام الذاكرة عتبة معينة"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "يتم التفعيل عندما يتجاوز استخدام الذاكرة عتبة معينة."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "يتم التفعيل عندما يتغير الحالة بين التشغيل والإيقاف"
|
||||
@@ -747,18 +760,21 @@ msgstr "يتم التفعيل عندما يتجاوز استخدام أي قرص
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "محدث في الوقت الحقيقي. انقر على نظام لعرض المعلومات."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "مدة التشغيل"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,7 +793,7 @@ msgstr "اسم المستخدم"
|
||||
msgid "Users"
|
||||
msgstr "المستخدمون"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "في انتظار وجود سجلات كافية للعرض"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "هل تريد مساعدتنا في تحسين ترجماتنا؟ تحق
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "إشعارات Webhook / Push"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "كتابة"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: de\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:13\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# Tag} other {# Tage}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# Stunde} other {# Stunden}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "<0>System</0> hinzufügen"
|
||||
msgid "Add New System"
|
||||
msgstr "Neues System hinzufügen"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "System hinzufügen"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Authentifizierungsanbieter"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatisches Kopieren erfordert einen sicheren Kontext."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Durchschnitt"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Durchschnittliche CPU-Auslastung der Container"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Durchschnittliche CPU-Auslastung der Container"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Durchschnitt überschreitet <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Durchschnittliche systemweite CPU-Auslastung"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandbreite"
|
||||
@@ -182,7 +190,7 @@ 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:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Zum Kopieren klicken"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Fortfahren"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "In die Zwischenablage kopiert"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Kopieren"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Kopieren"
|
||||
msgid "Copy host"
|
||||
msgstr "Host kopieren"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Linux-Befehl kopieren"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Text kopieren"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU-Auslastung"
|
||||
@@ -265,29 +273,29 @@ msgstr "Löschen"
|
||||
msgid "Disk"
|
||||
msgstr "Festplatte"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Festplatten-I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Festplattennutzung"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Festplattennutzung von {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker-CPU-Auslastung"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker-Speichernutzung"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker-Netzwerk-I/O"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "E-Mail"
|
||||
msgid "Email notifications"
|
||||
msgstr "E-Mail-Benachrichtigungen"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "E-Mail-Adresse eingeben, um das Passwort zurückzusetzen"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Testbenachrichtigung konnte nicht gesendet werden"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Warnung konnte nicht aktualisiert werden"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Passwort vergessen?"
|
||||
msgid "General"
|
||||
msgstr "Allgemein"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Ungültige E-Mail-Adresse."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Hell"
|
||||
msgid "Log Out"
|
||||
msgstr "Abmelden"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Anzeige- und Benachrichtigungseinstellungen verwalten."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 Min"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Max 1 Min"
|
||||
msgid "Memory"
|
||||
msgstr "Speicher"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Speichernutzung"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Speichernutzung der Docker-Container"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Name"
|
||||
msgid "Net"
|
||||
msgstr "Netz"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Netzwerkverkehr der Docker-Container"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Netzwerkverkehr der öffentlichen Schnittstellen"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Bitte überprüfen Sie die Protokolle für weitere Details."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Bitte überprüfen Sie Ihre Anmeldedaten und versuchen Sie es erneut"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Bitte erstellen Sie ein Administratorkonto"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Bitte melden Sie sich erneut an"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Bitte sehen Sie sich <0>die Dokumentation</0> für Anweisungen an."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Bitte melden Sie sich bei Ihrem Konto an"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Genaue Nutzung zum aufgezeichneten Zeitpunkt"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Bevorzugte Sprache"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Schlüssel"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Lesen"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Empfangen"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Nach Systemen oder Einstellungen suchen..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Siehe <0>Benachrichtigungseinstellungen</0>, um zu konfigurieren, wie Sie Warnungen erhalten."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Gesendet"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "SMTP-Einstellungen"
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Vom System genutzter Swap-Speicher"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swap-Nutzung"
|
||||
|
||||
@@ -661,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatur"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperaturen der Systemsensoren"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Melden Sie sich dann im Backend an und setzen Sie Ihr Benutzerkontopassw
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Durchsatz von {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Durchsatz des Root-Dateisystems"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Durchsatz des Root-Dateisystems"
|
||||
msgid "To email(s)"
|
||||
msgstr "An E-Mail(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Raster umschalten"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "Löst aus, wenn die CPU-Auslastung einen Schwellenwert überschreitet"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Löst aus, wenn die Speichernutzung einen Schwellenwert überschreitet"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Löst aus, wenn die Speichernutzung einen Schwellenwert überschreitet."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Löst aus, wenn der Status zwischen oben und unten wechselt"
|
||||
@@ -747,18 +760,21 @@ msgstr "Löst aus, wenn die Nutzung einer Festplatte einen Schwellenwert übersc
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "In Echtzeit aktualisiert. Klicken Sie auf ein System, um Informationen anzuzeigen."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Betriebszeit"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Nutzung"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Nutzung der Root-Partition"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -777,7 +793,7 @@ msgstr "Benutzername"
|
||||
msgid "Users"
|
||||
msgstr "Benutzer"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Warten auf genügend Datensätze zur Anzeige"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Möchten Sie uns helfen, unsere Übersetzungen noch besser zu machen? Sc
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push-Benachrichtigungen"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Schreiben"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -13,11 +13,11 @@ msgstr ""
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: 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:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# hour} other {# hours}}"
|
||||
|
||||
@@ -58,8 +58,8 @@ msgstr "Add <0>System</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Add New System"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Add system"
|
||||
|
||||
@@ -107,11 +107,11 @@ msgstr "Auth Providers"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Automatic copy requires a secure context."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Average"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Average CPU utilization of containers"
|
||||
|
||||
@@ -119,16 +119,24 @@ msgstr "Average CPU utilization of containers"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Average exceeds <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: src/components/routes/system.tsx:497
|
||||
msgid "Average power consumption of GPUs"
|
||||
msgstr "Average power consumption of GPUs"
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Average system-wide CPU utilization"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr "Average utilization of {0}"
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandwidth"
|
||||
@@ -177,7 +185,7 @@ msgstr "Check logs for more details."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Check your notification service"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Click to copy"
|
||||
|
||||
@@ -208,7 +216,7 @@ msgstr "Continue"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copied to clipboard"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Copy"
|
||||
|
||||
@@ -216,7 +224,7 @@ msgstr "Copy"
|
||||
msgid "Copy host"
|
||||
msgstr "Copy host"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copy Linux command"
|
||||
|
||||
@@ -228,8 +236,8 @@ msgstr "Copy text"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU Usage"
|
||||
@@ -260,29 +268,29 @@ msgstr "Delete"
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Disk I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Disk Usage"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Disk usage of {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU Usage"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker Memory Usage"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Network I/O"
|
||||
|
||||
@@ -303,7 +311,7 @@ msgstr "Email"
|
||||
msgid "Email notifications"
|
||||
msgstr "Email notifications"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Enter email address to reset password"
|
||||
|
||||
@@ -350,7 +358,7 @@ msgstr "Failed to send test notification"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Failed to update alert"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
@@ -369,7 +377,11 @@ msgstr "Forgot password?"
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr "GPU Power Draw"
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -382,7 +394,7 @@ msgid "Invalid email address."
|
||||
msgstr "Invalid email address."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
@@ -399,7 +411,7 @@ msgstr "Light"
|
||||
msgid "Log Out"
|
||||
msgstr "Log Out"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
@@ -422,7 +434,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Manage display and notification preferences."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
@@ -430,16 +442,16 @@ msgstr "Max 1 min"
|
||||
msgid "Memory"
|
||||
msgstr "Memory"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Memory Usage"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Memory usage of docker containers"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
@@ -447,11 +459,11 @@ msgstr "Name"
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Network traffic of docker containers"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Network traffic of public interfaces"
|
||||
|
||||
@@ -527,7 +539,7 @@ msgstr "Please check logs for more details."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Please check your credentials and try again"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Please create an admin account"
|
||||
|
||||
@@ -543,31 +555,36 @@ msgstr "Please log in again"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Please see <0>the documentation</0> for instructions."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Please sign in to your account"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Precise utilization at the recorded time"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Preferred Language"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Public Key"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Read"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Received"
|
||||
|
||||
@@ -600,8 +617,8 @@ msgstr "Search for systems or settings..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "See <0>notification settings</0> to configure how you receive alerts."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Sent"
|
||||
|
||||
@@ -633,11 +650,11 @@ msgstr "SMTP settings"
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Swap space used by the system"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Swap Usage"
|
||||
|
||||
@@ -656,12 +673,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperature"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperatures of system sensors"
|
||||
|
||||
@@ -689,11 +706,11 @@ msgstr "Then log into the backend and reset your user account password in the us
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Throughput of {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Throughput of root filesystem"
|
||||
|
||||
@@ -701,8 +718,8 @@ msgstr "Throughput of root filesystem"
|
||||
msgid "To email(s)"
|
||||
msgstr "To email(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Toggle grid"
|
||||
|
||||
@@ -726,10 +743,6 @@ msgstr "Triggers when CPU usage exceeds a threshold"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Triggers when memory usage exceeds a threshold"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Triggers when memory usage exceeds a threshold."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Triggers when status switches between up and down"
|
||||
@@ -742,18 +755,21 @@ msgstr "Triggers when usage of any disk exceeds a threshold"
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Updated in real time. Click on a system to view information."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Uptime"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Usage"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Usage of root partition"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -772,7 +788,7 @@ msgstr "Username"
|
||||
msgid "Users"
|
||||
msgstr "Users"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Waiting for enough records to display"
|
||||
|
||||
@@ -784,9 +800,9 @@ msgstr "Want to help us make our translations even better? Check out <0>Crowdin<
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push notifications"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Write"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: es\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:13\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# día} other {# días}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# hora} other {# horas}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "Agregar <0>Sistema</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Agregar Nuevo Sistema"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Agregar sistema"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Proveedores de Autenticación"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "La copia automática requiere un contexto seguro."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Promedio"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilización promedio de CPU de los contenedores"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Utilización promedio de CPU de los contenedores"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "El promedio excede <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Utilización promedio de CPU del sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Copias de Seguridad"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Ancho de banda"
|
||||
@@ -182,7 +190,7 @@ msgstr "Revise los registros para más detalles."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Verifique su servicio de notificaciones"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Haga clic para copiar"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Continuar"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado al portapapeles"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Copiar"
|
||||
msgid "Copy host"
|
||||
msgstr "Copiar host"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copiar comando de Linux"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Copiar texto"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Uso de CPU"
|
||||
@@ -265,29 +273,29 @@ msgstr "Eliminar"
|
||||
msgid "Disk"
|
||||
msgstr "Disco"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "E/S de Disco"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Uso de Disco"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Uso de disco de {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Uso de CPU de Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Uso de Memoria de Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "E/S de Red de Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "Correo electrónico"
|
||||
msgid "Email notifications"
|
||||
msgstr "Notificaciones por correo"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Ingrese la dirección de correo electrónico para restablecer la contraseña"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Error al enviar la notificación de prueba"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Error al actualizar la alerta"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrar..."
|
||||
@@ -374,7 +382,11 @@ msgstr "¿Olvidó su contraseña?"
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Dirección de correo electrónico no válida."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Claro"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar Sesión"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Administrar preferencias de visualización y notificaciones."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Máx 1 min"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Máx 1 min"
|
||||
msgid "Memory"
|
||||
msgstr "Memoria"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Uso de Memoria"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Uso de memoria de los contenedores de Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Nombre"
|
||||
msgid "Net"
|
||||
msgstr "Red"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Tráfico de red de los contenedores de Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Tráfico de red de interfaces públicas"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Por favor, revise los registros para más detalles."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Por favor, verifique sus credenciales e intente de nuevo"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Por favor, cree una cuenta de administrador"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Por favor, inicie sesión de nuevo"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Por favor, consulte <0>la documentación</0> para obtener instrucciones."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Por favor, inicie sesión en su cuenta"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Puerto"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Utilización precisa en el momento registrado"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Idioma Preferido"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Clave Pública"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Lectura"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Recibido"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Buscar sistemas o configuraciones..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Consulte <0>configuración de notificaciones</0> para configurar cómo recibe alertas."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Enviado"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "Configuración SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Espacio de swap utilizado por el sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Uso de Swap"
|
||||
|
||||
@@ -661,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatura"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperaturas de los sensores del sistema"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Luego inicie sesión en el backend y restablezca la contraseña de su cu
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Rendimiento de {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Rendimiento del sistema de archivos raíz"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Rendimiento del sistema de archivos raíz"
|
||||
msgid "To email(s)"
|
||||
msgstr "A correo(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Alternar cuadrícula"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "Se activa cuando el uso de CPU supera un umbral"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Se activa cuando el uso de memoria supera un umbral"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Se activa cuando el uso de memoria supera un umbral."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Se activa cuando el estado cambia entre activo e inactivo"
|
||||
@@ -747,18 +760,21 @@ msgstr "Se activa cuando el uso de cualquier disco supera un umbral"
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Tiempo de actividad"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Uso"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Uso de la partición raíz"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -777,7 +793,7 @@ msgstr "Nombre de usuario"
|
||||
msgid "Users"
|
||||
msgstr "Usuarios"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Esperando suficientes registros para mostrar"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "¿Quieres ayudarnos a mejorar nuestras traducciones? Consulta <0>Crowdin
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Notificaciones Webhook / Push"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Escritura"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: fr\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:13\n"
|
||||
"PO-Revision-Date: 2024-11-06 20:36\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# jour} other {# jours}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# heure} other {# heures}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "Ajouter <0>Système</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Ajouter un nouveau système"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Ajouter un système"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Fournisseurs d'authentification"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "La copie automatique nécessite un contexte sécurisé."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Moyenne"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilisation moyenne du CPU des conteneurs"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Utilisation moyenne du CPU des conteneurs"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "La moyenne dépasse <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Utilisation moyenne du CPU à l'échelle du système"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Sauvegardes"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bande passante"
|
||||
@@ -182,7 +190,7 @@ 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:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Cliquez pour copier"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Continuer"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copié dans le presse-papiers"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Copier"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Copier"
|
||||
msgid "Copy host"
|
||||
msgstr "Copier l'hôte"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copier la commande Linux"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Copier le texte"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Utilisation du CPU"
|
||||
@@ -265,29 +273,29 @@ msgstr "Supprimer"
|
||||
msgid "Disk"
|
||||
msgstr "Disque"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Entrée/Sortie disque"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Utilisation du disque"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Utilisation du disque de {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Utilisation du CPU Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Utilisation de la mémoire Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Entrée/Sortie réseau Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "Email"
|
||||
msgid "Email notifications"
|
||||
msgstr "Notifications par email"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Entrez l'adresse email pour réinitialiser le mot de passe"
|
||||
|
||||
@@ -324,7 +332,7 @@ msgstr "Erreur"
|
||||
|
||||
#: src/components/routes/home.tsx:81
|
||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Dépasse {0}{1} dans la dernière {2, plural, one {# minute} other {# minutes}}"
|
||||
msgstr "Dépasse {0}{1} dans {2, plural, one {la dernière # minute} other {les dernières # minutes}}"
|
||||
|
||||
#: 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."
|
||||
@@ -355,7 +363,7 @@ msgstr "Échec de l'envoi de la notification de test"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Échec de la mise à jour de l'alerte"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrer..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Mot de passe oublié ?"
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Hôte / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Adresse email invalide."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Noyau"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Clair"
|
||||
msgid "Log Out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Connexion"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Gérer les préférences d'affichage et de notification."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Max 1 min"
|
||||
msgid "Memory"
|
||||
msgstr "Mémoire"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Utilisation de la mémoire"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Utilisation de la mémoire des conteneurs Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Nom"
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Trafic réseau des conteneurs Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Trafic réseau des interfaces publiques"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Veuillez vérifier les journaux pour plus de détails."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Veuillez vérifier vos identifiants et réessayer"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Veuillez créer un compte administrateur"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Veuillez vous reconnecter"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Veuillez consulter <0>la documentation</0> pour les instructions."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Veuillez vous connecter à votre compte"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Utilisation précise au moment enregistré"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Langue préférée"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Clé publique"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Lecture"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Reçu"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Rechercher des systèmes ou des paramètres..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Voir les <0>paramètres de notification</0> pour configurer comment vous recevez les alertes."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Envoyé"
|
||||
|
||||
@@ -638,13 +655,13 @@ msgstr "Paramètres SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Espace d'échange utilisé par le système"
|
||||
msgstr "Espace Swap utilisé par le système"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Utilisation de l'échange"
|
||||
msgstr "Utilisation du swap"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
@@ -661,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Température"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Températures des capteurs du système"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Ensuite, connectez-vous au backend et réinitialisez le mot de passe de
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Débit de {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Débit du système de fichiers racine"
|
||||
|
||||
@@ -706,14 +723,14 @@ msgstr "Débit du système de fichiers racine"
|
||||
msgid "To email(s)"
|
||||
msgstr "Aux email(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Basculer la grille"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Basculer le thème"
|
||||
msgstr "Changer le thème"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
@@ -721,7 +738,7 @@ msgstr "Déclenchement lorsque tout capteur dépasse un seuil"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Déclenchement lorsque la montée/descente combinée dépasse un seuil"
|
||||
msgstr "Déclenchement lorsque le montant/descendant combinée dépasse un seuil"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
@@ -731,13 +748,9 @@ msgstr "Déclenchement lorsque l'utilisation du CPU dépasse un seuil"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Déclenchement lorsque l'utilisation de la mémoire dépasse un seuil"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Déclenchement lorsque l'utilisation de la mémoire dépasse un seuil."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Déclenchement lorsque le statut passe de haut en bas"
|
||||
msgstr "Déclenchement lorsque le statut passe d'opérationnel à indisponible"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
@@ -747,18 +760,21 @@ msgstr "Déclenchement lorsque l'utilisation de tout disque dépasse un seuil"
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Temps de fonctionnement"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Utilisation"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Utilisation de la partition racine"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -777,7 +793,7 @@ msgstr "Nom d'utilisateur"
|
||||
msgid "Users"
|
||||
msgstr "Utilisateurs"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "En attente de suffisamment d'enregistrements à afficher"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Vous voulez nous aider à améliorer nos traductions ? Consultez <0>Crow
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Notifications Webhook / Push"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Écriture"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
824
beszel/site/src/locales/hr/hr.po
Normal file
824
beszel/site/src/locales/hr/hr.po
Normal file
@@ -0,0 +1,824 @@
|
||||
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: hr\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 19:48\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"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: hr\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} other {# dani}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# sat} other {# sati}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 sat"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 tjedan"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 sati"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 sati"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dana"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
msgid "Actions"
|
||||
msgstr "Akcije"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktivna upozorenja"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Dodaj <0>Sistem</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
msgid "Add New System"
|
||||
msgstr "Dodaj Novi Sistem"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
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 "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
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Upozorenja"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
msgid "All Systems"
|
||||
msgstr "Svi Sistemi"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Prosjek"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Prosječna iskorištenost procesora u spremnicima"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Prosjek premašuje <0>{value}{0}</0>"
|
||||
|
||||
#: 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 "Prosječna iskorištenost procesora na cijelom sustavu"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Sigurnosne kopije"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Propusnost"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel podržava OpenID Connect i mnoge druge OAuth2 davatalje autentifikacije."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
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
|
||||
msgid "Binary"
|
||||
msgstr "Binarni"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Predmemorija / Međuspremnici"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Oprez - mogući gubitak podataka"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Promijenite opće opcije aplikacije."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Opcije grafikona"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Provjerite {email} za vezu za resetiranje."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Provjerite logove za više detalja."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Provjerite Vaš servis notifikacija"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
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"
|
||||
msgstr "Upute za naredbeni redak"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
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
|
||||
msgid "Confirm password"
|
||||
msgstr "Potvrdite lozinku"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "Continue"
|
||||
msgstr "Nastavite"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Kopirano u međuspremnik"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Kopiraj"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
msgid "Copy host"
|
||||
msgstr "Kopiraj hosta"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopiraj Linux komandu"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopiraj tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
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 "Iskorištenost procesora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
msgid "Create account"
|
||||
msgstr "Napravite račun"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Tamno"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
msgid "Dashboard"
|
||||
msgstr "Nadzorna ploča"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Zadano vremensko razdoblje"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
msgid "Delete"
|
||||
msgstr "Izbriši"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
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 "Iskorištenost Diska"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Iskorištenost diska od {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Iskorištenost Docker Procesora"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Iskorištenost Docker Memorije"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Mrežni I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
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/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "Email notifikacije"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Unesite email adresu za resetiranje lozinke"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Unesite email adresu..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: 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
|
||||
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}}"
|
||||
|
||||
#: 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 "Postojeći sistemi koji nisu definirani u <0>config.yml</0> će biti izbrisani. Molimo Vas napravite redovite sigurnosne kopije."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Izvoz konfiguracije"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Izvoz trenutne sistemske konfiguracije."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Provjera autentičnosti nije uspjela"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Neuspješno snimanje postavki"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Neuspješno slanje testne notifikacije"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
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
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
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
|
||||
msgid "Forgot password?"
|
||||
msgstr "Zaboravljena lozinka?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Općenito"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / 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 "Ako ste izgubili lozinku za svoj administratorski račun, možete ju resetirati pomoću sljedeće naredbe."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Nevažeća adresa e-pošte."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Jezik"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Svijetlo"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
msgid "Log Out"
|
||||
msgstr "Odjava"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Prijava"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: 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
|
||||
msgid "Logs"
|
||||
msgstr "Logovi"
|
||||
|
||||
#: 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 "Tražite gdje stvoriti upozorenja? Kliknite ikonu zvona <0/> u tablici sustava."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Upravljajte postavkama prikaza i obavijesti."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Maksimalno 1 minuta"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
msgid "Memory"
|
||||
msgstr "Memorija"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Upotreba memorije"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Upotreba memorije Docker spremnika"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Ime"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Net"
|
||||
msgstr "Mreža"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Mrežni promet Docker spremnika"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Mrežni promet javnih sučelja"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
msgid "No results found."
|
||||
msgstr "Nema rezultata."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
msgid "No systems found."
|
||||
msgstr "Nije pronađen nijedan sustav."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: 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
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Podrška 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 "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
|
||||
msgid "Open menu"
|
||||
msgstr "Otvori menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
msgid "Or continue with"
|
||||
msgstr "Ili nastavi sa"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Prebrišite postojeća upozorenja"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
msgid "Page"
|
||||
msgstr "Stranica"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Stranice / Postavke"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
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."
|
||||
|
||||
#: 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
|
||||
msgid "Pause"
|
||||
msgstr "Pauza"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
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
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Za više detalja provjerite logove."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Provjerite svoje podatke i pokušajte ponovno"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Molimo kreirajte administratorski račun"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Omogućite skočne prozore za ovu stranicu"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Molimo prijavite se ponovno"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Molimo pogledajte <0>dokumentaciju</0> za instrukcije."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Molimo prijavite se u svoj račun"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Precizno iskorištenje u zabilježenom vremenu"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Preferirani jezik"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
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 "Pročitaj"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Primljeno"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Resetiraj Lozinku"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
msgid "Resume"
|
||||
msgstr "Nastavi"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Spremite adresu pomoću tipke enter ili zareza. Ostavite prazno kako biste onemogućili obavijesti e-poštom."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Spremi Postavke"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
msgid "Search"
|
||||
msgstr "Pretraži"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Pretraži za sisteme ili postavke..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Pogledajte <0>postavke obavijesti</0> da biste konfigurirali način primanja upozorenja."
|
||||
|
||||
#. 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 "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/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Postavke"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Postavke spremljene"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
msgid "Sign in"
|
||||
msgstr "Prijava"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP postavke"
|
||||
|
||||
#: 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 uzet od strane sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
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
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
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 "Sistemima se može upravljati u <0>config.yml</0> datoteci unutar data direktorija."
|
||||
|
||||
#: 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 senzora"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:211
|
||||
msgid "Test <0>URL</0>"
|
||||
msgstr "Testni <0>URL</0>"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:182
|
||||
msgid "Test notification sent"
|
||||
msgstr "Testna obavijest poslana"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
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
|
||||
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."
|
||||
|
||||
#: 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 "Zatim se prijavite u backend i resetirajte lozinku korisničkog računa u tablici korisnika."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Protok {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Protok root datotečnog sustava"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "Primaoci e-pošte"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Uključi/isključi rešetku"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Uključi/isključi temu"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Pokreće se kada bilo koji senzor prijeđe prag"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Pokreće se kada kombinacija gore/dolje premaši prag"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Pokreće se kada iskorištenost procesora premaši prag"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Pokreće se kada iskorištenost memorije premaši prag"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Pokreće se kada se status sistema promijeni"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
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
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Ažurirano odmah. Kliknite na sistem za više informacija."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Vrijeme rada"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Iskorištenost"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Iskorištenost root datotečnog sustava"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
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
|
||||
msgid "Users"
|
||||
msgstr "Korisnici"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Čeka se na više podataka prije prikaza"
|
||||
|
||||
#: 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 "Želite li nam pomoći da naše prijevode učinimo još boljim? Posjetite <0>Crowdin</0> za više detalja."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push obavijest"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Piši"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "YAML Config"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "YAML Konfiguracija"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Vaše korisničke postavke su ažurirane."
|
||||
@@ -1,23 +1,28 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2024-11-02 12:19-0400\n"
|
||||
"POT-Creation-Date: 2024-11-01 11:30-0400\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: @lingui/cli\n"
|
||||
"Language: it\n"
|
||||
"Project-Id-Version: \n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: \n"
|
||||
"PO-Revision-Date: 2024-11-04 20:47\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Plural-Forms: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: it\n"
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# giorno} other {# giorni}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# ora} other {# ore}}"
|
||||
|
||||
@@ -58,8 +63,8 @@ msgstr "Aggiungi <0>Sistema</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Aggiungi Nuovo Sistema"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Aggiungi sistema"
|
||||
|
||||
@@ -107,11 +112,11 @@ msgstr "Provider di Autenticazione"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "La copia automatica richiede un contesto sicuro."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Media"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilizzo medio della CPU dei container"
|
||||
|
||||
@@ -119,16 +124,24 @@ msgstr "Utilizzo medio della CPU dei container"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "La media supera <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Utilizzo medio della CPU a livello di sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Backup"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Larghezza di banda"
|
||||
@@ -177,7 +190,7 @@ msgstr "Controlla i log per maggiori dettagli."
|
||||
msgid "Check your notification service"
|
||||
msgstr "Controlla il tuo servizio di notifica"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Clicca per copiare"
|
||||
|
||||
@@ -208,7 +221,7 @@ msgstr "Continua"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiato negli appunti"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Copia"
|
||||
|
||||
@@ -216,7 +229,7 @@ msgstr "Copia"
|
||||
msgid "Copy host"
|
||||
msgstr "Copia host"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copia comando Linux"
|
||||
|
||||
@@ -228,8 +241,8 @@ msgstr "Copia testo"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Utilizzo CPU"
|
||||
@@ -260,29 +273,29 @@ msgstr "Elimina"
|
||||
msgid "Disk"
|
||||
msgstr "Disco"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "I/O Disco"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Utilizzo Disco"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Utilizzo del disco di {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Utilizzo CPU Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Utilizzo Memoria Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "I/O di Rete Docker"
|
||||
|
||||
@@ -303,7 +316,7 @@ msgstr "Email"
|
||||
msgid "Email notifications"
|
||||
msgstr "Notifiche email"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Inserisci l'indirizzo email per reimpostare la password"
|
||||
|
||||
@@ -350,7 +363,7 @@ msgstr "Invio della notifica di test fallito"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Aggiornamento dell'avviso fallito"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filtra..."
|
||||
@@ -369,7 +382,11 @@ msgstr "Password dimenticata?"
|
||||
msgid "General"
|
||||
msgstr "Generale"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -382,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Indirizzo email non valido."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
@@ -399,7 +416,7 @@ msgstr "Chiaro"
|
||||
msgid "Log Out"
|
||||
msgstr "Disconnetti"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Accedi"
|
||||
|
||||
@@ -422,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Gestisci le preferenze di visualizzazione e notifica."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Max 1 min"
|
||||
|
||||
@@ -430,16 +447,16 @@ msgstr "Max 1 min"
|
||||
msgid "Memory"
|
||||
msgstr "Memoria"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Utilizzo Memoria"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Utilizzo della memoria dei container Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
@@ -447,11 +464,11 @@ msgstr "Nome"
|
||||
msgid "Net"
|
||||
msgstr "Rete"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Traffico di rete dei container Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Traffico di rete delle interfacce pubbliche"
|
||||
|
||||
@@ -527,7 +544,7 @@ msgstr "Si prega di controllare i log per maggiori dettagli."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Si prega di controllare le credenziali e riprovare"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Si prega di creare un account amministratore"
|
||||
|
||||
@@ -543,31 +560,36 @@ msgstr "Si prega di accedere nuovamente"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Si prega di consultare <0>la documentazione</0> per le istruzioni."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Si prega di accedere al proprio account"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Porta"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Utilizzo preciso al momento registrato"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Lingua Preferita"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Chiave Pub"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Lettura"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Ricevuto"
|
||||
|
||||
@@ -600,8 +622,8 @@ msgstr "Cerca sistemi o impostazioni..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Vedi <0>impostazioni di notifica</0> per configurare come ricevere gli avvisi."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Inviato"
|
||||
|
||||
@@ -633,11 +655,11 @@ msgstr "Impostazioni SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Stato"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Spazio di swap utilizzato dal sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Utilizzo Swap"
|
||||
|
||||
@@ -656,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatura"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperature dei sensori di sistema"
|
||||
|
||||
@@ -689,11 +711,11 @@ msgstr "Quindi accedi al backend e reimposta la password del tuo account utente
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Throughput di {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Throughput del filesystem root"
|
||||
|
||||
@@ -701,8 +723,8 @@ msgstr "Throughput del filesystem root"
|
||||
msgid "To email(s)"
|
||||
msgstr "A email(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Attiva/disattiva griglia"
|
||||
|
||||
@@ -726,10 +748,6 @@ msgstr "Attiva quando l'utilizzo della CPU supera una soglia"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Attiva quando l'utilizzo della memoria supera una soglia"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Attiva quando l'utilizzo della memoria supera una soglia."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Attiva quando lo stato passa tra up e down"
|
||||
@@ -742,18 +760,21 @@ msgstr "Attiva quando l'utilizzo di un disco supera una soglia"
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Tempo di attività"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Utilizzo"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Utilizzo della partizione root"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -772,7 +793,7 @@ msgstr "Nome utente"
|
||||
msgid "Users"
|
||||
msgstr "Utenti"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "In attesa di abbastanza record da visualizzare"
|
||||
|
||||
@@ -784,9 +805,9 @@ msgstr "Vuoi aiutarci a migliorare ulteriormente le nostre traduzioni? Dai un'oc
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Notifiche Webhook / Push"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Scrittura"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ja\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 03:24\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# 日} other {# 日}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# 時間} other {# 時間}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "<0>システム</0>を追加"
|
||||
msgid "Add New System"
|
||||
msgstr "新しいシステムを追加"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "システムを追加"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "認証プロバイダー"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "自動コピーには安全なコンテキストが必要です。"
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "平均"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "コンテナの平均CPU使用率"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "コンテナの平均CPU使用率"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "平均が<0>{value}{0}</0>を超えています"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "バックアップ"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "帯域幅"
|
||||
@@ -182,7 +190,7 @@ msgstr "詳細についてはログを確認してください。"
|
||||
msgid "Check your notification service"
|
||||
msgstr "通知サービスを確認してください"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "クリックしてコピー"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "続行"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "クリップボードにコピーされました"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "コピー"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "コピー"
|
||||
msgid "Copy host"
|
||||
msgstr "ホストをコピー"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Linuxコマンドをコピー"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "テキストをコピー"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU使用率"
|
||||
@@ -265,29 +273,29 @@ msgstr "削除"
|
||||
msgid "Disk"
|
||||
msgstr "ディスク"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "ディスクI/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "{extraFsName}のディスク使用率"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU使用率"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Dockerメモリ使用率"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "DockerネットワークI/O"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "メール"
|
||||
msgid "Email notifications"
|
||||
msgstr "メール通知"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "パスワードをリセットするためにメールアドレスを入力してください"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "テスト通知の送信に失敗しました"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "アラートの更新に失敗しました"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "フィルター..."
|
||||
@@ -374,7 +382,11 @@ msgstr "パスワードをお忘れですか?"
|
||||
msgid "General"
|
||||
msgstr "一般"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "ホスト / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "無効なメールアドレスです。"
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "カーネル"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "ライト"
|
||||
msgid "Log Out"
|
||||
msgstr "ログアウト"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "ログイン"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "表示と通知の設定を管理します。"
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "最大1分"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "最大1分"
|
||||
msgid "Memory"
|
||||
msgstr "メモリ"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "メモリ使用率"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Dockerコンテナのメモリ使用率"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "名前"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "名前"
|
||||
msgid "Net"
|
||||
msgstr "帯域"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Dockerコンテナのネットワークトラフィック"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "パブリックインターフェースのネットワークトラフィック"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "詳細についてはログを確認してください。"
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "資格情報を確認して再試行してください"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "管理者アカウントを作成してください"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "再度ログインしてください"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "手順については<0>ドキュメント</0>を参照してください。"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "アカウントにサインインしてください"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "公開鍵"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "読み取り"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "受信"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "システムまたは設定を検索..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "アラートの受信方法を設定するには<0>通知設定</0>を参照してください。"
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "送信"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "SMTP設定"
|
||||
msgid "Status"
|
||||
msgstr "ステータス"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "システムが使用するスワップ領域"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "スワップ使用量"
|
||||
|
||||
@@ -661,12 +678,12 @@ msgstr "システム"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "システムはデータディレクトリ内の<0>config.yml</0>ファイルで管理できます。"
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "温度"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "システムセンサーの温度"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "その後、バックエンドにログインして、ユーザーテー
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "{extraFsName}のスループット"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "ルートファイルシステムのスループット"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "ルートファイルシステムのスループット"
|
||||
msgid "To email(s)"
|
||||
msgstr "メール宛"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "グリッドを切り替え"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "CPU使用率がしきい値を超えたときにトリガーされます
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "メモリ使用率がしきい値を超えたときにトリガーされます"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "メモリ使用率がしきい値を超えたときにトリガーされます。"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "ステータスが上から下に切り替わるときにトリガーされます"
|
||||
@@ -747,18 +760,21 @@ msgstr "ディスクの使用量がしきい値を超えたときにトリガー
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "リアルタイムで更新されます。システムをクリックして情報を表示します。"
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "稼働時間"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,7 +793,7 @@ msgstr "ユーザー名"
|
||||
msgid "Users"
|
||||
msgstr "ユーザー"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "表示するのに十分なレコードを待っています"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "翻訳をさらに良くするためにご協力いただけますか?
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / プッシュ通知"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "書き込み"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ko\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# 일} other {# 일}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# 시간} other {# 시간}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "<0>시스템</0> 추가"
|
||||
msgid "Add New System"
|
||||
msgstr "새 시스템 추가"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "시스템 추가"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "인증 제공자"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "자동 복사는 안전한 컨텍스트가 필요합니다."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "평균"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "컨테이너의 평균 CPU 사용량"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "컨테이너의 평균 CPU 사용량"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "평균이 <0>{value}{0}</0>을 초과합니다"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "백업"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "대역폭"
|
||||
@@ -182,7 +190,7 @@ msgstr "자세한 내용은 로그를 확인하세요."
|
||||
msgid "Check your notification service"
|
||||
msgstr "알림 서비스를 확인하세요."
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "클릭하여 복사"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "계속"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "클립보드에 복사됨"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "복사"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "복사"
|
||||
msgid "Copy host"
|
||||
msgstr "호스트 복사"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "리눅스 명령 복사"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "텍스트 복사"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU 사용량"
|
||||
@@ -265,29 +273,29 @@ msgstr "삭제"
|
||||
msgid "Disk"
|
||||
msgstr "디스크"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "디스크 I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "{extraFsName}의 디스크 사용량"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "도커 CPU 사용량"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "도커 메모리 사용량"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "도커 네트워크 I/O"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "이메일"
|
||||
msgid "Email notifications"
|
||||
msgstr "이메일 알림"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "비밀번호를 재설정하려면 이메일 주소를 입력하세요"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "테스트 알림 전송 실패"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "경고 업데이트 실패"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "필터..."
|
||||
@@ -374,7 +382,11 @@ msgstr "비밀번호를 잊으셨나요?"
|
||||
msgid "General"
|
||||
msgstr "일반"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "호스트 / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "잘못된 이메일 주소입니다."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "커널"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "밝은"
|
||||
msgid "Log Out"
|
||||
msgstr "로그아웃"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "로그인"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "디스플레이 및 알림 환경설정을 관리하세요."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "최대 1분"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "최대 1분"
|
||||
msgid "Memory"
|
||||
msgstr "메모리"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "메모리 사용량"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "도커 컨테이너의 메모리 사용량"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "이름"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "이름"
|
||||
msgid "Net"
|
||||
msgstr "네트"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "도커 컨테이너의 네트워크 트래픽"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "공용 인터페이스의 네트워크 트래픽"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "자세한 내용은 로그를 확인하세요."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "자격 증명을 확인하고 다시 시도하세요."
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "관리자 계정을 생성하세요."
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "다시 로그인하세요."
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "지침은 <0>문서</0>를 참조하세요."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "계정에 로그인하세요."
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "공개 키"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "읽기"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "수신됨"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "시스템 또는 설정 검색..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "경고를 받는 방법을 구성하려면 <0>알림 설정</0>을 참조하세요."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "보냄"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "SMTP 설정"
|
||||
msgid "Status"
|
||||
msgstr "상태"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "시스템에서 사용된 스왑 공간"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "스왑 사용량"
|
||||
|
||||
@@ -661,12 +678,12 @@ msgstr "시스템"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "시스템은 데이터 디렉토리 내의 <0>config.yml</0> 파일에서 관리할 수 있습니다."
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "온도"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "시스템 센서의 온도"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "그런 다음 백엔드에 로그인하여 사용자 테이블에서 사
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "{extraFsName}의 처리량"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "루트 파일 시스템의 처리량"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "루트 파일 시스템의 처리량"
|
||||
msgid "To email(s)"
|
||||
msgstr "이메일로"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "그리드 전환"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "CPU 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "메모리 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "메모리 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "상태가 상승과 하강 사이에서 전환될 때 트리거됩니다."
|
||||
@@ -747,18 +760,21 @@ msgstr "디스크 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "실시간으로 업데이트됩니다. 시스템을 클릭하여 정보를 확인하세요."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "가동 시간"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,7 +793,7 @@ msgstr "사용자 이름"
|
||||
msgid "Users"
|
||||
msgstr "사용자"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "표시할 충분한 기록을 기다리는 중"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "번역을 더 좋게 만드는 데 도움을 주시겠습니까? 자세
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / 푸시 알림"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "쓰기"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
824
beszel/site/src/locales/nl/nl.po
Normal file
824
beszel/site/src/locales/nl/nl.po
Normal file
@@ -0,0 +1,824 @@
|
||||
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: nl\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-08 17:29\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: nl\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 {# dagen}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# uur} other {# uren}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 uur"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 week"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 uren"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 uren"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dagen"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
msgid "Actions"
|
||||
msgstr "Acties"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
msgid "Active Alerts"
|
||||
msgstr "Actieve waarschuwingen"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Voeg <0>Systeem</0> toe"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
msgid "Add New System"
|
||||
msgstr "Nieuw systeem toevoegen"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Voeg systeem toe"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
msgstr "Voeg URL toe"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:81
|
||||
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
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Waarschuwingen"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
msgid "All Systems"
|
||||
msgstr "Alle systemen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Gemiddelde"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Gemiddeld CPU-gebruik van containers"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
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 ""
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Gemiddeld systeembrede CPU-gebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Back-ups"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bandbreedte"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel ondersteunt OpenID Connect en vele OAuth2 authenticatieaanbieders."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
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
|
||||
msgid "Binary"
|
||||
msgstr "Binair"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Cache / Buffers"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Opgelet - potentieel gegevensverlies"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Wijzig algemene applicatie opties."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Grafiekopties"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Controleer {email} op een reset link."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Controleer de logs voor meer details."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Controleer je meldingsservice"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
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"
|
||||
msgstr "Instructies voor de opdrachtregel"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
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
|
||||
msgid "Confirm password"
|
||||
msgstr "Bevestig wachtwoord"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "Continue"
|
||||
msgstr "Volgende"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Gekopieerd naar het klembord"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Kopieer"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
msgid "Copy host"
|
||||
msgstr "Kopieer host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopieer Linux-opdracht"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopieer tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
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 "Processorgebruik"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
msgid "Create account"
|
||||
msgstr "Account aanmaken"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Donker"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
msgid "Dashboard"
|
||||
msgstr "Dashboard"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Standaard tijdsduur"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
msgid "Delete"
|
||||
msgstr "Verwijderen"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
msgid "Disk"
|
||||
msgstr "Schijf"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Schijf I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Schijfgebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Schijfgebruik van {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU-gebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker geheugengebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker netwerk I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
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/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "E-mailnotificaties"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Voer een e-mailadres in om het wachtwoord opnieuw in te stellen"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Voer een e-mailadres in..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: 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
|
||||
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}}"
|
||||
|
||||
#: 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 "Bestaande systemen die niet gedefinieerd zijn in <0>config.yml</0> zullen worden verwijderd. Maak regelmatige backups."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Configuratie exporteren"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Exporteer je huidige systeemconfiguratie."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Authenticatie mislukt"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Instellingen opslaan mislukt"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Versturen test notificatie mislukt"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Bijwerken waarschuwing mislukt"
|
||||
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filter..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
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
|
||||
msgid "Forgot password?"
|
||||
msgstr "Wachtwoord vergeten?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Algemeen"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP-adres"
|
||||
|
||||
#: 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 "Als je het wachtwoord voor je beheerdersaccount bent kwijtgeraakt, kan je het opnieuw instellen met behulp van de volgende opdracht."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Ongeldig e-mailadres."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Taal"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Licht"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
msgid "Log Out"
|
||||
msgstr "Afmelden"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Aanmelden"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: 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
|
||||
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 "Zoek je waar je meldingen kunt aanmaken? Klik op de bel <0/> in de systeemtabel."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Weergave- en notificatievoorkeuren beheren."
|
||||
|
||||
#. 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:159
|
||||
msgid "Memory"
|
||||
msgstr "Geheugen"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Geheugengebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Geheugengebruik van docker containers"
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Naam"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Net"
|
||||
msgstr "Net"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Netwerkverkeer van docker containers"
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Netwerkverkeer van publieke interfaces"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
msgid "No results found."
|
||||
msgstr "Geen resultaten gevonden."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
msgid "No systems found."
|
||||
msgstr "Geen systemen gevonden."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: 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
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "OAuth 2 / OIDC ondersteuning"
|
||||
|
||||
#: 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 "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
|
||||
msgid "Open menu"
|
||||
msgstr "Open menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
msgid "Or continue with"
|
||||
msgstr "Of ga verder met"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Overschrijf bestaande waarschuwingen"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
msgid "Page"
|
||||
msgstr "Pagina"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Pagina's / Instellingen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
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."
|
||||
|
||||
#: 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
|
||||
msgid "Pause"
|
||||
msgstr "Pauze"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
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
|
||||
msgid "Please check logs for more details."
|
||||
msgstr "Controleer de logs voor meer details."
|
||||
|
||||
#: src/components/login/auth-form.tsx:43
|
||||
#: src/components/login/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Controleer je aanmeldgegevens en probeer het opnieuw"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Maak een beheerdersaccount aan"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Activeer pop-ups voor deze website"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Meld je opnieuw aan"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Bekijk <0>de documentatie</0> voor instructies."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Meld je aan bij je account"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Poort"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Nauwkeurig gebruik op de opgenomen tijd"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Voorkeurstaal"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Publieke sleutel"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Lezen"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Ontvangen"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Wachtwoord resetten"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
msgid "Resume"
|
||||
msgstr "Hervatten"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Bewaar het adres met de enter-toets of komma. Laat leeg om e-mailmeldingen uit te schakelen."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Instellingen opslaan"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
msgid "Search"
|
||||
msgstr "Zoeken"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Zoek naar systemen of instellingen..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Zie <0>notificatie-instellingen</0> om te configureren hoe je meldingen ontvangt."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Verzonden"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
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/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Instellingen opgeslagen"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
msgid "Sign in"
|
||||
msgstr "Aanmelden"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
msgid "SMTP settings"
|
||||
msgstr "SMTP-instellingen"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Swap ruimte gebruikt door het systeem"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
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
|
||||
msgid "System"
|
||||
msgstr "Systeem"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
msgid "Systems"
|
||||
msgstr "Systemen"
|
||||
|
||||
#: 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 "Systemen kunnen worden beheerd in een <0>config.yml</0> bestand in je data map."
|
||||
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatuur"
|
||||
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperatuur van systeem sensoren"
|
||||
|
||||
#: 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 "Testmelding verzonden"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
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
|
||||
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."
|
||||
|
||||
#: 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 vervolgens in op de backend en reset het wachtwoord van je gebruikersaccount in het gebruikersoverzicht."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:264
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Doorvoer van {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Doorvoer van het root bestandssysteem"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "Naar e-mail(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Schakel raster"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Schakel thema"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Triggert wanneer een sensor een drempelwaarde overschrijdt"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Triggert wanneer de gecombineerde up/down een drempelwaarde overschrijdt"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Triggert wanneer het CPU-gebruik een drempelwaarde overschrijdt"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Triggert wanneer het geheugengebruik een drempelwaarde overschrijdt"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Triggert wanneer de status schakelt tussen up en down"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
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
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "In realtime bijgewerkt. Klik op een systeem om informatie te bekijken."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Actief"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Gebruik"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Gebruik van root-partitie"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
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
|
||||
msgid "Users"
|
||||
msgstr "Gebruikers"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Wachtend op genoeg records om weer te geven"
|
||||
|
||||
#: 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 "Wil je ons helpen onze vertalingen nog beter te maken? Bekijk <0>Crowdin</0> voor meer informatie."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Pushmeldingen"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Schrijven"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "YAML Configuratie"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "YAML Configuratie"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Je gebruikersinstellingen zijn bijgewerkt."
|
||||
824
beszel/site/src/locales/pl/pl.po
Normal file
824
beszel/site/src/locales/pl/pl.po
Normal file
@@ -0,0 +1,824 @@
|
||||
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: pl\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-05 14:26\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"
|
||||
"X-Crowdin-Project: beszel\n"
|
||||
"X-Crowdin-Project-ID: 733311\n"
|
||||
"X-Crowdin-Language: pl\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 {# dzień} few {# dni} many {# dni} other {# dni}}"
|
||||
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {godzinę} few {# godziny} many {# godzin} other {# godziny}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
msgstr "1 godzina"
|
||||
|
||||
#: src/lib/utils.ts:162
|
||||
msgid "1 week"
|
||||
msgstr "1 tydzień"
|
||||
|
||||
#: src/lib/utils.ts:147
|
||||
msgid "12 hours"
|
||||
msgstr "12 godzin"
|
||||
|
||||
#: src/lib/utils.ts:155
|
||||
msgid "24 hours"
|
||||
msgstr "24 godziny"
|
||||
|
||||
#: src/lib/utils.ts:170
|
||||
msgid "30 days"
|
||||
msgstr "30 dni"
|
||||
|
||||
#. Table column
|
||||
#: src/components/systems-table/systems-table.tsx:207
|
||||
msgid "Actions"
|
||||
msgstr "Akcje"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
msgid "Active Alerts"
|
||||
msgstr "Aktywne alerty"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "Dodaj <0>system</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
msgid "Add New System"
|
||||
msgstr "Dodaj nowy system"
|
||||
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Dodaj system"
|
||||
|
||||
#: 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 "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
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
msgid "Agent"
|
||||
msgstr "Agent"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
msgid "Alerts"
|
||||
msgstr "Alerty"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
msgid "All Systems"
|
||||
msgstr "Wszystkie systemy"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Średnia"
|
||||
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Średnie wykorzystanie procesora przez kontenery"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:204
|
||||
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 ""
|
||||
|
||||
#: src/components/routes/system.tsx:385
|
||||
msgid "Average system-wide CPU utilization"
|
||||
msgstr "Średnie wykorzystanie procesora w całym systemie"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Kopie"
|
||||
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Przepustowość"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel obsługuje OpenID Connect i wielu dostawców uwierzytelniania OAuth2."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
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
|
||||
msgid "Binary"
|
||||
msgstr "Plik binarny"
|
||||
|
||||
#: src/components/charts/mem-chart.tsx:89
|
||||
msgid "Cache / Buffers"
|
||||
msgstr "Pamięć podręczna / Bufory"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:272
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "Uwaga- potencjalna utrata danych."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "Zmiana ogólnych ustawień aplikacji."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
msgstr "Opcje wykresu"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:34
|
||||
msgid "Check {email} for a reset link."
|
||||
msgstr "Sprawdź {email}, aby uzyskać link do resetowania."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:40
|
||||
msgid "Check logs for more details."
|
||||
msgstr "Sprawdź logi, aby uzyskać więcej informacji."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:183
|
||||
msgid "Check your notification service"
|
||||
msgstr "Sprawdź swój serwis powiadomień"
|
||||
|
||||
#: src/components/add-system.tsx:147
|
||||
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"
|
||||
msgstr "Instrukcje wiersza poleceń"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:77
|
||||
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
|
||||
msgid "Confirm password"
|
||||
msgstr "Potwierdź hasło"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:278
|
||||
msgid "Continue"
|
||||
msgstr "Kontynuuj"
|
||||
|
||||
#: src/lib/utils.ts:25
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Skopiowano do schowka"
|
||||
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Kopiuj"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
msgid "Copy host"
|
||||
msgstr "Kopiuj host"
|
||||
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Kopiuj polecenie Linux"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
msgstr "Kopiuj tekst"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:152
|
||||
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 "Użycie procesora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
msgid "Create account"
|
||||
msgstr "Utwórz konto"
|
||||
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "Ciemny"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
msgid "Dashboard"
|
||||
msgstr "Panel kontrolny"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:85
|
||||
msgid "Default time period"
|
||||
msgstr "Domyślny przedział czasu"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:253
|
||||
msgid "Delete"
|
||||
msgstr "Usuń"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:166
|
||||
msgid "Disk"
|
||||
msgstr "Dysk"
|
||||
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Dysk I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Użycie dysku"
|
||||
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Wykorzystanie dysku {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Wykorzystanie procesora przez Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Wykorzystanie pamięci przez Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Sieć Docker I/O"
|
||||
|
||||
#: src/components/command-palette.tsx:125
|
||||
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/forgot-pass-form.tsx:53
|
||||
msgid "Email"
|
||||
msgstr "E-mail"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:91
|
||||
msgid "Email notifications"
|
||||
msgstr "Powiadomienia e-mail"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Wprowadź adres e-mail, aby zresetować hasło"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:111
|
||||
msgid "Enter email address..."
|
||||
msgstr "Wprowadź adres e-mail..."
|
||||
|
||||
#: src/components/login/auth-form.tsx:256
|
||||
#: 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
|
||||
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}}"
|
||||
|
||||
#: 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 "Istniejące systemy, które nie są zdefiniowane w <0>config.yml</0>, zostaną usunięte. Proszę regularnie tworzyć kopie zapasowe."
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
msgstr "Eksportuj konfigurację"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:48
|
||||
msgid "Export your current systems configuration."
|
||||
msgstr "Eksportuj aktualną konfigurację systemów."
|
||||
|
||||
#: src/lib/utils.ts:38
|
||||
msgid "Failed to authenticate"
|
||||
msgstr "Błąd autoryzacji"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:39
|
||||
#: src/components/routes/settings/notifications.tsx:62
|
||||
msgid "Failed to save settings"
|
||||
msgstr "Nie udało się zapisać ustawień"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:188
|
||||
msgid "Failed to send test notification"
|
||||
msgstr "Nie udało się wysłać testowego powiadomienia"
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:27
|
||||
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
|
||||
msgid "Filter..."
|
||||
msgstr "Filtruj..."
|
||||
|
||||
#: src/components/alerts/alerts-system.tsx:225
|
||||
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
|
||||
msgid "Forgot password?"
|
||||
msgstr "Zapomniałeś hasła?"
|
||||
|
||||
#. Context: General settings
|
||||
#: src/components/routes/settings/general.tsx:33
|
||||
#: src/components/routes/settings/layout.tsx:51
|
||||
msgid "General"
|
||||
msgstr "Ogólne"
|
||||
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / adres 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 "Jeśli utraciłeś hasło do swojego konta administratora, możesz je zresetować, używając następującego polecenia."
|
||||
|
||||
#: src/components/login/auth-form.tsx:16
|
||||
msgid "Invalid email address."
|
||||
msgstr "Nieprawidłowy adres e-mail."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Jądro"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:45
|
||||
msgid "Language"
|
||||
msgstr "Język"
|
||||
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "Jasny"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
msgid "Log Out"
|
||||
msgstr "Wyloguj"
|
||||
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Logowanie"
|
||||
|
||||
#: src/components/login/auth-form.tsx:42
|
||||
#: 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
|
||||
msgid "Logs"
|
||||
msgstr "Logi"
|
||||
|
||||
#: 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 "Szukasz, gdzie utworzyć powiadomienia? Kliknij ikonę dzwonka <0/> w tabeli systemów."
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:85
|
||||
msgid "Manage display and notification preferences."
|
||||
msgstr "Zarządzaj preferencjami wyświetlania i powiadomień."
|
||||
|
||||
#. 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:159
|
||||
msgid "Memory"
|
||||
msgstr "Pamięć"
|
||||
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Wykorzystanie pamięci"
|
||||
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Użycie pamięci przez kontenery Docker."
|
||||
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Nazwa"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Net"
|
||||
msgstr "Sieć"
|
||||
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Ruch sieciowy kontenerów Docker."
|
||||
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Ruch sieciowy interfejsów publicznych"
|
||||
|
||||
#: src/components/command-palette.tsx:50
|
||||
msgid "No results found."
|
||||
msgstr "Brak wyników."
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:400
|
||||
msgid "No systems found."
|
||||
msgstr "Nie znaleziono systemów."
|
||||
|
||||
#: src/components/command-palette.tsx:111
|
||||
#: 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
|
||||
msgid "OAuth 2 / OIDC support"
|
||||
msgstr "Wsparcie 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 "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
|
||||
msgid "Open menu"
|
||||
msgstr "Otwórz menu"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
msgid "Or continue with"
|
||||
msgstr "Lub kontynuuj z"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
msgstr "Nadpisz istniejące alerty"
|
||||
|
||||
#: src/components/command-palette.tsx:85
|
||||
msgid "Page"
|
||||
msgstr "Strona"
|
||||
|
||||
#: src/components/command-palette.tsx:72
|
||||
msgid "Pages / Settings"
|
||||
msgstr "Strony / Ustawienia"
|
||||
|
||||
#: src/components/login/auth-form.tsx:171
|
||||
#: src/components/login/auth-form.tsx:176
|
||||
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."
|
||||
|
||||
#: 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
|
||||
msgid "Pause"
|
||||
msgstr "Pauza"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:95
|
||||
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
|
||||
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/forgot-pass-form.tsx:16
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Sprawdź swoje poświadczenia i spróbuj ponownie"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Utwórz konto administratora"
|
||||
|
||||
#: src/components/login/auth-form.tsx:257
|
||||
msgid "Please enable pop-ups for this site"
|
||||
msgstr "Włącz wyskakujące okna dla tej strony"
|
||||
|
||||
#: src/lib/utils.ts:39
|
||||
msgid "Please log in again"
|
||||
msgstr "Zaloguj się ponownie"
|
||||
|
||||
#: src/components/login/auth-form.tsx:316
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Proszę zapoznać się z <0>dokumentacją</0>."
|
||||
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Zaloguj się na swoje konto"
|
||||
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Dokładne wykorzystanie w zarejestrowanym czasie"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Preferowany język"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Klucz publiczny"
|
||||
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Czytaj"
|
||||
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Otrzymane"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:76
|
||||
msgid "Reset Password"
|
||||
msgstr "Resetuj hasło"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:236
|
||||
msgid "Resume"
|
||||
msgstr "Wznów"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:117
|
||||
msgid "Save address using enter key or comma. Leave blank to disable email notifications."
|
||||
msgstr "Zapisz adres, używając klawisza enter lub przecinka. Pozostaw puste, aby wyłączyć powiadomienia e-mail."
|
||||
|
||||
#: src/components/routes/settings/general.tsx:106
|
||||
#: src/components/routes/settings/notifications.tsx:167
|
||||
msgid "Save Settings"
|
||||
msgstr "Zapisz ustawienia"
|
||||
|
||||
#: src/components/navbar.tsx:142
|
||||
msgid "Search"
|
||||
msgstr "Szukaj"
|
||||
|
||||
#: src/components/command-palette.tsx:47
|
||||
msgid "Search for systems or settings..."
|
||||
msgstr "Szukaj systemów lub ustawień..."
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:71
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Zobacz <0>ustawienia powiadomień</0>, aby skonfigurować sposób, w jaki otrzymujesz powiadomienia."
|
||||
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Wysłane"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:100
|
||||
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/routes/settings/layout.tsx:71
|
||||
#: src/components/routes/settings/layout.tsx:82
|
||||
msgid "Settings"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:33
|
||||
msgid "Settings saved"
|
||||
msgstr "Ustawienia zapisane"
|
||||
|
||||
#: src/components/login/auth-form.tsx:215
|
||||
msgid "Sign in"
|
||||
msgstr "Zaloguj się"
|
||||
|
||||
#: src/components/command-palette.tsx:201
|
||||
msgid "SMTP settings"
|
||||
msgstr "Ustawienia SMTP"
|
||||
|
||||
#: src/lib/utils.ts:282
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Pamięć wymiany używana przez system"
|
||||
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
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
|
||||
msgid "System"
|
||||
msgstr "System"
|
||||
|
||||
#: src/components/navbar.tsx:78
|
||||
msgid "Systems"
|
||||
msgstr "Systemy"
|
||||
|
||||
#: 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 "Systemy mogą być zarządzane w pliku <0>config.yml</0> znajdującym się w Twoim katalogu danych."
|
||||
|
||||
#: 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 "Temperatury czujników systemowych."
|
||||
|
||||
#: 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 "Testowe powiadomienie wysłane."
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
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
|
||||
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."
|
||||
|
||||
#: 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 "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
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Przepustowość {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Przepustowość głównego systemu plików"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:106
|
||||
msgid "To email(s)"
|
||||
msgstr "Do e-mail(ów)"
|
||||
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Przełącz siatkę"
|
||||
|
||||
#: src/components/mode-toggle.tsx:33
|
||||
msgid "Toggle theme"
|
||||
msgstr "Zmień motyw"
|
||||
|
||||
#: src/lib/utils.ts:317
|
||||
msgid "Triggers when any sensor exceeds a threshold"
|
||||
msgstr "Wyzwalane, gdy jakikolwiek czujnik przekroczy ustalony próg."
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Wyzwalane, gdy łączna wartość w górę/w dół przekroczy próg"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
msgstr "Wyzwalane, gdy użycie procesora przekracza próg"
|
||||
|
||||
#: src/lib/utils.ts:298
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Wyzwalane, wykorzystanie pamięci przekroczy ustalony próg."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Wyzwalane, gdy status przełącza się między stanem aktywnym a nieaktywnym"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
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
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Aktualizowane w czasie rzeczywistym. Kliknij system, aby zobaczyć informacje."
|
||||
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Czas pracy"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Wykorzystanie"
|
||||
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Użycie partycji głównej"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
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
|
||||
msgid "Users"
|
||||
msgstr "Użytkownicy"
|
||||
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Oczekiwanie na wystarczającą liczbę rekordów do wyświetlenia"
|
||||
|
||||
#: 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 "Chcesz pomóc nam uczynić nasze tłumaczenia jeszcze lepszymi? Sprawdź <0>Crowdin</0> po więcej szczegółów."
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:124
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Powiadomienia push"
|
||||
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Napisz"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:61
|
||||
msgid "YAML Config"
|
||||
msgstr "Konf. YAML"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:45
|
||||
msgid "YAML Configuration"
|
||||
msgstr "Konfiguracja YAML"
|
||||
|
||||
#: src/components/routes/settings/layout.tsx:34
|
||||
msgid "Your user settings have been updated."
|
||||
msgstr "Twoje ustawienia użytkownika zostały zaktualizowane."
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: pt\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# dia} other {# dias}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# hora} other {# horas}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "Adicionar <0>Sistema</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Adicionar Novo Sistema"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Adicionar sistema"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Provedores de Autenticação"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "A cópia automática requer um contexto seguro."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Média"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Utilização média de CPU dos contêineres"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Utilização média de CPU dos contêineres"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "A média excede <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Utilização média de CPU em todo o sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Backups"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Largura de Banda"
|
||||
@@ -182,7 +190,7 @@ 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:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Clique para copiar"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Continuar"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Copiado para a área de transferência"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Copiar"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Copiar"
|
||||
msgid "Copy host"
|
||||
msgstr "Copiar host"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Copiar comando Linux"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Copiar texto"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Uso de CPU"
|
||||
@@ -265,29 +273,29 @@ msgstr "Excluir"
|
||||
msgid "Disk"
|
||||
msgstr "Disco"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "E/S de Disco"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Uso de Disco"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Uso de disco de {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Uso de CPU do Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Uso de Memória do Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "E/S de Rede do Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "Email"
|
||||
msgid "Email notifications"
|
||||
msgstr "Notificações por email"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Digite o endereço de email para redefinir a senha"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Falha ao enviar notificação de teste"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Falha ao atualizar alerta"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrar..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Esqueceu a senha?"
|
||||
msgid "General"
|
||||
msgstr "Geral"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Endereço de email inválido."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Kernel"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Claro"
|
||||
msgid "Log Out"
|
||||
msgstr "Sair"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Entrar"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Gerenciar preferências de exibição e notificação."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Máx 1 min"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Máx 1 min"
|
||||
msgid "Memory"
|
||||
msgstr "Memória"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Uso de Memória"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Uso de memória dos contêineres Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Nome"
|
||||
msgid "Net"
|
||||
msgstr "Rede"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Tráfego de rede dos contêineres Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Tráfego de rede das interfaces públicas"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Por favor, verifique os logs para mais detalhes."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Por favor, verifique suas credenciais e tente novamente"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Por favor, crie uma conta de administrador"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Por favor, faça login novamente"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Por favor, veja <0>a documentação</0> para instruções."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Por favor, entre na sua conta"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Porta"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Utilização precisa no momento registrado"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Idioma Preferido"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Chave Pública"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Ler"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Recebido"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Pesquisar por sistemas ou configurações..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Veja <0>configurações de notificação</0> para configurar como você recebe alertas."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Enviado"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "Configurações SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Espaço de swap usado pelo sistema"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Uso de Swap"
|
||||
|
||||
@@ -661,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Temperatura"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Temperaturas dos sensores do sistema"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Em seguida, faça login no backend e redefina a senha da sua conta de us
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Taxa de transferência de {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Taxa de transferência do sistema de arquivos raiz"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Taxa de transferência do sistema de arquivos raiz"
|
||||
msgid "To email(s)"
|
||||
msgstr "Para email(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Alternar grade"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "Dispara quando o uso de CPU excede um limite"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Dispara quando o uso de memória excede um limite"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Dispara quando o uso de memória excede um limite."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Dispara quando o status alterna entre ativo e inativo"
|
||||
@@ -747,18 +760,21 @@ msgstr "Dispara quando o uso de qualquer disco excede um limite"
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Tempo de Atividade"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Uso"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Uso da partição raiz"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -777,7 +793,7 @@ msgstr "Nome de usuário"
|
||||
msgid "Users"
|
||||
msgstr "Usuários"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Aguardando registros suficientes para exibir"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Quer nos ajudar a melhorar ainda mais nossas traduções? Confira <0>Cro
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Notificações Webhook / Push"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Escrever"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: ru\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\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"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# день} other {# дней}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# час} other {# часов}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "Добавить <0>Систему</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Добавить новую систему"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Добавить систему"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Поставщики аутентификации"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Автоматическое копирование требует безопасного контекста."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Среднее"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Среднее использование CPU контейнерами"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Среднее использование CPU контейнерами"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Среднее превышает <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Резервные копии"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Пропускная способность"
|
||||
@@ -182,7 +190,7 @@ msgstr "Проверьте журналы для получения более
|
||||
msgid "Check your notification service"
|
||||
msgstr "Проверьте ваш сервис уведомлений"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Нажмите, чтобы скопировать"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Продолжить"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Скопировано в буфер обмена"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Копировать"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Копировать"
|
||||
msgid "Copy host"
|
||||
msgstr "Копировать хост"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Копировать команду Linux"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Копировать текст"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Использование CPU"
|
||||
@@ -265,29 +273,29 @@ msgstr "Удалить"
|
||||
msgid "Disk"
|
||||
msgstr "Диск"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Дисковый ввод/вывод"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Использование диска {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Использование CPU Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Использование памяти Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Сетевой ввод/вывод Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "Электронная почта"
|
||||
msgid "Email notifications"
|
||||
msgstr "Уведомления по электронной почте"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Введите адрес электронной почты для сброса пароля"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Не удалось отправить тестовое уведомле
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Не удалось обновить оповещение"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Фильтр..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Забыли пароль?"
|
||||
msgid "General"
|
||||
msgstr "Общие"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Хост / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Неверный адрес электронной почты."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Ядро"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Светлая"
|
||||
msgid "Log Out"
|
||||
msgstr "Выйти"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Вход"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Управляйте предпочтениями отображения и уведомлений."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Макс 1 мин"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Макс 1 мин"
|
||||
msgid "Memory"
|
||||
msgstr "Память"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Использование памяти"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Использование памяти контейнерами Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Имя"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Имя"
|
||||
msgid "Net"
|
||||
msgstr "Сеть"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Сетевой трафик контейнеров Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Сетевой трафик публичных интерфейсов"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Пожалуйста, проверьте журналы для полу
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Пожалуйста, проверьте свои учетные данные и попробуйте снова"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Пожалуйста, создайте учетную запись администратора"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Пожалуйста, войдите снова"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Пожалуйста, смотрите <0>документацию</0> для получения инструкций."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Пожалуйста, войдите в свою учетную запись"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Ключ"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Чтение"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Получено"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Поиск систем или настроек..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Смотрите <0>настройки уведомлений</0>, чтобы настроить, как вы получаете оповещения."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Отправлено"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "Настройки SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Статус"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Используемое системой пространство подкачки"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Использование подкачки"
|
||||
|
||||
@@ -661,12 +678,12 @@ msgstr "Системы"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Системы могут управляться в файле <0>config.yml</0> внутри вашего каталога данных."
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Температура"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Температуры датчиков системы"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Затем войдите в бэкенд и сбросьте парол
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Пропускная способность {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Пропускная способность корневой файловой системы"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Пропускная способность корневой файло
|
||||
msgid "To email(s)"
|
||||
msgstr "На электронную почту"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Переключить сетку"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "Срабатывает, когда использование CPU пре
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Срабатывает, когда использование памяти превышает порог"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Срабатывает, когда использование памяти превышает порог."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Срабатывает, когда статус переключается между включено и выключено"
|
||||
@@ -747,18 +760,21 @@ msgstr "Срабатывает, когда использование любог
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Обновляется в реальном времени. Нажмите на систему, чтобы просмотреть информацию."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Время работы"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,7 +793,7 @@ msgstr "Имя пользователя"
|
||||
msgid "Users"
|
||||
msgstr "Пользователи"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Ожидание достаточного количества записей для отображения"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Хотите помочь нам улучшить наши перево
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push уведомления"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Запись"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: tr\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# gün} other {# gün}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# saat} other {# saat}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "<0>Sistem</0> Ekle"
|
||||
msgid "Add New System"
|
||||
msgstr "Yeni Sistem Ekle"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Sistem ekle"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Kimlik Sağlayıcılar"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Otomatik kopyalama güvenli bir bağlam gerektirir."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Ortalama"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Konteynerlerin ortalama CPU kullanımı"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Konteynerlerin ortalama CPU kullanımı"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Ortalama <0>{value}{0}</0> aşıyor"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Sistem genelinde ortalama CPU kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Yedekler"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Bant Genişliği"
|
||||
@@ -182,7 +190,7 @@ 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:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Kopyalamak için tıklayın"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Devam et"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Panoya kopyalandı"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Kopyala"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Kopyala"
|
||||
msgid "Copy host"
|
||||
msgstr "Ana bilgisayarı kopyala"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Linux komutunu kopyala"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Metni kopyala"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU Kullanımı"
|
||||
@@ -265,29 +273,29 @@ msgstr "Sil"
|
||||
msgid "Disk"
|
||||
msgstr "Disk"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Disk G/Ç"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Disk Kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "{extraFsName} disk kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU Kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker Bellek Kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker Ağ G/Ç"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "E-posta"
|
||||
msgid "Email notifications"
|
||||
msgstr "E-posta bildirimleri"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Şifreyi sıfırlamak için e-posta adresini girin"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Test bildirimi gönderilemedi"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Uyarı güncellenemedi"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Filtrele..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Şifrenizi mi unuttunuz?"
|
||||
msgid "General"
|
||||
msgstr "Genel"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Host / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Geçersiz e-posta adresi."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Çekirdek"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Açık"
|
||||
msgid "Log Out"
|
||||
msgstr "Çıkış Yap"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Giriş Yap"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Görüntüleme ve bildirim tercihlerini yönetin."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Maks 1 dk"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Maks 1 dk"
|
||||
msgid "Memory"
|
||||
msgstr "Bellek"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Bellek Kullanımı"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Docker konteynerlerinin bellek kullanımı"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Ad"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Ad"
|
||||
msgid "Net"
|
||||
msgstr "Ağ"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Docker konteynerlerinin ağ trafiği"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Genel arayüzlerin ağ trafiği"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Daha fazla ayrıntı için lütfen günlükleri kontrol edin."
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Lütfen kimlik bilgilerinizi kontrol edin ve tekrar deneyin"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Lütfen bir yönetici hesabı oluşturun"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Lütfen tekrar giriş yapın"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Talimatlar için lütfen <0>dokümantasyonu</0> inceleyin."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Lütfen hesabınıza giriş yapın"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Port"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Kayıtlı zamanda kesin kullanım"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Tercih Edilen Dil"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Genel Anahtar"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Oku"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Alındı"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Sistemler veya ayarlar için ara..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Uyarıları nasıl alacağınızı yapılandırmak için <0>bildirim ayarlarını</0> inceleyin."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Gönderildi"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "SMTP ayarları"
|
||||
msgid "Status"
|
||||
msgstr "Durum"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Sistem tarafından kullanılan takas alanı"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Takas Kullanımı"
|
||||
|
||||
@@ -661,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Sıcaklık"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Sistem sensörlerinin sıcaklıkları"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Ardından arka uca giriş yapın ve kullanıcılar tablosunda kullanıc
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "{extraFsName} verimliliği"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Kök dosya sisteminin verimliliği"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Kök dosya sisteminin verimliliği"
|
||||
msgid "To email(s)"
|
||||
msgstr "E-posta(lar)a"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Izgarayı değiştir"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "CPU kullanımı bir eşiği aştığında tetiklenir"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Bellek kullanımı bir eşiği aştığında tetiklenir"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Bellek kullanımı bir eşiği aştığında tetiklenir."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Durum yukarı ve aşağı arasında değiştiğinde tetiklenir"
|
||||
@@ -747,18 +760,21 @@ msgstr "Herhangi bir diskin kullanımı bir eşiği aştığında tetiklenir"
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Çalışma Süresi"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Kullanım"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Kök bölümün kullanımı"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -777,7 +793,7 @@ msgstr "Kullanıcı Adı"
|
||||
msgid "Users"
|
||||
msgstr "Kullanıcılar"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Görüntülemek için yeterli kayıt bekleniyor"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Çevirilerimizi daha iyi hale getirmemize yardımcı olmak ister misiniz
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Anlık bildirimler"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Yaz"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: uk\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:46\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"
|
||||
@@ -18,13 +18,13 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# день} other {# днів}}"
|
||||
msgstr "{0, plural, one {# день} few {# дні} many {# днів} other {# дня}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# година} other {# годин}}"
|
||||
msgstr "{hours, plural, one {# година} few {# години} many {# годин} other {# години}}"
|
||||
|
||||
#: src/lib/utils.ts:139
|
||||
msgid "1 hour"
|
||||
@@ -63,8 +63,8 @@ msgstr "Додати <0>Систему</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Додати нову систему"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Додати систему"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Постачальники автентифікації"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "Автоматичне копіювання вимагає безпечного контексту."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Середнє"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Середнє використання CPU контейнерами"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Середнє використання CPU контейнерами"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Середнє перевищує <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Резервні копії"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Пропускна здатність"
|
||||
@@ -182,7 +190,7 @@ msgstr "Перевірте журнали для отримання додатк
|
||||
msgid "Check your notification service"
|
||||
msgstr "Перевірте свій сервіс сповіщень"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Натисніть, щоб скопіювати"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Продовжити"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Скопійовано в буфер обміну"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Копіювати"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Копіювати"
|
||||
msgid "Copy host"
|
||||
msgstr "Копіювати хост"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Копіювати команду Linux"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Копіювати текст"
|
||||
msgid "CPU"
|
||||
msgstr "ЦП"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Використання ЦП"
|
||||
@@ -265,29 +273,29 @@ msgstr "Видалити"
|
||||
msgid "Disk"
|
||||
msgstr "Диск"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Дисковий ввід/вивід"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Використання диска {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Використання ЦП Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Використання пам'яті Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Мережевий ввід/вивід Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "Електронна пошта"
|
||||
msgid "Email notifications"
|
||||
msgstr "Сповіщення електронною поштою"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Введіть адресу електронної пошти для скидання пароля"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Не вдалося надіслати тестове сповіщенн
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Не вдалося оновити сповіщення"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Фільтр..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Забули пароль?"
|
||||
msgid "General"
|
||||
msgstr "Загальні"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Хост / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Неправильна адреса електронної пошти."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Ядро"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Світлий"
|
||||
msgid "Log Out"
|
||||
msgstr "Вийти"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Увійти"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Керуйте параметрами відображення та сповіщень."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Макс 1 хв"
|
||||
|
||||
@@ -435,28 +447,28 @@ msgstr "Макс 1 хв"
|
||||
msgid "Memory"
|
||||
msgstr "Пам'ять"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Використання пам'яті"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Використання пам'яті контейнерами Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Ім'я"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:173
|
||||
msgid "Net"
|
||||
msgstr "Мереж"
|
||||
msgstr "Мережа"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Мережевий трафік контейнерів Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Мережевий трафік публічних інтерфейсів"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Будь ласка, перевірте журнали для отрим
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "Будь ласка, перевірте свої облікові дані та спробуйте ще раз"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Будь ласка, створіть адміністративний обліковий запис"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Будь ласка, увійдіть знову"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "Будь ласка, перегляньте <0>документацію</0> для отримання інструкцій."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "Будь ласка, увійдіть у свій обліковий запис"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Ключ"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Читання"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Отримано"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Шукати системи або налаштування..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Перегляньте <0>налаштування сповіщень</0>, щоб налаштувати, як ви отримуєте сповіщення."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Відправлено"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "Налаштування SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Статус"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Область підкачки, використана системою"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Використання підкачки"
|
||||
|
||||
@@ -661,12 +678,12 @@ msgstr "Системи"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "Системи можуть керуватися у файлі <0>config.yml</0> у вашій директорії даних."
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Температура"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Температури датчиків системи"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Потім увійдіть у бекенд і скиньте парол
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Пропускна здатність {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Пропускна здатність кореневої файлової системи"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Пропускна здатність кореневої файлово
|
||||
msgid "To email(s)"
|
||||
msgstr "На електронну пошту"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Перемкнути сітку"
|
||||
|
||||
@@ -721,7 +738,7 @@ msgstr "Спрацьовує, коли будь-який датчик перев
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "Спрацьовує, коли комбіноване підняття/опускання перевищує поріг"
|
||||
msgstr "Спрацьовує, коли комбіноване підняття/падіння перевищує поріг"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
@@ -731,13 +748,9 @@ msgstr "Спрацьовує, коли використання ЦП перев
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Спрацьовує, коли використання пам'яті перевищує поріг"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Спрацьовує, коли використання пам'яті перевищує поріг."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Спрацьовує, коли статус переключається між підняттям і опусканням"
|
||||
msgstr "Спрацьовує, коли статус перемикається між підняттям і падінням"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
@@ -747,18 +760,21 @@ msgstr "Спрацьовує, коли використання будь-яко
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "Оновлюється в реальному часі. Натисніть на систему, щоб переглянути інформацію."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Час роботи"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,7 +793,7 @@ msgstr "Ім'я користувача"
|
||||
msgid "Users"
|
||||
msgstr "Користувачі"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Очікування достатньої кількості записів для відображення"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Хочете допомогти нам зробити наші пере
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / Push сповіщення"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Запис"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: vi\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:47\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# ngày} other {# ngày}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# giờ} other {# giờ}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "Thêm <0>Hệ thống</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "Thêm Hệ thống Mới"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "Thêm hệ thống"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "Nhà cung cấp Xác thực"
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "Trung bình"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "Sử dụng CPU trung bình của các container"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "Sử dụng CPU trung bình của các container"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "Trung bình vượt quá <0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 "Sử dụng CPU trung bình toàn hệ thống"
|
||||
|
||||
#: src/components/routes/system.tsx:515
|
||||
msgid "Average utilization of {0}"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "Sao lưu"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "Băng thông"
|
||||
@@ -182,7 +190,7 @@ 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:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "Nhấp để sao chép"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "Tiếp tục"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "Đã sao chép vào clipboard"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "Sao chép"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "Sao chép"
|
||||
msgid "Copy host"
|
||||
msgstr "Sao chép máy chủ"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "Sao chép lệnh Linux"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "Sao chép văn bản"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "Sử dụng CPU"
|
||||
@@ -265,29 +273,29 @@ msgstr "Xóa"
|
||||
msgid "Disk"
|
||||
msgstr "Đĩa"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "Đĩa I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/charts/disk-chart.tsx:79
|
||||
#: src/components/routes/system.tsx:424
|
||||
#: src/lib/utils.ts:301
|
||||
msgid "Disk Usage"
|
||||
msgstr "Sử dụng Đĩa"
|
||||
|
||||
#: src/components/routes/system.tsx:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "Sử dụng đĩa của {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Sử dụng CPU Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Sử dụng Bộ nhớ Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Mạng I/O Docker"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "Email"
|
||||
msgid "Email notifications"
|
||||
msgstr "Thông báo email"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "Nhập địa chỉ email để đặt lại mật khẩu"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "Gửi thông báo thử nghiệm thất bại"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "Cập nhật cảnh báo thất bại"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "Lọc..."
|
||||
@@ -374,7 +382,11 @@ msgstr "Quên mật khẩu?"
|
||||
msgid "General"
|
||||
msgstr "Chung"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "Máy chủ / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "Địa chỉ email không hợp lệ."
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "Nhân"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "Sáng"
|
||||
msgid "Log Out"
|
||||
msgstr "Đăng xuất"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "Đăng nhập"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "Quản lý tùy chọn hiển thị và thông báo."
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "Tối đa 1 phút"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "Tối đa 1 phút"
|
||||
msgid "Memory"
|
||||
msgstr "Bộ nhớ"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "Sử dụng Bộ nhớ"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Sử dụng bộ nhớ của các container Docker"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "Tên"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "Tên"
|
||||
msgid "Net"
|
||||
msgstr "Mạng"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Lưu lượng mạng của các container Docker"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "Lưu lượng mạng của các giao diện công cộng"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "Vui lòng kiểm tra nhật ký để biết thêm chi tiết."
|
||||
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"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "Vui lòng tạo một tài khoản quản trị viên"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "Vui lòng đăng nhập lại"
|
||||
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."
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
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:125
|
||||
#: src/components/add-system.tsx:120
|
||||
msgid "Port"
|
||||
msgstr "Cổng"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:523
|
||||
msgid "Precise utilization at the recorded time"
|
||||
msgstr "Sử dụng chính xác tại thời điểm ghi nhận"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:58
|
||||
msgid "Preferred Language"
|
||||
msgstr "Ngôn ngữ Ưa thích"
|
||||
|
||||
#. Use 'Key' if your language requires many more characters
|
||||
#: src/components/add-system.tsx:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "Khóa"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "Đọc"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "Đã nhận"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "Tìm kiếm hệ thống hoặc cài đặt..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "Xem <0>cài đặt thông báo</0> để cấu hình cách bạn nhận cảnh báo."
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "Đã gửi"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "Cài đặt SMTP"
|
||||
msgid "Status"
|
||||
msgstr "Trạng thái"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "Không gian hoán đổi được sử dụng bởi hệ thống"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "Sử dụng Hoán đổi"
|
||||
|
||||
@@ -661,12 +678,12 @@ 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/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "Nhiệt độ"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "Nhiệt độ của các cảm biến hệ thống"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "Sau đó đăng nhập vào backend và đặt lại mật khẩu tài k
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "Thông lượng của {extraFsName}"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "Thông lượng của hệ thống tệp gốc"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "Thông lượng của hệ thống tệp gốc"
|
||||
msgid "To email(s)"
|
||||
msgstr "Đến email(s)"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "Chuyển đổi lưới"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "Kích hoạt khi sử dụng CPU vượt quá ngưỡng"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "Kích hoạt khi sử dụng bộ nhớ vượt quá ngưỡng"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "Kích hoạt khi sử dụng bộ nhớ vượt quá ngưỡng."
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "Kích hoạt khi trạng thái chuyển đổi giữa lên và xuống"
|
||||
@@ -747,18 +760,21 @@ msgstr "Kích hoạt khi sử dụng bất kỳ đĩa nào vượt quá ngưỡn
|
||||
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."
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "Thời gian hoạt động"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/routes/system.tsx:514
|
||||
#: src/components/routes/system.tsx:551
|
||||
msgid "Usage"
|
||||
msgstr "Sử dụng"
|
||||
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: src/components/routes/system.tsx:424
|
||||
msgid "Usage of root partition"
|
||||
msgstr "Sử dụng phân vùng gốc"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:73
|
||||
#: src/components/charts/mem-chart.tsx:65
|
||||
#: src/components/charts/swap-chart.tsx:56
|
||||
msgid "Used"
|
||||
@@ -777,7 +793,7 @@ msgstr "Tên người dùng"
|
||||
msgid "Users"
|
||||
msgstr "Người dùng"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "Đang chờ đủ bản ghi để hiển thị"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "Muốn giúp chúng tôi cải thiện bản dịch của mình? Xem <0>
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Thông báo Webhook / Push"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "Ghi"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-09 16:57\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# 天} other {# 天}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# 小时} other {# 小时}}"
|
||||
|
||||
@@ -53,20 +53,20 @@ msgstr "操作"
|
||||
|
||||
#: src/components/routes/home.tsx:62
|
||||
msgid "Active Alerts"
|
||||
msgstr "活动警报"
|
||||
msgstr "启用的警报"
|
||||
|
||||
#: src/components/add-system.tsx:74
|
||||
msgid "Add <0>System</0>"
|
||||
msgstr "添加<0>系统</0>"
|
||||
msgstr "添加<0>客户端</0>"
|
||||
|
||||
#: src/components/add-system.tsx:83
|
||||
msgid "Add New System"
|
||||
msgstr "添加新系统"
|
||||
msgstr "添加新客户端"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "添加系统"
|
||||
msgstr "添加客户端"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:156
|
||||
msgid "Add URL"
|
||||
@@ -87,7 +87,7 @@ msgstr "管理员"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:186
|
||||
msgid "Agent"
|
||||
msgstr "代理"
|
||||
msgstr "客户端"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:32
|
||||
#: src/components/alerts/alert-button.tsx:68
|
||||
@@ -97,7 +97,7 @@ msgstr "警报"
|
||||
#: src/components/alerts/alert-button.tsx:88
|
||||
#: src/components/systems-table/systems-table.tsx:317
|
||||
msgid "All Systems"
|
||||
msgstr "所有系统"
|
||||
msgstr "所有客户端"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:261
|
||||
msgid "Are you sure you want to delete {name}?"
|
||||
@@ -106,17 +106,17 @@ msgstr "您确定要删除{name}吗?"
|
||||
#: src/components/command-palette.tsx:186
|
||||
#: src/components/navbar.tsx:102
|
||||
msgid "Auth Providers"
|
||||
msgstr "认证提供者"
|
||||
msgstr "第三方认证供应商"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:16
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "自动复制需要安全的上下文。"
|
||||
msgstr "自动复制所需的安全上下文。"
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "平均"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "容器的平均CPU使用率"
|
||||
|
||||
@@ -124,27 +124,35 @@ msgstr "容器的平均CPU使用率"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "平均值超过<0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "备份"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "带宽"
|
||||
|
||||
#: src/components/login/auth-form.tsx:313
|
||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||
msgstr "Beszel支持OpenID Connect和许多OAuth2认证提供者。"
|
||||
msgstr "Beszel支持OpenID Connect和其他OAuth2认证方式。"
|
||||
|
||||
#: src/components/routes/settings/notifications.tsx:127
|
||||
msgid "Beszel uses <0>Shoutrrr</0> to integrate with popular notification services."
|
||||
msgstr "Beszel使用<0>Shoutrrr</0>与流行的通知服务集成。"
|
||||
msgstr "Beszel使用<0>Shoutrrr</0>以实现与常见的通知服务集成。"
|
||||
|
||||
#: src/components/add-system.tsx:88
|
||||
msgid "Binary"
|
||||
@@ -160,11 +168,11 @@ msgstr "取消"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:68
|
||||
msgid "Caution - potential data loss"
|
||||
msgstr "注意 - 可能的数据丢失"
|
||||
msgstr "注意 - 数据可能已经丢失"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:36
|
||||
msgid "Change general application options."
|
||||
msgstr "更改一般应用程序选项。"
|
||||
msgstr "更改常规应用程序选项。"
|
||||
|
||||
#: src/components/routes/settings/general.tsx:78
|
||||
msgid "Chart options"
|
||||
@@ -182,14 +190,14 @@ msgstr "检查日志以获取更多详细信息。"
|
||||
msgid "Check your notification service"
|
||||
msgstr "检查您的通知服务"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "点击复制"
|
||||
|
||||
#. Context: table columns
|
||||
#: src/components/systems-table/systems-table.tsx:328
|
||||
msgid "Columns"
|
||||
msgstr "列"
|
||||
msgstr "过滤列"
|
||||
|
||||
#: src/components/login/forgot-pass-form.tsx:83
|
||||
#: src/components/login/forgot-pass-form.tsx:89
|
||||
@@ -213,17 +221,17 @@ msgstr "继续"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "已复制到剪贴板"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "复制"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:247
|
||||
msgid "Copy host"
|
||||
msgstr "复制主机"
|
||||
msgstr "复制主机名"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "复制Linux命令"
|
||||
msgstr "复制Linux安装命令"
|
||||
|
||||
#: src/components/copy-to-clipboard.tsx:13
|
||||
msgid "Copy text"
|
||||
@@ -233,8 +241,8 @@ msgstr "复制文本"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU使用率"
|
||||
@@ -246,7 +254,7 @@ msgstr "创建账户"
|
||||
#. Dark theme
|
||||
#: src/components/mode-toggle.tsx:21
|
||||
msgid "Dark"
|
||||
msgstr "深色"
|
||||
msgstr "深色模式"
|
||||
|
||||
#: src/components/command-palette.tsx:82
|
||||
#: src/components/routes/home.tsx:35
|
||||
@@ -265,29 +273,29 @@ msgstr "删除"
|
||||
msgid "Disk"
|
||||
msgstr "磁盘"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "磁盘I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "{extraFsName}的磁盘使用"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU使用"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker内存使用"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker网络I/O"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "电子邮件"
|
||||
msgid "Email notifications"
|
||||
msgstr "电子邮件通知"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "输入电子邮件地址以重置密码"
|
||||
|
||||
@@ -328,7 +336,7 @@ 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>中定义的现有系统将被删除。请定期备份。"
|
||||
msgstr "未在<0>config.yml</0>中定义的客户端将被删除。请定期备份。"
|
||||
|
||||
#: src/components/routes/settings/config-yaml.tsx:93
|
||||
msgid "Export configuration"
|
||||
@@ -355,7 +363,7 @@ msgstr "发送测试通知失败"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "更新警报失败"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "过滤..."
|
||||
@@ -374,7 +382,11 @@ msgstr "忘记密码?"
|
||||
msgid "General"
|
||||
msgstr "常规"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "主机/IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "无效的电子邮件地址。"
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "内核"
|
||||
|
||||
@@ -398,13 +410,13 @@ msgstr "语言"
|
||||
#. Light theme
|
||||
#: src/components/mode-toggle.tsx:16
|
||||
msgid "Light"
|
||||
msgstr "浅色"
|
||||
msgstr "浅色模式"
|
||||
|
||||
#: src/components/navbar.tsx:113
|
||||
msgid "Log Out"
|
||||
msgstr "登出"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "登录"
|
||||
|
||||
@@ -427,24 +439,24 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "管理显示和通知偏好。"
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "最大1分钟"
|
||||
msgstr "1分钟内最大值"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:159
|
||||
msgid "Memory"
|
||||
msgstr "内存"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "内存使用"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Docker容器的内存使用"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "名称"
|
||||
msgid "Net"
|
||||
msgstr "网络"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Docker容器的网络流量"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "公共接口的网络流量"
|
||||
|
||||
@@ -488,7 +500,7 @@ msgstr "打开菜单"
|
||||
|
||||
#: src/components/login/auth-form.tsx:227
|
||||
msgid "Or continue with"
|
||||
msgstr "或继续使用"
|
||||
msgstr "或使用以下方式登录"
|
||||
|
||||
#: src/components/alerts/alert-button.tsx:109
|
||||
msgid "Overwrite existing alerts"
|
||||
@@ -532,7 +544,7 @@ msgstr "请检查日志以获取更多详细信息。"
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "请检查您的凭据并重试"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "请创建一个管理员账户"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "请重新登录"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "请参阅<0>文档</0>以获取说明。"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "请登录您的账户"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "公钥"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "读取"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "接收"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "搜索系统或设置..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "查看<0>通知设置</0>以配置您接收警报的方式。"
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "发送"
|
||||
|
||||
@@ -638,13 +655,13 @@ msgstr "SMTP设置"
|
||||
msgid "Status"
|
||||
msgstr "状态"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "系统使用的交换空间"
|
||||
msgstr "系统使用的SWAP空间"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "交换使用"
|
||||
msgstr "SWAP使用"
|
||||
|
||||
#. System theme
|
||||
#: src/components/mode-toggle.tsx:26
|
||||
@@ -661,12 +678,12 @@ msgstr "系统"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "系统可以在数据目录中的<0>config.yml</0>文件中管理。"
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "温度"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "系统传感器的温度"
|
||||
|
||||
@@ -680,11 +697,11 @@ msgstr "测试通知已发送"
|
||||
|
||||
#: src/components/add-system.tsx:104
|
||||
msgid "The agent must be running on the system to connect. Copy the installation command for the agent below."
|
||||
msgstr "代理必须在系统上运行才能连接。复制下面的代理安装命令。"
|
||||
msgstr "必须在系统上运行客户端之后才能连接。复制下面的客户端安装命令。"
|
||||
|
||||
#: src/components/add-system.tsx:95
|
||||
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>。"
|
||||
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."
|
||||
@@ -694,11 +711,11 @@ msgstr "然后登录到后台并在用户表中重置您的用户账户密码。
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "{extraFsName}的吞吐量"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "根文件系统的吞吐量"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "根文件系统的吞吐量"
|
||||
msgid "To email(s)"
|
||||
msgstr "发送到电子邮件"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "切换网格"
|
||||
|
||||
@@ -721,7 +738,7 @@ msgstr "当任何传感器超过阈值时触发"
|
||||
|
||||
#: src/lib/utils.ts:310
|
||||
msgid "Triggers when combined up/down exceeds a threshold"
|
||||
msgstr "当组合的上/下超过阈值时触发"
|
||||
msgstr "当网络的上/下行速度超过阈值时触发"
|
||||
|
||||
#: src/lib/utils.ts:292
|
||||
msgid "Triggers when CPU usage exceeds a threshold"
|
||||
@@ -731,34 +748,33 @@ msgstr "当CPU使用率超过阈值时触发"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "当内存使用率超过阈值时触发"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "当内存使用率超过阈值时触发。"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "当状态在上和下之间切换时触发"
|
||||
msgstr "当状态在上线与掉线之间切换时触发"
|
||||
|
||||
#: src/lib/utils.ts:304
|
||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||
msgstr "当任何磁盘的使用超过阈值时触发"
|
||||
msgstr "当任何磁盘的使用率超过阈值时触发"
|
||||
|
||||
#: src/components/systems-table/systems-table.tsx:320
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "实时更新。点击系统查看信息。"
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "正常运行时间"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,9 +793,9 @@ msgstr "用户名"
|
||||
msgid "Users"
|
||||
msgstr "用户"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "等待足够的记录以显示"
|
||||
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."
|
||||
@@ -789,9 +805,9 @@ msgstr "想帮助我们改进翻译吗?查看<0>Crowdin</0>以获取更多详
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / 推送通知"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "写入"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Language: zh\n"
|
||||
"Project-Id-Version: beszel\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-11-02 02:14\n"
|
||||
"PO-Revision-Date: 2024-11-04 20:47\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional, Hong Kong\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
@@ -18,11 +18,11 @@ msgstr ""
|
||||
"X-Crowdin-File: /main/beszel/site/src/locales/en/en.po\n"
|
||||
"X-Crowdin-File-ID: 16\n"
|
||||
|
||||
#: src/components/routes/system.tsx:242
|
||||
#: src/components/routes/system.tsx:250
|
||||
msgid "{0, plural, one {# day} other {# days}}"
|
||||
msgstr "{0, plural, one {# 天} other {# 天}}"
|
||||
|
||||
#: src/components/routes/system.tsx:240
|
||||
#: src/components/routes/system.tsx:248
|
||||
msgid "{hours, plural, one {# hour} other {# hours}}"
|
||||
msgstr "{hours, plural, one {# 小時} other {# 小時}}"
|
||||
|
||||
@@ -63,8 +63,8 @@ msgstr "添加<0>系統</0>"
|
||||
msgid "Add New System"
|
||||
msgstr "添加新系統"
|
||||
|
||||
#: src/components/add-system.tsx:167
|
||||
#: src/components/add-system.tsx:178
|
||||
#: src/components/add-system.tsx:161
|
||||
#: src/components/add-system.tsx:172
|
||||
msgid "Add system"
|
||||
msgstr "添加系統"
|
||||
|
||||
@@ -112,11 +112,11 @@ msgstr "認證提供者"
|
||||
msgid "Automatic copy requires a secure context."
|
||||
msgstr "自動複製需要安全的上下文。"
|
||||
|
||||
#: src/components/routes/system.tsx:568
|
||||
#: src/components/routes/system.tsx:625
|
||||
msgid "Average"
|
||||
msgstr "平均"
|
||||
|
||||
#: src/components/routes/system.tsx:387
|
||||
#: src/components/routes/system.tsx:396
|
||||
msgid "Average CPU utilization of containers"
|
||||
msgstr "容器的平均CPU使用率"
|
||||
|
||||
@@ -124,16 +124,24 @@ msgstr "容器的平均CPU使用率"
|
||||
msgid "Average exceeds <0>{value}{0}</0>"
|
||||
msgstr "平均值超過<0>{value}{0}</0>"
|
||||
|
||||
#: src/components/routes/system.tsx:376
|
||||
#: 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 ""
|
||||
|
||||
#: src/components/command-palette.tsx:171
|
||||
#: src/components/navbar.tsx:94
|
||||
msgid "Backups"
|
||||
msgstr "備份"
|
||||
|
||||
#: src/components/routes/system.tsx:436
|
||||
#: src/components/routes/system.tsx:441
|
||||
#: src/lib/utils.ts:307
|
||||
msgid "Bandwidth"
|
||||
msgstr "帶寬"
|
||||
@@ -182,7 +190,7 @@ msgstr "檢查日誌以獲取更多詳細信息。"
|
||||
msgid "Check your notification service"
|
||||
msgstr "檢查您的通知服務"
|
||||
|
||||
#: src/components/add-system.tsx:153
|
||||
#: src/components/add-system.tsx:147
|
||||
msgid "Click to copy"
|
||||
msgstr "點擊以複製"
|
||||
|
||||
@@ -213,7 +221,7 @@ msgstr "繼續"
|
||||
msgid "Copied to clipboard"
|
||||
msgstr "已複製到剪貼板"
|
||||
|
||||
#: src/components/add-system.tsx:164
|
||||
#: src/components/add-system.tsx:158
|
||||
msgid "Copy"
|
||||
msgstr "複製"
|
||||
|
||||
@@ -221,7 +229,7 @@ msgstr "複製"
|
||||
msgid "Copy host"
|
||||
msgstr "複製主機"
|
||||
|
||||
#: src/components/add-system.tsx:175
|
||||
#: src/components/add-system.tsx:169
|
||||
msgid "Copy Linux command"
|
||||
msgstr "複製Linux命令"
|
||||
|
||||
@@ -233,8 +241,8 @@ msgstr "複製文本"
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
#: src/components/charts/area-chart.tsx:52
|
||||
#: src/components/routes/system.tsx:375
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/routes/system.tsx:384
|
||||
#: src/lib/utils.ts:289
|
||||
msgid "CPU Usage"
|
||||
msgstr "CPU使用率"
|
||||
@@ -265,29 +273,29 @@ msgstr "刪除"
|
||||
msgid "Disk"
|
||||
msgstr "磁碟"
|
||||
|
||||
#: src/components/routes/system.tsx:426
|
||||
#: src/components/routes/system.tsx:431
|
||||
msgid "Disk I/O"
|
||||
msgstr "磁碟I/O"
|
||||
|
||||
#: src/components/charts/disk-chart.tsx:74
|
||||
#: src/components/routes/system.tsx:415
|
||||
#: 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:495
|
||||
#: src/components/routes/system.tsx:552
|
||||
msgid "Disk usage of {extraFsName}"
|
||||
msgstr "{extraFsName}的磁碟使用"
|
||||
|
||||
#: src/components/routes/system.tsx:386
|
||||
#: src/components/routes/system.tsx:395
|
||||
msgid "Docker CPU Usage"
|
||||
msgstr "Docker CPU使用"
|
||||
|
||||
#: src/components/routes/system.tsx:407
|
||||
#: src/components/routes/system.tsx:416
|
||||
msgid "Docker Memory Usage"
|
||||
msgstr "Docker記憶體使用"
|
||||
|
||||
#: src/components/routes/system.tsx:452
|
||||
#: src/components/routes/system.tsx:457
|
||||
msgid "Docker Network I/O"
|
||||
msgstr "Docker網絡I/O"
|
||||
|
||||
@@ -308,7 +316,7 @@ msgstr "電子郵件"
|
||||
msgid "Email notifications"
|
||||
msgstr "電子郵件通知"
|
||||
|
||||
#: src/components/login/login.tsx:36
|
||||
#: src/components/login/login.tsx:38
|
||||
msgid "Enter email address to reset password"
|
||||
msgstr "輸入電子郵件地址以重置密碼"
|
||||
|
||||
@@ -355,7 +363,7 @@ msgstr "發送測試通知失敗"
|
||||
msgid "Failed to update alert"
|
||||
msgstr "更新警報失敗"
|
||||
|
||||
#: src/components/routes/system.tsx:539
|
||||
#: src/components/routes/system.tsx:596
|
||||
#: src/components/systems-table/systems-table.tsx:324
|
||||
msgid "Filter..."
|
||||
msgstr "篩選..."
|
||||
@@ -374,7 +382,11 @@ msgstr "忘記密碼?"
|
||||
msgid "General"
|
||||
msgstr "一般"
|
||||
|
||||
#: src/components/add-system.tsx:119
|
||||
#: src/components/routes/system.tsx:496
|
||||
msgid "GPU Power Draw"
|
||||
msgstr ""
|
||||
|
||||
#: src/components/add-system.tsx:116
|
||||
msgid "Host / IP"
|
||||
msgstr "主機 / IP"
|
||||
|
||||
@@ -387,7 +399,7 @@ msgid "Invalid email address."
|
||||
msgstr "無效的電子郵件地址。"
|
||||
|
||||
#. Linux kernel
|
||||
#: src/components/routes/system.tsx:254
|
||||
#: src/components/routes/system.tsx:262
|
||||
msgid "Kernel"
|
||||
msgstr "內核"
|
||||
|
||||
@@ -404,7 +416,7 @@ msgstr "淺色"
|
||||
msgid "Log Out"
|
||||
msgstr "登出"
|
||||
|
||||
#: src/components/login/login.tsx:17
|
||||
#: src/components/login/login.tsx:19
|
||||
msgid "Login"
|
||||
msgstr "登錄"
|
||||
|
||||
@@ -427,7 +439,7 @@ msgid "Manage display and notification preferences."
|
||||
msgstr "管理顯示和通知偏好。"
|
||||
|
||||
#. Chart select field. Please try to keep this short.
|
||||
#: src/components/routes/system.tsx:571
|
||||
#: src/components/routes/system.tsx:628
|
||||
msgid "Max 1 min"
|
||||
msgstr "最大1分鐘"
|
||||
|
||||
@@ -435,16 +447,16 @@ msgstr "最大1分鐘"
|
||||
msgid "Memory"
|
||||
msgstr "記憶體"
|
||||
|
||||
#: src/components/routes/system.tsx:397
|
||||
#: src/components/routes/system.tsx:406
|
||||
#: src/lib/utils.ts:295
|
||||
msgid "Memory Usage"
|
||||
msgstr "記憶體使用"
|
||||
|
||||
#: src/components/routes/system.tsx:408
|
||||
#: src/components/routes/system.tsx:417
|
||||
msgid "Memory usage of docker containers"
|
||||
msgstr "Docker容器的記憶體使用"
|
||||
|
||||
#: src/components/add-system.tsx:113
|
||||
#: src/components/add-system.tsx:112
|
||||
msgid "Name"
|
||||
msgstr "名稱"
|
||||
|
||||
@@ -452,11 +464,11 @@ msgstr "名稱"
|
||||
msgid "Net"
|
||||
msgstr "網絡"
|
||||
|
||||
#: src/components/routes/system.tsx:453
|
||||
#: src/components/routes/system.tsx:458
|
||||
msgid "Network traffic of docker containers"
|
||||
msgstr "Docker容器的網絡流量"
|
||||
|
||||
#: src/components/routes/system.tsx:438
|
||||
#: src/components/routes/system.tsx:443
|
||||
msgid "Network traffic of public interfaces"
|
||||
msgstr "公共接口的網絡流量"
|
||||
|
||||
@@ -532,7 +544,7 @@ msgstr "請檢查日誌以獲取更多詳細信息。"
|
||||
msgid "Please check your credentials and try again"
|
||||
msgstr "請檢查您的憑證並重試"
|
||||
|
||||
#: src/components/login/login.tsx:34
|
||||
#: src/components/login/login.tsx:36
|
||||
msgid "Please create an admin account"
|
||||
msgstr "請創建一個管理員帳戶"
|
||||
|
||||
@@ -548,31 +560,36 @@ msgstr "請重新登錄"
|
||||
msgid "Please see <0>the documentation</0> for instructions."
|
||||
msgstr "請參閱<0>文檔</0>以獲取說明。"
|
||||
|
||||
#: src/components/login/login.tsx:38
|
||||
#: src/components/login/login.tsx:40
|
||||
msgid "Please sign in to your account"
|
||||
msgstr "請登錄到您的帳戶"
|
||||
|
||||
#: src/components/add-system.tsx:125
|
||||
#: src/components/add-system.tsx:120
|
||||
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:131
|
||||
#: src/components/add-system.tsx:124
|
||||
msgid "Public Key"
|
||||
msgstr "公鑰"
|
||||
|
||||
#. Context is disk read
|
||||
#: src/components/charts/area-chart.tsx:56
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
#. Disk read
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#: src/components/charts/area-chart.tsx:70
|
||||
msgid "Read"
|
||||
msgstr "讀取"
|
||||
|
||||
#. Context is network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:61
|
||||
#. Network bytes received (download)
|
||||
#: src/components/charts/area-chart.tsx:65
|
||||
msgid "Received"
|
||||
msgstr "接收"
|
||||
|
||||
@@ -605,8 +622,8 @@ msgstr "搜索系統或設置..."
|
||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||
msgstr "查看<0>通知設置</0>以配置您接收警報的方式。"
|
||||
|
||||
#. Context is network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:60
|
||||
#. Network bytes sent (upload)
|
||||
#: src/components/charts/area-chart.tsx:64
|
||||
msgid "Sent"
|
||||
msgstr "發送"
|
||||
|
||||
@@ -638,11 +655,11 @@ msgstr "SMTP設置"
|
||||
msgid "Status"
|
||||
msgstr "狀態"
|
||||
|
||||
#: src/components/routes/system.tsx:467
|
||||
#: src/components/routes/system.tsx:473
|
||||
msgid "Swap space used by the system"
|
||||
msgstr "系統使用的交換空間"
|
||||
|
||||
#: src/components/routes/system.tsx:466
|
||||
#: src/components/routes/system.tsx:472
|
||||
msgid "Swap Usage"
|
||||
msgstr "交換使用"
|
||||
|
||||
@@ -661,12 +678,12 @@ msgstr "系統"
|
||||
msgid "Systems may be managed in a <0>config.yml</0> file inside your data directory."
|
||||
msgstr "系統可以在您的數據目錄中的<0>config.yml</0>文件中管理。"
|
||||
|
||||
#: src/components/routes/system.tsx:477
|
||||
#: src/components/routes/system.tsx:484
|
||||
#: src/lib/utils.ts:314
|
||||
msgid "Temperature"
|
||||
msgstr "溫度"
|
||||
|
||||
#: src/components/routes/system.tsx:478
|
||||
#: src/components/routes/system.tsx:485
|
||||
msgid "Temperatures of system sensors"
|
||||
msgstr "系統傳感器的溫度"
|
||||
|
||||
@@ -694,11 +711,11 @@ msgstr "然後登錄到後端並在用戶表中重置您的用戶帳戶密碼。
|
||||
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:507
|
||||
#: src/components/routes/system.tsx:564
|
||||
msgid "Throughput of {extraFsName}"
|
||||
msgstr "{extraFsName}的吞吐量"
|
||||
|
||||
#: src/components/routes/system.tsx:427
|
||||
#: src/components/routes/system.tsx:432
|
||||
msgid "Throughput of root filesystem"
|
||||
msgstr "根文件系統的吞吐量"
|
||||
|
||||
@@ -706,8 +723,8 @@ msgstr "根文件系統的吞吐量"
|
||||
msgid "To email(s)"
|
||||
msgstr "發送到電子郵件"
|
||||
|
||||
#: src/components/routes/system.tsx:350
|
||||
#: src/components/routes/system.tsx:363
|
||||
#: src/components/routes/system.tsx:359
|
||||
#: src/components/routes/system.tsx:372
|
||||
msgid "Toggle grid"
|
||||
msgstr "切換網格"
|
||||
|
||||
@@ -731,10 +748,6 @@ msgstr "當CPU使用率超過閾值時觸發"
|
||||
msgid "Triggers when memory usage exceeds a threshold"
|
||||
msgstr "當記憶體使用率超過閾值時觸發"
|
||||
|
||||
#: src/components/routes/system.tsx:398
|
||||
msgid "Triggers when memory usage exceeds a threshold."
|
||||
msgstr "當記憶體使用率超過閾值時觸發。"
|
||||
|
||||
#: src/lib/utils.ts:285
|
||||
msgid "Triggers when status switches between up and down"
|
||||
msgstr "當狀態在上和下之間切換時觸發"
|
||||
@@ -747,18 +760,21 @@ msgstr "當任何磁碟的使用超過閾值時觸發"
|
||||
msgid "Updated in real time. Click on a system to view information."
|
||||
msgstr "實時更新。點擊系統查看信息。"
|
||||
|
||||
#: src/components/routes/system.tsx:253
|
||||
#: src/components/routes/system.tsx:261
|
||||
msgid "Uptime"
|
||||
msgstr "正常運行時間"
|
||||
|
||||
#: src/components/routes/system.tsx:494
|
||||
#: 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:415
|
||||
#: 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"
|
||||
@@ -777,7 +793,7 @@ msgstr "用戶名"
|
||||
msgid "Users"
|
||||
msgstr "用戶"
|
||||
|
||||
#: src/components/routes/system.tsx:603
|
||||
#: src/components/routes/system.tsx:662
|
||||
msgid "Waiting for enough records to display"
|
||||
msgstr "等待足夠的記錄以顯示"
|
||||
|
||||
@@ -789,9 +805,9 @@ msgstr "想幫助我們改進翻譯嗎?查看<0>Crowdin</0>以獲取更多詳
|
||||
msgid "Webhook / Push notifications"
|
||||
msgstr "Webhook / 推送通知"
|
||||
|
||||
#. Context is disk write
|
||||
#: src/components/charts/area-chart.tsx:55
|
||||
#: src/components/charts/area-chart.tsx:66
|
||||
#. Disk write
|
||||
#: src/components/charts/area-chart.tsx:59
|
||||
#: src/components/charts/area-chart.tsx:69
|
||||
msgid "Write"
|
||||
msgstr "寫入"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
17
beszel/site/src/types.d.ts
vendored
17
beszel/site/src/types.d.ts
vendored
@@ -34,6 +34,8 @@ export interface SystemInfo {
|
||||
b: number
|
||||
/** agent version */
|
||||
v: string
|
||||
/** system is using podman */
|
||||
p?: boolean
|
||||
}
|
||||
|
||||
export interface SystemStats {
|
||||
@@ -81,6 +83,21 @@ export interface SystemStats {
|
||||
t?: Record<string, number>
|
||||
/** extra filesystems */
|
||||
efs?: Record<string, ExtraFsStats>
|
||||
/** GPU data */
|
||||
g?: Record<string, GPUData>
|
||||
}
|
||||
|
||||
export interface GPUData {
|
||||
/** name */
|
||||
n: string
|
||||
/** memory used (mb) */
|
||||
mu?: number
|
||||
/** memory total (mb) */
|
||||
mt?: number
|
||||
/** usage (%) */
|
||||
u: number
|
||||
/** power (w) */
|
||||
p?: number
|
||||
}
|
||||
|
||||
export interface ExtraFsStats {
|
||||
|
||||
@@ -8,7 +8,7 @@ module.exports = {
|
||||
center: true,
|
||||
padding: "1rem",
|
||||
screens: {
|
||||
"2xl": "1400px",
|
||||
"2xl": "1420px",
|
||||
},
|
||||
},
|
||||
extend: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package beszel
|
||||
|
||||
const (
|
||||
Version = "0.7.0"
|
||||
Version = "0.8.0"
|
||||
AppName = "beszel"
|
||||
)
|
||||
|
||||
@@ -61,7 +61,7 @@ If you don't need network stats, remove that line from the compose file and map
|
||||
### 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. The agent installer will be built into the web UI in the future.
|
||||
> 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.
|
||||
|
||||
@@ -168,8 +168,8 @@ Mount a folder from the target filesystem in the container's `/extra-filesystems
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
|
||||
- /dev/mmcblk0/.beszel:/extra-filesystems/sd-card:ro
|
||||
- /mnt/disk1/.beszel:/extra-filesystems/sdb1:ro
|
||||
- /dev/mmcblk0/.beszel:/extra-filesystems/mmcblk0:ro
|
||||
```
|
||||
|
||||
### Binary
|
||||
|
||||
@@ -7,8 +7,7 @@ services:
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
# monitor other disks / partitions by mounting a folder in /extra-filesystems
|
||||
# - /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
|
||||
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
|
||||
environment:
|
||||
PORT: 45876
|
||||
KEY: 'ssh-ed25519 YOUR_PUBLIC_KEY'
|
||||
# FILESYSTEM: /dev/sda1 # override the root partition / device for disk I/O stats
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
#!/bin/bash
|
||||
#!/bin/sh
|
||||
|
||||
version=0.0.1
|
||||
# Define default values
|
||||
PORT=45876
|
||||
UNINSTALL=false
|
||||
|
||||
# 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 if running as root
|
||||
if [ "$(id -u)" != "0" ]; then
|
||||
@@ -12,106 +35,91 @@ if [ "$(id -u)" != "0" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
version=0.0.1
|
||||
# Define default values
|
||||
PORT=45876
|
||||
|
||||
# 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 the Beszel Agent\n"
|
||||
printf " -h : Display this help message\n"
|
||||
exit 0;;
|
||||
\?) echo "Invalid option: -$OPTARG"; exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$UNINSTALL" = "true" ]; then
|
||||
# Stop and disable the Beszel Agent service
|
||||
echo "Stopping and disabling the Beszel Agent service..."
|
||||
# Uninstall process
|
||||
if [ "$UNINSTALL" = true ]; then
|
||||
echo "Stopping and disabling the agent service..."
|
||||
systemctl stop beszel-agent.service
|
||||
systemctl disable beszel-agent.service
|
||||
|
||||
# Remove the systemd service file
|
||||
echo "Removing the systemd service file..."
|
||||
rm /etc/systemd/system/beszel-agent.service
|
||||
|
||||
# Reload the systemd daemon
|
||||
echo "Reloading the systemd daemon..."
|
||||
# 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
|
||||
|
||||
# Remove the Beszel Agent directory
|
||||
echo "Removing the Beszel Agent directory..."
|
||||
rm -rf /opt/beszel-agent
|
||||
|
||||
# Remove the dedicated user for the Beszel Agent service
|
||||
echo "Removing the dedicated user for the Beszel Agent service..."
|
||||
echo "Removing the dedicated user for the agent service..."
|
||||
killall beszel-agent
|
||||
userdel beszel
|
||||
|
||||
echo "The Beszel Agent has been uninstalled successfully!"
|
||||
echo "Beszel Agent has been uninstalled successfully!"
|
||||
exit 0
|
||||
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
|
||||
apt-get update
|
||||
apt-get install -y tar curl
|
||||
fi
|
||||
elif package_installed yum; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
yum install -y tar curl
|
||||
fi
|
||||
elif package_installed pacman; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
pacman -Sy --noconfirm tar curl
|
||||
fi
|
||||
else
|
||||
# Function to check if a package is installed
|
||||
package_installed() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
}
|
||||
echo "Warning: Please ensure 'tar' and 'curl' are installed."
|
||||
fi
|
||||
|
||||
# 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
|
||||
apt-get update
|
||||
apt-get install -y tar curl
|
||||
fi
|
||||
elif package_installed yum; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
yum install -y tar curl
|
||||
fi
|
||||
elif package_installed pacman; then
|
||||
if ! package_installed tar || ! package_installed curl; then
|
||||
pacman -Sy --noconfirm tar curl
|
||||
fi
|
||||
else
|
||||
echo "Warning: Please ensure 'tar' and 'curl' are installed."
|
||||
fi
|
||||
# If no SSH key is provided, ask for the SSH key interactively
|
||||
if [ -z "$KEY" ]; then
|
||||
printf "Enter your SSH key: "
|
||||
read KEY
|
||||
fi
|
||||
|
||||
# If no SSH key is provided, ask for the SSH key interactively
|
||||
if [ -z "$KEY" ]; then
|
||||
read -p "Enter your SSH key: " 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
|
||||
fi
|
||||
# Add the user to the docker group to allow access to the Docker socket
|
||||
usermod -aG docker beszel
|
||||
|
||||
# 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
|
||||
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
|
||||
echo "Creating the directory for the Beszel Agent..."
|
||||
mkdir -p /opt/beszel-agent
|
||||
chown beszel:beszel /opt/beszel-agent
|
||||
chmod 755 /opt/beszel-agent
|
||||
fi
|
||||
|
||||
# Create the directory for the Beszel Agent
|
||||
if [ ! -d "/opt/beszel-agent" ]; then
|
||||
echo "Creating the directory for the Beszel Agent..."
|
||||
mkdir -p /opt/beszel-agent
|
||||
chown beszel:beszel /opt/beszel-agent
|
||||
chmod 755 /opt/beszel-agent
|
||||
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
|
||||
chown beszel:beszel /opt/beszel-agent/beszel-agent
|
||||
chmod 755 /opt/beszel-agent/beszel-agent
|
||||
|
||||
# Download and install the Beszel Agent
|
||||
echo "Downloading and installing the Beszel 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
|
||||
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 Beszel Agent..."
|
||||
tee /etc/systemd/system/beszel-agent.service <<EOF
|
||||
# Create the systemd service
|
||||
echo "Creating the systemd service for the agent..."
|
||||
cat > /etc/systemd/system/beszel-agent.service << EOF
|
||||
[Unit]
|
||||
Description=Beszel Agent Service
|
||||
After=network.target
|
||||
@@ -128,21 +136,56 @@ Restart=always
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# Load and start the service
|
||||
printf "\nLoading and starting the Beszel 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
|
||||
|
||||
# Wait for the service to start or fail
|
||||
sleep 1
|
||||
# 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..."
|
||||
|
||||
# Check if the service is running
|
||||
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
|
||||
# Create systemd service for the daily update
|
||||
cat > /etc/systemd/system/beszel-agent-update.service << EOF
|
||||
[Unit]
|
||||
Description=Update beszel-agent if needed
|
||||
Wants=beszel-agent.service
|
||||
|
||||
echo "The Beszel Agent has been installed and configured successfully! It is now running on port $PORT."
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -c '/opt/beszel-agent/beszel-agent update | grep -q "Successfully updated" && systemctl restart beszel-agent'
|
||||
EOF
|
||||
|
||||
# Create systemd timer for the daily update
|
||||
cat > /etc/systemd/system/beszel-agent-update.timer << EOF
|
||||
[Unit]
|
||||
Description=Run beszel-agent update daily
|
||||
|
||||
[Timer]
|
||||
OnCalendar=daily
|
||||
Persistent=true
|
||||
RandomizedDelaySec=4h
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --now beszel-agent-update.timer
|
||||
|
||||
printf "\nAutomatic daily updates have been enabled.\n"
|
||||
;;
|
||||
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
|
||||
fi
|
||||
|
||||
printf "\n\033[32mBeszel Agent has been installed successfully! It is now running on port $PORT.\033[0m\n"
|
||||
Reference in New Issue
Block a user