Compare commits

..

32 Commits

Author SHA1 Message Date
Henry Dollman
52bde8ea6d release 0.7.4 2024-11-08 20:32:27 -05:00
Henry Dollman
03de73560c add gpu power consumption chart 2024-11-08 20:31:22 -05:00
Henry Dollman
bcb7de1b9a add Dutch language 2024-11-08 19:02:49 -05:00
hank
ca94bd32f2 New Crowdin updates (#272)
* New translations en.po (Dutch)

* New translations en.po (Dutch)

* New translations en.po (Dutch)

Co-authored-by: Mathy Vandersmissen <mathy.vds@gmail.com>
2024-11-08 18:07:05 -05:00
Henry Dollman
cd10727795 gpu usage and vram charts 2024-11-08 18:00:30 -05:00
Henry Dollman
8262a9a45b progress on gpu metrics 2024-11-08 16:52:50 -05:00
hank
b433437636 New Crowdin updates (#271)
* New translations en.po (Chinese Simplified)

* New translations en.po (Chinese Simplified)

Co-authored-by: D <17147265+wwng2333@users.noreply.github.com>
2024-11-07 15:57:07 -05:00
Henry Dollman
02825ed109 add Polish and Croatian languages 2024-11-07 13:11:58 -05:00
Henry Dollman
a97e6149bb add option for automatic updates to install-agent.sh (#268) 2024-11-07 13:02:01 -05:00
hank
946b1e7f54 New Crowdin updates (#259)
* New translations en.po (Polish)

* New translations en.po (Polish)

* New translations en.po (Polish)

* New translations en.po (Polish)

* New translations en.po (Croatian)

* New translations en.po (Croatian)

* New translations en.po (French)

* New translations en.po (French)

Co-authored-by: Dino Horvat <73183619+DinoHorvat96@users.noreply.github.com>
Co-authored-by: dymek37 <122745160+dymek37@users.noreply.github.com>
Co-authored-by: Adam Gąsowski <gander@users.noreply.github.com>
Co-authored-by: Damien Fajole <60252259+damsdev1@users.noreply.github.com>
2024-11-06 19:06:16 -05:00
Henry Dollman
b5ed7cd555 fix display of values under 1 GB in disk usage chart (closes #261) 2024-11-06 13:52:35 -05:00
Henry Dollman
233349fb2a release 0.7.3 2024-11-04 21:33:19 -05:00
Henry Dollman
c54e6ff0ea po file formatting 2024-11-04 21:33:05 -05:00
Henry Dollman
98c4102f72 revert to previous behavior for displaying stopped containers
* Previously, a stopped container was completely removed from the chart/tooltip during the time period when it was not running. In the last few releases, the container remained in the chart with zero values if it was running at any time during the chart's duration. This restores the previous functionality.
2024-11-04 21:24:44 -05:00
hank
640ee7a88e New translations en.po (Polish) (#257) 2024-11-04 20:57:01 -05:00
Henry Dollman
8a85246a0b set lang in activateLocale func instead of dynamicActivate 2024-11-04 20:56:33 -05:00
Henry Dollman
655bfc95ca add ability to specify partition for extra disk using folder name 2024-11-04 20:52:27 -05:00
hank
37a066e6bd New Crowdin updates (#256)
* New translations en.po (French)

* New translations en.po (Spanish)

* New translations en.po (Arabic)

* New translations en.po (German)

* New translations en.po (Japanese)

* New translations en.po (Korean)

* New translations en.po (Portuguese)

* New translations en.po (Russian)

* New translations en.po (Turkish)

* New translations en.po (Ukrainian)

* New translations en.po (Chinese Simplified)

* New translations en.po (Vietnamese)

* New translations en.po (Chinese Traditional, Hong Kong)

* New translations en.po (Italian)
2024-11-04 16:01:01 -05:00
Henry Dollman
9e959a6b7b update translations 2024-11-04 15:42:23 -05:00
Henry Dollman
2b6560b9e1 update translation messages on build
* add lingui extract to build script
* delete translation ts files and add to gitignore
2024-11-04 15:34:59 -05:00
hank
d8836d53bf New Crowdin updates (#252)
* New translations en.po (French)

* New translations en.po (Spanish)

* New translations en.po (Arabic)

* New translations en.po (German)

* New translations en.po (Japanese)

* New translations en.po (Korean)

* New translations en.po (Portuguese)

* New translations en.po (Russian)

* New translations en.po (Turkish)

* New translations en.po (Ukrainian)

* New translations en.po (Chinese Simplified)

* New translations en.po (Vietnamese)

* New translations en.po (Chinese Traditional, Hong Kong)

* New translations en.po (Italian)
2024-11-04 14:30:27 -05:00
Henry Dollman
aa15876aa2 fix: read/write labels swapped for extra disk charts (#254) 2024-11-04 14:29:10 -05:00
Henry Dollman
7ca960b521 update system view grid to min xl 2024-11-04 14:18:08 -05:00
Henry Dollman
4eaedcf825 release 0.7.2 2024-11-03 15:31:39 -05:00
Henry Dollman
b337ba1d7f fix subheading for memory chart 2024-11-03 15:30:35 -05:00
hank
c9b72f724f New translations en.po (Ukrainian) (#251)
Co-authored-by: stanol <stanol777@gmail.com>
2024-11-03 15:02:59 -05:00
Henry Dollman
35d8996e00 release 0.7.1 2024-11-03 12:10:53 -05:00
Henry Dollman
6e61c5f1e4 update go deps 2024-11-03 12:10:17 -05:00
Henry Dollman
6bb147c349 fix en fallback if detected user locale is missing (#247) 2024-11-03 11:59:49 -05:00
hank
3668aa4e8e New Crowdin updates (#246)
* New translations en.po (French)

* New translations en.po (Spanish)

* New translations en.po (Arabic)

* New translations en.po (German)

* New translations en.po (Japanese)

* New translations en.po (Korean)

* New translations en.po (Portuguese)

* New translations en.po (Russian)

* New translations en.po (Turkish)

* New translations en.po (Ukrainian)

* New translations en.po (Chinese Simplified)

* New translations en.po (Vietnamese)

* New translations en.po (Chinese Traditional, Hong Kong)

* New translations en.po (Italian)

* New translations en.po (Ukrainian)
2024-11-03 11:28:27 -05:00
Henry Dollman
4c324bff73 release 0.7.0 2024-11-02 14:50:59 -04:00
Henry Dollman
741575df15 revert tweaks for old docker. needs more testing. 2024-11-02 14:43:35 -04:00
64 changed files with 4329 additions and 1261 deletions

2
.gitignore vendored
View File

@@ -13,3 +13,5 @@ beszel/cmd/agent/agent
node_modules
beszel/build
*timestamp*
.swc
beszel/site/src/locales/**/*.ts

View File

@@ -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

View File

@@ -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=

View File

@@ -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 {
@@ -74,6 +75,15 @@ func (a *Agent) Run(pubKey []byte, addr string) {
a.initializeNetIoStats()
a.dockerManager = newDockerManager()
// initialize GPU manager
if os.Getenv("GPU") == "true" {
if gm, err := NewGPUManager(); err != nil {
slog.Warn("GPU", "err", err)
} else {
a.gpuManager = gm
}
}
// if debugging, print stats
if a.debug {
slog.Debug("Stats", "data", a.gatherStats())
@@ -84,22 +94,18 @@ func (a *Agent) Run(pubKey []byte, addr string) {
func (a *Agent) gatherStats() system.CombinedData {
slog.Debug("Getting stats")
// systemData := system.CombinedData{
// Stats: a.getSystemStats(),
// Info: a.systemInfo,
// }
systemData := system.CombinedData{}
// add docker stats (testing doing this first for docker 24)
systemData := system.CombinedData{
Stats: a.getSystemStats(),
Info: a.systemInfo,
}
slog.Debug("System stats", "data", systemData)
// add docker stats
if containerStats, err := a.dockerManager.getDockerStats(); err == nil {
systemData.Containers = containerStats
slog.Debug("Docker stats", "data", systemData.Containers)
} else {
slog.Debug("Error getting docker stats", "err", err)
}
systemData.Stats = a.getSystemStats()
systemData.Info = a.systemInfo
slog.Debug("System stats", "data", systemData)
// add extra filesystems
systemData.Stats.ExtraFs = make(map[string]*system.FsStats)
for name, stats := range a.fsStats {

View File

@@ -41,11 +41,20 @@ func (a *Agent) initializeDiskInfo() {
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
// 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)
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 _, exists := diskIoCounters[key]; !exists {
efBase := filepath.Base(mountpoint)
if _, exists := diskIoCounters[efBase]; exists {
key = efBase
}
}
}
a.fsStats[key] = &system.FsStats{Root: root, Mountpoint: mountpoint}
@@ -114,7 +123,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)
}
}
}

View File

@@ -25,23 +25,18 @@ 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
@@ -52,11 +47,6 @@ func (dm *dockerManager) getDockerStats() ([]*container.Stats, error) {
}
defer resp.Body.Close()
// test sleeping for 1 second if docker 24
if !dm.goodDockerVersion {
time.Sleep(time.Millisecond * 1100)
}
if err := json.NewDecoder(resp.Body).Decode(&dm.apiContainerList); err != nil {
return nil, err
}
@@ -99,11 +89,11 @@ 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) // this is a test for docker 24 bug
// time.Sleep(time.Millisecond * 1100)
for _, ctr := range failedContainters {
dm.queue()
dm.wg.Add(1)
go func() {
defer dm.dequeue()
defer dm.wg.Done()
err = dm.updateContainerStats(ctr)
if err != nil {
slog.Error("Error getting container stats", "err", err)
@@ -261,9 +251,12 @@ 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) }()
// Check docker version
// (versions before 25.0.0 have a bug with one-shot which requires all requests to be made in one batch)
var versionInfo struct {
@@ -280,10 +273,9 @@ 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 {
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))
concurrency = 5
}
slog.Debug("Docker", "version", versionInfo.Version, "concurrency", concurrency)
return dockerClient
}

View 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, 64*1024) // 64KB 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 3.7; 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, 64*1024) // 64KB 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
}

View File

@@ -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

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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
}

View File

@@ -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: [

View File

@@ -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"

View File

@@ -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 " />

View File

@@ -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}

View File

@@ -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]?.nr ?? null) + (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
}, [])

View File

@@ -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
}

View 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 < 12 && <ChartLegend content={<ChartLegendContent />} />}
</LineChart>
</ChartContainer>
</div>
)
})

View File

@@ -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}

View File

@@ -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"

View File

@@ -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>()
@@ -285,13 +286,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 +343,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 +352,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 ? (
@@ -395,7 +397,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>
@@ -413,11 +415,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
@@ -459,6 +457,7 @@ export default function SystemDetail({ name }: { name: string }) {
</div>
)}
{/* Swap chart */}
{(systemStats.at(-1)?.stats.su ?? 0) > 0 && (
<ChartCard
empty={dataEmpty}
@@ -470,6 +469,7 @@ export default function SystemDetail({ name }: { name: string }) {
</ChartCard>
)}
{/* Temperature chart */}
{systemStats.at(-1)?.stats.t && (
<ChartCard
empty={dataEmpty}
@@ -480,11 +480,61 @@ export default function SystemDetail({ name }: { name: string }) {
<TemperatureChart chartData={chartData} />
</ChartCard>
)}
{/* GPU power draw chart */}
{hasGpuData && (
<ChartCard
empty={dataEmpty}
grid={grid}
title="GPU Power Draw"
description="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={`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 +547,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

View File

@@ -4,7 +4,7 @@ export default function ({ msg }: { msg?: string }) {
return (
<div 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" />
)}

View File

@@ -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)
}

View File

@@ -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": "🇭🇰"
}
]

View 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

View File

@@ -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 }

View File

@@ -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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# يوم} other {# أيام}}"
#: src/components/routes/system.tsx:240
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "متوسط"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "متوسط استخدام وحدة المعالجة المركزية للحاويات"
@@ -124,7 +124,7 @@ msgstr "متوسط استخدام وحدة المعالجة المركزية ل
msgid "Average exceeds <0>{value}{0}</0>"
msgstr "المتوسط يتجاوز <0>{value}{0}</0>"
#: src/components/routes/system.tsx:376
#: src/components/routes/system.tsx:378
msgid "Average system-wide CPU utilization"
msgstr "متوسط استخدام وحدة المعالجة المركزية على مستوى النظام"
@@ -133,7 +133,7 @@ msgstr "متوسط استخدام وحدة المعالجة المركزية ع
msgid "Backups"
msgstr "النسخ الاحتياطية"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "عرض النطاق الترددي"
@@ -182,7 +182,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 +213,7 @@ msgstr "متابعة"
msgid "Copied to clipboard"
msgstr "تم النسخ إلى الحافظة"
#: src/components/add-system.tsx:164
#: src/components/add-system.tsx:158
msgid "Copy"
msgstr "نسخ"
@@ -221,7 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "استخدام وحدة المعالجة المركزية"
@@ -265,29 +265,29 @@ msgstr "حذف"
msgid "Disk"
msgstr "القرص"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "استخدام القرص"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "استخدام القرص لـ {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "استخدام وحدة المعالجة المركزية لـ Docker"
msgstr "استخدام CPU لـ Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "استخدام الذاكرة لـ Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "إدخال/إخراج الشبكة لـ Docker"
@@ -355,7 +355,7 @@ msgstr "فشل في إرسال إشعار الاختبار"
msgid "Failed to update alert"
msgstr "فشل في تحديث التنبيه"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "تصفية..."
@@ -374,7 +374,7 @@ msgstr "هل نسيت كلمة المرور؟"
msgid "General"
msgstr "عام"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "مضيف / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "عنوان البريد الإلكتروني غير صالح."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "كيرنل"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "1 دقيقة كحد"
@@ -435,16 +435,16 @@ msgstr "1 دقيقة كحد"
msgid "Memory"
msgstr "الذاكرة"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "استخدام الذاكرة"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "الاسم"
msgid "Net"
msgstr "الشبكة"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "حركة مرور الشبكة لحاويات Docker"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "حركة مرور الشبكة للواجهات العامة"
@@ -552,27 +552,32 @@ msgstr "يرجى الاطلاع على <0>التوثيق</0> للحصول على
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "إعدادات SMTP"
msgid "Status"
msgstr "الحالة"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "مساحة التبديل المستخدمة من قبل النظام"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "استخدام التبديل"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "معدل نقل {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "معدل نقل نظام الملفات الجذر"
@@ -706,8 +711,8 @@ msgstr "معدل نقل نظام الملفات الجذر"
msgid "To email(s)"
msgstr "إلى البريد الإلكتروني"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "تبديل الشبكة"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "مدة التشغيل"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "الاستخدام"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "اسم المستخدم"
msgid "Users"
msgstr "المستخدمون"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "في انتظار وجود سجلات كافية للعرض"
@@ -789,9 +793,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

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Durchschnitt"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Durchschnittliche CPU-Auslastung der Container"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Durchschnittliche systemweite CPU-Auslastung"
@@ -133,7 +133,7 @@ msgstr "Durchschnittliche systemweite CPU-Auslastung"
msgid "Backups"
msgstr "Backups"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Bandbreite"
@@ -182,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU-Auslastung"
@@ -265,29 +265,29 @@ msgstr "Löschen"
msgid "Disk"
msgstr "Festplatte"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Festplattennutzung"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Festplattennutzung von {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker-CPU-Auslastung"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Docker-Speichernutzung"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Docker-Netzwerk-I/O"
@@ -355,7 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filter..."
@@ -374,7 +374,7 @@ msgstr "Passwort vergessen?"
msgid "General"
msgstr "Allgemein"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Host / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "Ungültige E-Mail-Adresse."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Kernel"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Max 1 Min"
@@ -435,16 +435,16 @@ msgstr "Max 1 Min"
msgid "Memory"
msgstr "Speicher"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Speichernutzung"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "Name"
msgid "Net"
msgstr "Netz"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Netzwerkverkehr der Docker-Container"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Netzwerkverkehr der öffentlichen Schnittstellen"
@@ -552,27 +552,32 @@ msgstr "Bitte sehen Sie sich <0>die Dokumentation</0> für Anweisungen an."
msgid "Please sign in to your account"
msgstr "Bitte melden Sie sich bei Ihrem Konto an"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Port"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "SMTP-Einstellungen"
msgid "Status"
msgstr "Status"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "Vom System genutzter Swap-Speicher"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "Swap-Nutzung"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Durchsatz von {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Durchsatz des Root-Dateisystems"
@@ -706,8 +711,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Raster umschalten"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "Betriebszeit"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Nutzung"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Benutzername"
msgid "Users"
msgstr "Benutzer"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Warten auf genügend Datensätze zur Anzeige"
@@ -789,9 +793,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

View File

@@ -13,11 +13,11 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
#: src/components/routes/system.tsx:242
#: src/components/routes/system.tsx:243
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:241
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:618
msgid "Average"
msgstr "Average"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Average CPU utilization of containers"
@@ -119,7 +119,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Average system-wide CPU utilization"
@@ -128,7 +128,7 @@ msgstr "Average system-wide CPU utilization"
msgid "Backups"
msgstr "Backups"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Bandwidth"
@@ -177,7 +177,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 +208,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 +216,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 +228,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU Usage"
@@ -260,29 +260,29 @@ msgstr "Delete"
msgid "Disk"
msgstr "Disk"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Disk Usage"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Disk usage of {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker CPU Usage"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Docker Memory Usage"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Docker Network I/O"
@@ -350,7 +350,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filter..."
@@ -369,7 +369,7 @@ msgstr "Forgot password?"
msgid "General"
msgstr "General"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Host / IP"
@@ -382,7 +382,7 @@ msgid "Invalid email address."
msgstr "Invalid email address."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Kernel"
@@ -422,7 +422,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:621
msgid "Max 1 min"
msgstr "Max 1 min"
@@ -430,16 +430,16 @@ msgstr "Max 1 min"
msgid "Memory"
msgstr "Memory"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Memory Usage"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +447,11 @@ msgstr "Name"
msgid "Net"
msgstr "Net"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Network traffic of docker containers"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Network traffic of public interfaces"
@@ -547,27 +547,32 @@ msgstr "Please see <0>the documentation</0> for instructions."
msgid "Please sign in to your account"
msgstr "Please sign in to your account"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Port"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +605,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 +638,11 @@ msgstr "SMTP settings"
msgid "Status"
msgstr "Status"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
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:465
msgid "Swap Usage"
msgstr "Swap Usage"
@@ -689,11 +694,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:557
msgid "Throughput of {extraFsName}"
msgstr "Throughput of {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Throughput of root filesystem"
@@ -701,8 +706,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Toggle grid"
@@ -726,10 +731,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 +743,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:254
msgid "Uptime"
msgstr "Uptime"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Usage"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +776,7 @@ msgstr "Username"
msgid "Users"
msgstr "Users"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Waiting for enough records to display"
@@ -784,9 +788,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

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Promedio"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Utilización promedio de CPU de los contenedores"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Utilización promedio de CPU del sistema"
@@ -133,7 +133,7 @@ msgstr "Utilización promedio de CPU del sistema"
msgid "Backups"
msgstr "Copias de Seguridad"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Ancho de banda"
@@ -182,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Uso de CPU"
@@ -265,29 +265,29 @@ msgstr "Eliminar"
msgid "Disk"
msgstr "Disco"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Uso de Disco"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Uso de disco de {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Uso de CPU de Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Uso de Memoria de Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "E/S de Red de Docker"
@@ -355,7 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filtrar..."
@@ -374,7 +374,7 @@ msgstr "¿Olvidó su contraseña?"
msgid "General"
msgstr "General"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Host / IP"
@@ -387,7 +387,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:255
msgid "Kernel"
msgstr "Kernel"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Máx 1 min"
@@ -435,16 +435,16 @@ msgstr "Máx 1 min"
msgid "Memory"
msgstr "Memoria"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Uso de Memoria"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "Nombre"
msgid "Net"
msgstr "Red"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
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:436
msgid "Network traffic of public interfaces"
msgstr "Tráfico de red de interfaces públicas"
@@ -552,27 +552,32 @@ msgstr "Por favor, consulte <0>la documentación</0> para obtener instrucciones.
msgid "Please sign in to your account"
msgstr "Por favor, inicie sesión en su cuenta"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Puerto"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "Configuración SMTP"
msgid "Status"
msgstr "Estado"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
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:465
msgid "Swap Usage"
msgstr "Uso de Swap"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Rendimiento de {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Rendimiento del sistema de archivos raíz"
@@ -706,8 +711,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Alternar cuadrícula"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "Tiempo de actividad"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Uso"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Nombre de usuario"
msgid "Users"
msgstr "Usuarios"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Esperando suficientes registros para mostrar"
@@ -789,9 +793,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

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Moyenne"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Utilisation moyenne du CPU des conteneurs"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Utilisation moyenne du CPU à l'échelle du système"
@@ -133,7 +133,7 @@ msgstr "Utilisation moyenne du CPU à l'échelle du système"
msgid "Backups"
msgstr "Sauvegardes"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Bande passante"
@@ -182,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Utilisation du CPU"
@@ -265,29 +265,29 @@ msgstr "Supprimer"
msgid "Disk"
msgstr "Disque"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Utilisation du disque"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Utilisation du disque de {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Utilisation du CPU Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Utilisation de la mémoire Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Entrée/Sortie réseau Docker"
@@ -324,7 +324,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 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filtrer..."
@@ -374,7 +374,7 @@ msgstr "Mot de passe oublié ?"
msgid "General"
msgstr "Général"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Hôte / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "Adresse email invalide."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Noyau"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Max 1 min"
@@ -435,16 +435,16 @@ msgstr "Max 1 min"
msgid "Memory"
msgstr "Mémoire"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: 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:410
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 +452,11 @@ msgstr "Nom"
msgid "Net"
msgstr "Net"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Trafic réseau des conteneurs Docker"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Trafic réseau des interfaces publiques"
@@ -552,27 +552,32 @@ msgstr "Veuillez consulter <0>la documentation</0> pour les instructions."
msgid "Please sign in to your account"
msgstr "Veuillez vous connecter à votre compte"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Port"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,13 @@ msgstr "Paramètres SMTP"
msgid "Status"
msgstr "Statut"
#: src/components/routes/system.tsx:467
msgid "Swap space used by the system"
msgstr "Espace d'échange utilisé par le système"
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "Espace Swap utilisé par le système"
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "Utilisation de l'échange"
msgstr "Utilisation du swap"
#. System theme
#: src/components/mode-toggle.tsx:26
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Débit de {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Débit du système de fichiers racine"
@@ -706,14 +711,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:352
#: src/components/routes/system.tsx:365
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 +726,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 +736,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 +748,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:254
msgid "Uptime"
msgstr "Temps de fonctionnement"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Utilisation"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Nom d'utilisateur"
msgid "Users"
msgstr "Utilisateurs"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "En attente de suffisamment d'enregistrements à afficher"
@@ -789,9 +793,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

View File

@@ -0,0 +1,812 @@
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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# dan} other {# dani}}"
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "Prosjek"
#: src/components/routes/system.tsx:389
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:378
msgid "Average system-wide CPU utilization"
msgstr "Prosječna iskorištenost procesora na cijelom sustavu"
#: src/components/command-palette.tsx:171
#: src/components/navbar.tsx:94
msgid "Backups"
msgstr "Sigurnosne kopije"
#: src/components/routes/system.tsx:434
#: 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:377
#: 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:424
msgid "Disk I/O"
msgstr "Disk I/O"
#: src/components/charts/disk-chart.tsx:79
#: src/components/routes/system.tsx:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Iskorištenost Diska"
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Iskorištenost diska od {extraFsName}"
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Iskorištenost Docker Procesora"
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Iskorištenost Docker Memorije"
#: src/components/routes/system.tsx:450
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:36
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:589
#: 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/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:255
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:17
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:621
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:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Upotreba memorije"
#: src/components/routes/system.tsx:410
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:451
msgid "Network traffic of docker containers"
msgstr "Mrežni promet Docker spremnika"
#: src/components/routes/system.tsx:436
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:34
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:38
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:400
#: src/components/routes/system.tsx:516
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:466
msgid "Swap space used by the system"
msgstr "Swap prostor uzet od strane sistema"
#: src/components/routes/system.tsx:465
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:477
#: src/lib/utils.ts:314
msgid "Temperature"
msgstr "Temperatura"
#: src/components/routes/system.tsx:478
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:557
msgid "Throughput of {extraFsName}"
msgstr "Protok {extraFsName}"
#: src/components/routes/system.tsx:425
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:352
#: src/components/routes/system.tsx:365
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:254
msgid "Uptime"
msgstr "Vrijeme rada"
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Iskorištenost"
#: src/components/routes/system.tsx:417
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:653
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."

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Media"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Utilizzo medio della CPU dei container"
@@ -119,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Utilizzo medio della CPU a livello di sistema"
@@ -128,7 +133,7 @@ msgstr "Utilizzo medio della CPU a livello di sistema"
msgid "Backups"
msgstr "Backup"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Larghezza di banda"
@@ -177,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Utilizzo CPU"
@@ -260,29 +265,29 @@ msgstr "Elimina"
msgid "Disk"
msgstr "Disco"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Utilizzo Disco"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Utilizzo del disco di {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Utilizzo CPU Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Utilizzo Memoria Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "I/O di Rete Docker"
@@ -350,7 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filtra..."
@@ -369,7 +374,7 @@ msgstr "Password dimenticata?"
msgid "General"
msgstr "Generale"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Host / IP"
@@ -382,7 +387,7 @@ msgid "Invalid email address."
msgstr "Indirizzo email non valido."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Kernel"
@@ -422,7 +427,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:621
msgid "Max 1 min"
msgstr "Max 1 min"
@@ -430,16 +435,16 @@ msgstr "Max 1 min"
msgid "Memory"
msgstr "Memoria"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Utilizzo Memoria"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "Nome"
msgid "Net"
msgstr "Rete"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Traffico di rete dei container Docker"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Traffico di rete delle interfacce pubbliche"
@@ -547,27 +552,32 @@ msgstr "Si prega di consultare <0>la documentazione</0> per le istruzioni."
msgid "Please sign in to your account"
msgstr "Si prega di accedere al proprio account"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Porta"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "Impostazioni SMTP"
msgid "Status"
msgstr "Stato"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
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:465
msgid "Swap Usage"
msgstr "Utilizzo Swap"
@@ -689,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Throughput di {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Throughput del filesystem root"
@@ -701,8 +711,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Attiva/disattiva griglia"
@@ -726,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "Tempo di attività"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Utilizzo"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Nome utente"
msgid "Users"
msgstr "Utenti"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "In attesa di abbastanza record da visualizzare"
@@ -784,9 +793,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

View File

@@ -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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# 日} other {# 日}}"
#: src/components/routes/system.tsx:240
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "平均"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "コンテナの平均CPU使用率"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "システム全体の平均CPU使用率"
@@ -133,7 +133,7 @@ msgstr "システム全体の平均CPU使用率"
msgid "Backups"
msgstr "バックアップ"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "帯域幅"
@@ -182,7 +182,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 +213,7 @@ msgstr "続行"
msgid "Copied to clipboard"
msgstr "クリップボードにコピーされました"
#: src/components/add-system.tsx:164
#: src/components/add-system.tsx:158
msgid "Copy"
msgstr "コピー"
@@ -221,7 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU使用率"
@@ -265,29 +265,29 @@ msgstr "削除"
msgid "Disk"
msgstr "ディスク"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "ディスク使用率"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "{extraFsName}のディスク使用率"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker CPU使用率"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Dockerメモリ使用率"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "DockerネットワークI/O"
@@ -355,7 +355,7 @@ msgstr "テスト通知の送信に失敗しました"
msgid "Failed to update alert"
msgstr "アラートの更新に失敗しました"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "フィルター..."
@@ -374,7 +374,7 @@ msgstr "パスワードをお忘れですか?"
msgid "General"
msgstr "一般"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "ホスト / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "無効なメールアドレスです。"
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "カーネル"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "最大1分"
@@ -435,16 +435,16 @@ msgstr "最大1分"
msgid "Memory"
msgstr "メモリ"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "メモリ使用率"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "名前"
msgid "Net"
msgstr "帯域"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Dockerコンテナのネットワークトラフィック"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "パブリックインターフェースのネットワークトラフィック"
@@ -552,27 +552,32 @@ msgstr "手順については<0>ドキュメント</0>を参照してくださ
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "SMTP設定"
msgid "Status"
msgstr "ステータス"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "システムが使用するスワップ領域"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "スワップ使用量"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "{extraFsName}のスループット"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "ルートファイルシステムのスループット"
@@ -706,8 +711,8 @@ msgstr "ルートファイルシステムのスループット"
msgid "To email(s)"
msgstr "メール宛"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "グリッドを切り替え"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "稼働時間"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "使用量"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "ユーザー名"
msgid "Users"
msgstr "ユーザー"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "表示するのに十分なレコードを待っています"
@@ -789,9 +793,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

View File

@@ -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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# 일} other {# 일}}"
#: src/components/routes/system.tsx:240
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "평균"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "컨테이너의 평균 CPU 사용량"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "시스템 전체의 평균 CPU 사용량"
@@ -133,7 +133,7 @@ msgstr "시스템 전체의 평균 CPU 사용량"
msgid "Backups"
msgstr "백업"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "대역폭"
@@ -182,7 +182,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 +213,7 @@ msgstr "계속"
msgid "Copied to clipboard"
msgstr "클립보드에 복사됨"
#: src/components/add-system.tsx:164
#: src/components/add-system.tsx:158
msgid "Copy"
msgstr "복사"
@@ -221,7 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU 사용량"
@@ -265,29 +265,29 @@ msgstr "삭제"
msgid "Disk"
msgstr "디스크"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "디스크 사용량"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "{extraFsName}의 디스크 사용량"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "도커 CPU 사용량"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "도커 메모리 사용량"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "도커 네트워크 I/O"
@@ -355,7 +355,7 @@ msgstr "테스트 알림 전송 실패"
msgid "Failed to update alert"
msgstr "경고 업데이트 실패"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "필터..."
@@ -374,7 +374,7 @@ msgstr "비밀번호를 잊으셨나요?"
msgid "General"
msgstr "일반"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "호스트 / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "잘못된 이메일 주소입니다."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "커널"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "최대 1분"
@@ -435,16 +435,16 @@ msgstr "최대 1분"
msgid "Memory"
msgstr "메모리"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "메모리 사용량"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
msgid "Memory usage of docker containers"
msgstr "도커 컨테이너의 메모리 사용량"
#: src/components/add-system.tsx:113
#: src/components/add-system.tsx:112
msgid "Name"
msgstr "이름"
@@ -452,11 +452,11 @@ msgstr "이름"
msgid "Net"
msgstr "네트"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "도커 컨테이너의 네트워크 트래픽"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "공용 인터페이스의 네트워크 트래픽"
@@ -552,27 +552,32 @@ msgstr "지침은 <0>문서</0>를 참조하세요."
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "SMTP 설정"
msgid "Status"
msgstr "상태"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "시스템에서 사용된 스왑 공간"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "스왑 사용량"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "{extraFsName}의 처리량"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "루트 파일 시스템의 처리량"
@@ -706,8 +711,8 @@ msgstr "루트 파일 시스템의 처리량"
msgid "To email(s)"
msgstr "이메일로"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "그리드 전환"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "가동 시간"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "사용량"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "사용자 이름"
msgid "Users"
msgstr "사용자"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "표시할 충분한 기록을 기다리는 중"
@@ -789,9 +793,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

View File

@@ -0,0 +1,812 @@
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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# dag} other {# dagen}}"
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "Gemiddelde"
#: src/components/routes/system.tsx:389
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:378
msgid "Average system-wide CPU utilization"
msgstr "Gemiddeld systeembrede CPU-gebruik"
#: src/components/command-palette.tsx:171
#: src/components/navbar.tsx:94
msgid "Backups"
msgstr "Back-ups"
#: src/components/routes/system.tsx:434
#: 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:377
#: 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:424
msgid "Disk I/O"
msgstr "Schijf I/O"
#: src/components/charts/disk-chart.tsx:79
#: src/components/routes/system.tsx:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Schijfgebruik"
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Schijfgebruik van {extraFsName}"
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker CPU-gebruik"
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Docker geheugengebruik"
#: src/components/routes/system.tsx:450
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:36
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:589
#: 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/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:255
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:17
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:621
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:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Geheugengebruik"
#: src/components/routes/system.tsx:410
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:451
msgid "Network traffic of docker containers"
msgstr "Netwerkverkeer van docker containers"
#: src/components/routes/system.tsx:436
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:34
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:38
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:400
#: src/components/routes/system.tsx:516
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:466
msgid "Swap space used by the system"
msgstr "Swap ruimte gebruikt door het systeem"
#: src/components/routes/system.tsx:465
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:477
#: src/lib/utils.ts:314
msgid "Temperature"
msgstr "Temperatuur"
#: src/components/routes/system.tsx:478
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:557
msgid "Throughput of {extraFsName}"
msgstr "Doorvoer van {extraFsName}"
#: src/components/routes/system.tsx:425
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:352
#: src/components/routes/system.tsx:365
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:254
msgid "Uptime"
msgstr "Actief"
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Gebruik"
#: src/components/routes/system.tsx:417
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:653
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."

View File

@@ -0,0 +1,812 @@
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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# dzień} few {# dni} many {# dni} other {# dni}}"
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "Średnia"
#: src/components/routes/system.tsx:389
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:378
msgid "Average system-wide CPU utilization"
msgstr "Średnie wykorzystanie procesora w całym systemie"
#: src/components/command-palette.tsx:171
#: src/components/navbar.tsx:94
msgid "Backups"
msgstr "Kopie"
#: src/components/routes/system.tsx:434
#: 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:377
#: 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:424
msgid "Disk I/O"
msgstr "Dysk I/O"
#: src/components/charts/disk-chart.tsx:79
#: src/components/routes/system.tsx:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Użycie dysku"
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Wykorzystanie dysku {extraFsName}"
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Wykorzystanie procesora przez Docker"
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Wykorzystanie pamięci przez Docker"
#: src/components/routes/system.tsx:450
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:36
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:589
#: 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/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:255
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:17
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:621
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:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Wykorzystanie pamięci"
#: src/components/routes/system.tsx:410
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:451
msgid "Network traffic of docker containers"
msgstr "Ruch sieciowy kontenerów Docker."
#: src/components/routes/system.tsx:436
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:34
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:38
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:400
#: src/components/routes/system.tsx:516
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:466
msgid "Swap space used by the system"
msgstr "Pamięć wymiany używana przez system"
#: src/components/routes/system.tsx:465
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:477
#: src/lib/utils.ts:314
msgid "Temperature"
msgstr "Temperatura"
#: src/components/routes/system.tsx:478
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:557
msgid "Throughput of {extraFsName}"
msgstr "Przepustowość {extraFsName}"
#: src/components/routes/system.tsx:425
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:352
#: src/components/routes/system.tsx:365
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:254
msgid "Uptime"
msgstr "Czas pracy"
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Wykorzystanie"
#: src/components/routes/system.tsx:417
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:653
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."

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Média"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Utilização média de CPU dos contêineres"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Utilização média de CPU em todo o sistema"
@@ -133,7 +133,7 @@ msgstr "Utilização média de CPU em todo o sistema"
msgid "Backups"
msgstr "Backups"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Largura de Banda"
@@ -182,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Uso de CPU"
@@ -265,29 +265,29 @@ msgstr "Excluir"
msgid "Disk"
msgstr "Disco"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Uso de Disco"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Uso de disco de {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Uso de CPU do Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Uso de Memória do Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "E/S de Rede do Docker"
@@ -355,7 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filtrar..."
@@ -374,7 +374,7 @@ msgstr "Esqueceu a senha?"
msgid "General"
msgstr "Geral"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Host / IP"
@@ -387,7 +387,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:255
msgid "Kernel"
msgstr "Kernel"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Máx 1 min"
@@ -435,16 +435,16 @@ msgstr "Máx 1 min"
msgid "Memory"
msgstr "Memória"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Uso de Memória"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "Nome"
msgid "Net"
msgstr "Rede"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
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:436
msgid "Network traffic of public interfaces"
msgstr "Tráfego de rede das interfaces públicas"
@@ -552,27 +552,32 @@ msgstr "Por favor, veja <0>a documentação</0> para instruções."
msgid "Please sign in to your account"
msgstr "Por favor, entre na sua conta"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Porta"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "Configurações SMTP"
msgid "Status"
msgstr "Status"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
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:465
msgid "Swap Usage"
msgstr "Uso de Swap"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Taxa de transferência de {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Taxa de transferência do sistema de arquivos raiz"
@@ -706,8 +711,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Alternar grade"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "Tempo de Atividade"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Uso"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Nome de usuário"
msgid "Users"
msgstr "Usuários"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Aguardando registros suficientes para exibir"
@@ -789,9 +793,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

View File

@@ -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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# день} other {# дней}}"
#: src/components/routes/system.tsx:240
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "Среднее"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Среднее использование CPU контейнерами"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Среднее использование CPU по всей системе"
@@ -133,7 +133,7 @@ msgstr "Среднее использование CPU по всей систем
msgid "Backups"
msgstr "Резервные копии"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Пропускная способность"
@@ -182,7 +182,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 +213,7 @@ msgstr "Продолжить"
msgid "Copied to clipboard"
msgstr "Скопировано в буфер обмена"
#: src/components/add-system.tsx:164
#: src/components/add-system.tsx:158
msgid "Copy"
msgstr "Копировать"
@@ -221,7 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Использование CPU"
@@ -265,29 +265,29 @@ msgstr "Удалить"
msgid "Disk"
msgstr "Диск"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Использование диска"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Использование диска {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Использование CPU Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Использование памяти Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Сетевой ввод/вывод Docker"
@@ -355,7 +355,7 @@ msgstr "Не удалось отправить тестовое уведомле
msgid "Failed to update alert"
msgstr "Не удалось обновить оповещение"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Фильтр..."
@@ -374,7 +374,7 @@ msgstr "Забыли пароль?"
msgid "General"
msgstr "Общие"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Хост / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "Неверный адрес электронной почты."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Ядро"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Макс 1 мин"
@@ -435,16 +435,16 @@ msgstr "Макс 1 мин"
msgid "Memory"
msgstr "Память"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Использование памяти"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "Имя"
msgid "Net"
msgstr "Сеть"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Сетевой трафик контейнеров Docker"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Сетевой трафик публичных интерфейсов"
@@ -552,27 +552,32 @@ msgstr "Пожалуйста, смотрите <0>документацию</0>
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "Настройки SMTP"
msgid "Status"
msgstr "Статус"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "Используемое системой пространство подкачки"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "Использование подкачки"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Пропускная способность {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Пропускная способность корневой файловой системы"
@@ -706,8 +711,8 @@ msgstr "Пропускная способность корневой файло
msgid "To email(s)"
msgstr "На электронную почту"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Переключить сетку"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "Время работы"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Использование"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Имя пользователя"
msgid "Users"
msgstr "Пользователи"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Ожидание достаточного количества записей для отображения"
@@ -789,9 +793,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

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Ortalama"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Konteynerlerin ortalama CPU kullanımı"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Sistem genelinde ortalama CPU kullanımı"
@@ -133,7 +133,7 @@ msgstr "Sistem genelinde ortalama CPU kullanımı"
msgid "Backups"
msgstr "Yedekler"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Bant Genişliği"
@@ -182,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU Kullanımı"
@@ -265,29 +265,29 @@ msgstr "Sil"
msgid "Disk"
msgstr "Disk"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Disk Kullanımı"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "{extraFsName} disk kullanımı"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker CPU Kullanımı"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Docker Bellek Kullanımı"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Docker Ağ G/Ç"
@@ -355,7 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Filtrele..."
@@ -374,7 +374,7 @@ msgstr "Şifrenizi mi unuttunuz?"
msgid "General"
msgstr "Genel"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Host / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "Geçersiz e-posta adresi."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Çekirdek"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Maks 1 dk"
@@ -435,16 +435,16 @@ msgstr "Maks 1 dk"
msgid "Memory"
msgstr "Bellek"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Bellek Kullanımı"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "Ad"
msgid "Net"
msgstr "Ağ"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Docker konteynerlerinin ağ trafiği"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Genel arayüzlerin ağ trafiği"
@@ -552,27 +552,32 @@ msgstr "Talimatlar için lütfen <0>dokümantasyonu</0> inceleyin."
msgid "Please sign in to your account"
msgstr "Lütfen hesabınıza giriş yapın"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Port"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "SMTP ayarları"
msgid "Status"
msgstr "Durum"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
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:465
msgid "Swap Usage"
msgstr "Takas Kullanımı"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "{extraFsName} verimliliği"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Kök dosya sisteminin verimliliği"
@@ -706,8 +711,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Izgarayı değiştir"
@@ -731,10 +736,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 +748,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:254
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:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Kullanım"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Kullanıcı Adı"
msgid "Users"
msgstr "Kullanıcılar"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Görüntülemek için yeterli kayıt bekleniyor"
@@ -789,9 +793,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

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Середнє"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Середнє використання CPU контейнерами"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Середнє використання CPU по всій системі"
@@ -133,7 +133,7 @@ msgstr "Середнє використання CPU по всій системі
msgid "Backups"
msgstr "Резервні копії"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Пропускна здатність"
@@ -182,7 +182,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 +213,7 @@ msgstr "Продовжити"
msgid "Copied to clipboard"
msgstr "Скопійовано в буфер обміну"
#: src/components/add-system.tsx:164
#: src/components/add-system.tsx:158
msgid "Copy"
msgstr "Копіювати"
@@ -221,7 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Використання ЦП"
@@ -265,29 +265,29 @@ msgstr "Видалити"
msgid "Disk"
msgstr "Диск"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Використання диска"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Використання диска {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Використання ЦП Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Використання пам'яті Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Мережевий ввід/вивід Docker"
@@ -355,7 +355,7 @@ msgstr "Не вдалося надіслати тестове сповіщенн
msgid "Failed to update alert"
msgstr "Не вдалося оновити сповіщення"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Фільтр..."
@@ -374,7 +374,7 @@ msgstr "Забули пароль?"
msgid "General"
msgstr "Загальні"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Хост / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "Неправильна адреса електронної пошти."
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "Ядро"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Макс 1 хв"
@@ -435,28 +435,28 @@ msgstr "Макс 1 хв"
msgid "Memory"
msgstr "Пам'ять"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "Використання пам'яті"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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:451
msgid "Network traffic of docker containers"
msgstr "Мережевий трафік контейнерів Docker"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "Мережевий трафік публічних інтерфейсів"
@@ -552,27 +552,32 @@ msgstr "Будь ласка, перегляньте <0>документацію<
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "Налаштування SMTP"
msgid "Status"
msgstr "Статус"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "Область підкачки, використана системою"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "Використання підкачки"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Пропускна здатність {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Пропускна здатність кореневої файлової системи"
@@ -706,8 +711,8 @@ msgstr "Пропускна здатність кореневої файлово
msgid "To email(s)"
msgstr "На електронну пошту"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Перемкнути сітку"
@@ -721,7 +726,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 +736,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 +748,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:254
msgid "Uptime"
msgstr "Час роботи"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Використання"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "Ім'я користувача"
msgid "Users"
msgstr "Користувачі"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "Очікування достатньої кількості записів для відображення"
@@ -789,9 +793,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

View File

@@ -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:243
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:241
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:618
msgid "Average"
msgstr "Trung bình"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "Sử dụng CPU trung bình của các container"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "Sử dụng CPU trung bình toàn hệ thống"
@@ -133,7 +133,7 @@ msgstr "Sử dụng CPU trung bình toàn hệ thống"
msgid "Backups"
msgstr "Sao lưu"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "Băng thông"
@@ -182,7 +182,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 +213,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 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "Sử dụng CPU"
@@ -265,29 +265,29 @@ msgstr "Xóa"
msgid "Disk"
msgstr "Đĩa"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "Sử dụng Đĩa"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "Sử dụng đĩa của {extraFsName}"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Sử dụng CPU Docker"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Sử dụng Bộ nhớ Docker"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Mạng I/O Docker"
@@ -355,7 +355,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:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "Lọc..."
@@ -374,7 +374,7 @@ msgstr "Quên mật khẩu?"
msgid "General"
msgstr "Chung"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "Máy chủ / IP"
@@ -387,7 +387,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:255
msgid "Kernel"
msgstr "Nhân"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "Tối đa 1 phút"
@@ -435,16 +435,16 @@ msgstr "Tối đa 1 phút"
msgid "Memory"
msgstr "Bộ nhớ"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: 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:410
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 +452,11 @@ msgstr "Tên"
msgid "Net"
msgstr "Mạng"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
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:436
msgid "Network traffic of public interfaces"
msgstr "Lưu lượng mạng của các giao diện công cộng"
@@ -552,27 +552,32 @@ msgstr "Vui lòng xem <0>tài liệu</0> để biết hướng dẫn."
msgid "Please sign in to your account"
msgstr "Vui lòng đăng nhập vào tài khoản của bạn"
#: src/components/add-system.tsx:125
#: src/components/add-system.tsx:120
msgid "Port"
msgstr "Cổng"
#: src/components/routes/system.tsx:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "Cài đặt SMTP"
msgid "Status"
msgstr "Trạng thái"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
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:465
msgid "Swap Usage"
msgstr "Sử dụng Hoán đổi"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "Thông lượng của {extraFsName}"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "Thông lượng của hệ thống tệp gốc"
@@ -706,8 +711,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:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "Chuyển đổi lưới"
@@ -731,10 +736,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 +748,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:254
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:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "Sử dụng"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,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:653
msgid "Waiting for enough records to display"
msgstr "Đang chờ đủ bản ghi để hiển thị"
@@ -789,9 +793,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

View File

@@ -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-07 18:49\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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# 天} other {# 天}}"
#: src/components/routes/system.tsx:240
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "平均"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "容器的平均CPU使用率"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "系统范围内的平均CPU使用率"
@@ -133,18 +133,18 @@ msgstr "系统范围内的平均CPU使用率"
msgid "Backups"
msgstr "备份"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: 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 +160,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 +182,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,15 +213,15 @@ 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命令"
@@ -233,8 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU使用率"
@@ -246,7 +246,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 +265,29 @@ msgstr "删除"
msgid "Disk"
msgstr "磁盘"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "磁盘使用"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "{extraFsName}的磁盘使用"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker CPU使用"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Docker内存使用"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Docker网络I/O"
@@ -355,7 +355,7 @@ msgstr "发送测试通知失败"
msgid "Failed to update alert"
msgstr "更新警报失败"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "过滤..."
@@ -374,7 +374,7 @@ msgstr "忘记密码?"
msgid "General"
msgstr "常规"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "主机/IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "无效的电子邮件地址。"
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "内核"
@@ -398,7 +398,7 @@ msgstr "语言"
#. Light theme
#: src/components/mode-toggle.tsx:16
msgid "Light"
msgstr "浅色"
msgstr "浅色模式"
#: src/components/navbar.tsx:113
msgid "Log Out"
@@ -427,24 +427,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:621
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:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "内存使用"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "名称"
msgid "Net"
msgstr "网络"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Docker容器的网络流量"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "公共接口的网络流量"
@@ -488,7 +488,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"
@@ -552,27 +552,32 @@ msgstr "请参阅<0>文档</0>以获取说明。"
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,13 @@ msgstr "SMTP设置"
msgid "Status"
msgstr "状态"
#: src/components/routes/system.tsx:467
msgid "Swap space used by the system"
msgstr "系统使用的交换空间"
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "系统使用的SWAP空间"
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "交换使用"
msgstr "SWAP使用"
#. System theme
#: src/components/mode-toggle.tsx:26
@@ -680,11 +685,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 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "{extraFsName}的吞吐量"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "根文件系统的吞吐量"
@@ -706,8 +711,8 @@ msgstr "根文件系统的吞吐量"
msgid "To email(s)"
msgstr "发送到电子邮件"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "切换网格"
@@ -721,7 +726,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 +736,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:254
msgid "Uptime"
msgstr "正常运行时间"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "使用"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "用户名"
msgid "Users"
msgstr "用户"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "等待足够的记录以显示"
@@ -789,9 +793,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

View File

@@ -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:243
msgid "{0, plural, one {# day} other {# days}}"
msgstr "{0, plural, one {# 天} other {# 天}}"
#: src/components/routes/system.tsx:240
#: src/components/routes/system.tsx:241
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:618
msgid "Average"
msgstr "平均"
#: src/components/routes/system.tsx:387
#: src/components/routes/system.tsx:389
msgid "Average CPU utilization of containers"
msgstr "容器的平均CPU使用率"
@@ -124,7 +124,7 @@ 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:378
msgid "Average system-wide CPU utilization"
msgstr "系統範圍內的平均CPU使用率"
@@ -133,7 +133,7 @@ msgstr "系統範圍內的平均CPU使用率"
msgid "Backups"
msgstr "備份"
#: src/components/routes/system.tsx:436
#: src/components/routes/system.tsx:434
#: src/lib/utils.ts:307
msgid "Bandwidth"
msgstr "帶寬"
@@ -182,7 +182,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 +213,7 @@ msgstr "繼續"
msgid "Copied to clipboard"
msgstr "已複製到剪貼板"
#: src/components/add-system.tsx:164
#: src/components/add-system.tsx:158
msgid "Copy"
msgstr "複製"
@@ -221,7 +221,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 +233,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:377
#: src/lib/utils.ts:289
msgid "CPU Usage"
msgstr "CPU使用率"
@@ -265,29 +265,29 @@ msgstr "刪除"
msgid "Disk"
msgstr "磁碟"
#: src/components/routes/system.tsx:426
#: src/components/routes/system.tsx:424
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:417
#: src/lib/utils.ts:301
msgid "Disk Usage"
msgstr "磁碟使用"
#: src/components/routes/system.tsx:495
#: src/components/routes/system.tsx:545
msgid "Disk usage of {extraFsName}"
msgstr "{extraFsName}的磁碟使用"
#: src/components/routes/system.tsx:386
#: src/components/routes/system.tsx:388
msgid "Docker CPU Usage"
msgstr "Docker CPU使用"
#: src/components/routes/system.tsx:407
#: src/components/routes/system.tsx:409
msgid "Docker Memory Usage"
msgstr "Docker記憶體使用"
#: src/components/routes/system.tsx:452
#: src/components/routes/system.tsx:450
msgid "Docker Network I/O"
msgstr "Docker網絡I/O"
@@ -355,7 +355,7 @@ msgstr "發送測試通知失敗"
msgid "Failed to update alert"
msgstr "更新警報失敗"
#: src/components/routes/system.tsx:539
#: src/components/routes/system.tsx:589
#: src/components/systems-table/systems-table.tsx:324
msgid "Filter..."
msgstr "篩選..."
@@ -374,7 +374,7 @@ msgstr "忘記密碼?"
msgid "General"
msgstr "一般"
#: src/components/add-system.tsx:119
#: src/components/add-system.tsx:116
msgid "Host / IP"
msgstr "主機 / IP"
@@ -387,7 +387,7 @@ msgid "Invalid email address."
msgstr "無效的電子郵件地址。"
#. Linux kernel
#: src/components/routes/system.tsx:254
#: src/components/routes/system.tsx:255
msgid "Kernel"
msgstr "內核"
@@ -427,7 +427,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:621
msgid "Max 1 min"
msgstr "最大1分鐘"
@@ -435,16 +435,16 @@ msgstr "最大1分鐘"
msgid "Memory"
msgstr "記憶體"
#: src/components/routes/system.tsx:397
#: src/components/routes/system.tsx:399
#: src/lib/utils.ts:295
msgid "Memory Usage"
msgstr "記憶體使用"
#: src/components/routes/system.tsx:408
#: src/components/routes/system.tsx:410
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 +452,11 @@ msgstr "名稱"
msgid "Net"
msgstr "網絡"
#: src/components/routes/system.tsx:453
#: src/components/routes/system.tsx:451
msgid "Network traffic of docker containers"
msgstr "Docker容器的網絡流量"
#: src/components/routes/system.tsx:438
#: src/components/routes/system.tsx:436
msgid "Network traffic of public interfaces"
msgstr "公共接口的網絡流量"
@@ -552,27 +552,32 @@ msgstr "請參閱<0>文檔</0>以獲取說明。"
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:400
#: src/components/routes/system.tsx:516
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 +610,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 +643,11 @@ msgstr "SMTP設置"
msgid "Status"
msgstr "狀態"
#: src/components/routes/system.tsx:467
#: src/components/routes/system.tsx:466
msgid "Swap space used by the system"
msgstr "系統使用的交換空間"
#: src/components/routes/system.tsx:466
#: src/components/routes/system.tsx:465
msgid "Swap Usage"
msgstr "交換使用"
@@ -694,11 +699,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:557
msgid "Throughput of {extraFsName}"
msgstr "{extraFsName}的吞吐量"
#: src/components/routes/system.tsx:427
#: src/components/routes/system.tsx:425
msgid "Throughput of root filesystem"
msgstr "根文件系統的吞吐量"
@@ -706,8 +711,8 @@ msgstr "根文件系統的吞吐量"
msgid "To email(s)"
msgstr "發送到電子郵件"
#: src/components/routes/system.tsx:350
#: src/components/routes/system.tsx:363
#: src/components/routes/system.tsx:352
#: src/components/routes/system.tsx:365
msgid "Toggle grid"
msgstr "切換網格"
@@ -731,10 +736,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 +748,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:254
msgid "Uptime"
msgstr "正常運行時間"
#: src/components/routes/system.tsx:494
#: src/components/charts/area-chart.tsx:73
#: src/components/routes/system.tsx:507
#: src/components/routes/system.tsx:544
msgid "Usage"
msgstr "使用"
#: src/components/routes/system.tsx:415
#: src/components/routes/system.tsx:417
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 +781,7 @@ msgstr "用戶名"
msgid "Users"
msgstr "用戶"
#: src/components/routes/system.tsx:603
#: src/components/routes/system.tsx:653
msgid "Waiting for enough records to display"
msgstr "等待足夠的記錄以顯示"
@@ -789,9 +793,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

View File

@@ -81,6 +81,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 {

View File

@@ -1,6 +1,6 @@
package beszel
const (
Version = "0.6.2"
Version = "0.7.4"
AppName = "beszel"
)

View File

@@ -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

View File

@@ -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

View File

@@ -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"