mirror of
https://github.com/henrygd/beszel.git
synced 2026-04-03 11:31:50 +02:00
Compare commits
63 Commits
extra-disk
...
82bd953941
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82bd953941 | ||
|
|
996444abeb | ||
|
|
aef4baff5e | ||
|
|
3dea061e93 | ||
|
|
35329abcbd | ||
|
|
ee7741c3ab | ||
|
|
ab0803b2da | ||
|
|
96196a353c | ||
|
|
2a8796c38d | ||
|
|
c8d4f7427d | ||
|
|
8d41a797d3 | ||
|
|
570e1cbf40 | ||
|
|
4c9b00a066 | ||
|
|
7d1f8bb180 | ||
|
|
3a6caeb06e | ||
|
|
9e67245e60 | ||
|
|
b7a95d5d76 | ||
|
|
fe550c5901 | ||
|
|
8aac0a571a | ||
|
|
c506b8b0ad | ||
|
|
a6e84c207e | ||
|
|
249402eaed | ||
|
|
394c476f2a | ||
|
|
86e8a141ea | ||
|
|
53a7e06dcf | ||
|
|
11edabd09f | ||
|
|
41a3d9359f | ||
|
|
5dfc5f247f | ||
|
|
9804c8a31a | ||
|
|
4d05bfdff0 | ||
|
|
0388401a9e | ||
|
|
162c548010 | ||
|
|
888b4a57e5 | ||
|
|
26d367b188 | ||
|
|
ca4988951f | ||
|
|
c7a50dd74d | ||
|
|
00fbf5c9c3 | ||
|
|
4bfe9dd5ad | ||
|
|
e159a75b79 | ||
|
|
a69686125e | ||
|
|
3eb025ded2 | ||
|
|
1d0e646094 | ||
|
|
32c8e047e3 | ||
|
|
3650482b09 | ||
|
|
79adfd2c0d | ||
|
|
779dcc62aa | ||
|
|
abe39c1a0a | ||
|
|
bd41ad813c | ||
|
|
77fe63fb63 | ||
|
|
f61ba202d8 | ||
|
|
e1067fa1a3 | ||
|
|
0a3eb898ae | ||
|
|
6c33e9dc93 | ||
|
|
f8ed6ce705 | ||
|
|
f64478b75e | ||
|
|
854a3697d7 | ||
|
|
b7915b9d0e | ||
|
|
4443b606f6 | ||
|
|
6c20a98651 | ||
|
|
b722ccc5bc | ||
|
|
db0315394b | ||
|
|
a7ef1235f4 | ||
|
|
f64a361c60 |
40
.github/workflows/docker-images.yml
vendored
40
.github/workflows/docker-images.yml
vendored
@@ -10,6 +10,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
max-parallel: 5
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
# henrygd/beszel
|
# henrygd/beszel
|
||||||
@@ -25,18 +26,17 @@ jobs:
|
|||||||
type=semver,pattern={{major}}
|
type=semver,pattern={{major}}
|
||||||
type=raw,value={{sha}},enable=${{ github.ref_type != 'tag' }}
|
type=raw,value={{sha}},enable=${{ github.ref_type != 'tag' }}
|
||||||
|
|
||||||
# henrygd/beszel-agent
|
# henrygd/beszel-agent:alpine
|
||||||
- image: henrygd/beszel-agent
|
- image: henrygd/beszel-agent
|
||||||
dockerfile: ./internal/dockerfile_agent
|
dockerfile: ./internal/dockerfile_agent_alpine
|
||||||
registry: docker.io
|
registry: docker.io
|
||||||
username_secret: DOCKERHUB_USERNAME
|
username_secret: DOCKERHUB_USERNAME
|
||||||
password_secret: DOCKERHUB_TOKEN
|
password_secret: DOCKERHUB_TOKEN
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=edge
|
type=raw,value=alpine
|
||||||
type=semver,pattern={{version}}
|
type=semver,pattern={{version}}-alpine
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
type=semver,pattern={{major}}.{{minor}}-alpine
|
||||||
type=semver,pattern={{major}}
|
type=semver,pattern={{major}}-alpine
|
||||||
type=raw,value={{sha}},enable=${{ github.ref_type != 'tag' }}
|
|
||||||
|
|
||||||
# henrygd/beszel-agent-nvidia
|
# henrygd/beszel-agent-nvidia
|
||||||
- image: henrygd/beszel-agent-nvidia
|
- image: henrygd/beszel-agent-nvidia
|
||||||
@@ -66,18 +66,6 @@ jobs:
|
|||||||
type=semver,pattern={{major}}
|
type=semver,pattern={{major}}
|
||||||
type=raw,value={{sha}},enable=${{ github.ref_type != 'tag' }}
|
type=raw,value={{sha}},enable=${{ github.ref_type != 'tag' }}
|
||||||
|
|
||||||
# henrygd/beszel-agent:alpine
|
|
||||||
- image: henrygd/beszel-agent
|
|
||||||
dockerfile: ./internal/dockerfile_agent_alpine
|
|
||||||
registry: docker.io
|
|
||||||
username_secret: DOCKERHUB_USERNAME
|
|
||||||
password_secret: DOCKERHUB_TOKEN
|
|
||||||
tags: |
|
|
||||||
type=raw,value=alpine
|
|
||||||
type=semver,pattern={{version}}-alpine
|
|
||||||
type=semver,pattern={{major}}.{{minor}}-alpine
|
|
||||||
type=semver,pattern={{major}}-alpine
|
|
||||||
|
|
||||||
# ghcr.io/henrygd/beszel
|
# ghcr.io/henrygd/beszel
|
||||||
- image: ghcr.io/${{ github.repository }}/beszel
|
- image: ghcr.io/${{ github.repository }}/beszel
|
||||||
dockerfile: ./internal/dockerfile_hub
|
dockerfile: ./internal/dockerfile_hub
|
||||||
@@ -99,6 +87,7 @@ jobs:
|
|||||||
password_secret: GITHUB_TOKEN
|
password_secret: GITHUB_TOKEN
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=edge
|
type=raw,value=edge
|
||||||
|
type=raw,value=latest
|
||||||
type=semver,pattern={{version}}
|
type=semver,pattern={{version}}
|
||||||
type=semver,pattern={{major}}.{{minor}}
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
type=semver,pattern={{major}}
|
type=semver,pattern={{major}}
|
||||||
@@ -144,6 +133,19 @@ jobs:
|
|||||||
type=semver,pattern={{major}}.{{minor}}-alpine
|
type=semver,pattern={{major}}.{{minor}}-alpine
|
||||||
type=semver,pattern={{major}}-alpine
|
type=semver,pattern={{major}}-alpine
|
||||||
|
|
||||||
|
# henrygd/beszel-agent (keep at bottom so it gets built after :alpine and gets the latest tag)
|
||||||
|
- image: henrygd/beszel-agent
|
||||||
|
dockerfile: ./internal/dockerfile_agent
|
||||||
|
registry: docker.io
|
||||||
|
username_secret: DOCKERHUB_USERNAME
|
||||||
|
password_secret: DOCKERHUB_TOKEN
|
||||||
|
tags: |
|
||||||
|
type=raw,value=edge
|
||||||
|
type=semver,pattern={{version}}
|
||||||
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
|
type=semver,pattern={{major}}
|
||||||
|
type=raw,value={{sha}},enable=${{ github.ref_type != 'tag' }}
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
packages: write
|
packages: write
|
||||||
|
|||||||
17
.github/workflows/inactivity-actions.yml
vendored
17
.github/workflows/inactivity-actions.yml
vendored
@@ -10,12 +10,25 @@ permissions:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
lock-inactive:
|
||||||
|
name: Lock Inactive Issues
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
steps:
|
||||||
|
- uses: klaasnicolaas/action-inactivity-lock@v1.1.3
|
||||||
|
id: lock
|
||||||
|
with:
|
||||||
|
days-inactive-issues: 14
|
||||||
|
lock-reason-issues: ""
|
||||||
|
# Action can not skip PRs, set it to 100 years to cover it.
|
||||||
|
days-inactive-prs: 36524
|
||||||
|
lock-reason-prs: ""
|
||||||
|
|
||||||
close-stale:
|
close-stale:
|
||||||
name: Close Stale Issues
|
name: Close Stale Issues
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
steps:
|
steps:
|
||||||
- name: Close Stale Issues
|
- name: Close Stale Issues
|
||||||
uses: actions/stale@v9
|
uses: actions/stale@v10
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
@@ -32,6 +45,8 @@ jobs:
|
|||||||
# Timing
|
# Timing
|
||||||
days-before-issue-stale: 14
|
days-before-issue-stale: 14
|
||||||
days-before-issue-close: 7
|
days-before-issue-close: 7
|
||||||
|
# Action can not skip PRs, set it to 100 years to cover it.
|
||||||
|
days-before-pr-stale: 36524
|
||||||
|
|
||||||
# Labels
|
# Labels
|
||||||
stale-issue-label: 'stale'
|
stale-issue-label: 'stale'
|
||||||
|
|||||||
@@ -16,10 +16,21 @@ builds:
|
|||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
- darwin
|
- darwin
|
||||||
|
- windows
|
||||||
|
- freebsd
|
||||||
goarch:
|
goarch:
|
||||||
- amd64
|
- amd64
|
||||||
- arm64
|
- arm64
|
||||||
- arm
|
- arm
|
||||||
|
ignore:
|
||||||
|
- goos: windows
|
||||||
|
goarch: arm64
|
||||||
|
- goos: windows
|
||||||
|
goarch: arm
|
||||||
|
- goos: freebsd
|
||||||
|
goarch: arm64
|
||||||
|
- goos: freebsd
|
||||||
|
goarch: arm
|
||||||
|
|
||||||
- id: beszel-agent
|
- id: beszel-agent
|
||||||
binary: beszel-agent
|
binary: beszel-agent
|
||||||
@@ -86,6 +97,9 @@ archives:
|
|||||||
{{ .Binary }}_
|
{{ .Binary }}_
|
||||||
{{- .Os }}_
|
{{- .Os }}_
|
||||||
{{- .Arch }}
|
{{- .Arch }}
|
||||||
|
format_overrides:
|
||||||
|
- goos: windows
|
||||||
|
formats: [zip]
|
||||||
|
|
||||||
nfpms:
|
nfpms:
|
||||||
- id: beszel-agent
|
- id: beszel-agent
|
||||||
|
|||||||
@@ -12,10 +12,12 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/gliderlabs/ssh"
|
"github.com/gliderlabs/ssh"
|
||||||
"github.com/henrygd/beszel"
|
"github.com/henrygd/beszel"
|
||||||
"github.com/henrygd/beszel/agent/deltatracker"
|
"github.com/henrygd/beszel/agent/deltatracker"
|
||||||
|
"github.com/henrygd/beszel/internal/common"
|
||||||
"github.com/henrygd/beszel/internal/entities/system"
|
"github.com/henrygd/beszel/internal/entities/system"
|
||||||
"github.com/shirou/gopsutil/v4/host"
|
"github.com/shirou/gopsutil/v4/host"
|
||||||
gossh "golang.org/x/crypto/ssh"
|
gossh "golang.org/x/crypto/ssh"
|
||||||
@@ -29,12 +31,15 @@ type Agent struct {
|
|||||||
fsNames []string // List of filesystem device names being monitored
|
fsNames []string // List of filesystem device names being monitored
|
||||||
fsStats map[string]*system.FsStats // Keeps track of disk stats for each filesystem
|
fsStats map[string]*system.FsStats // Keeps track of disk stats for each filesystem
|
||||||
diskPrev map[uint16]map[string]prevDisk // Previous disk I/O counters per cache interval
|
diskPrev map[uint16]map[string]prevDisk // Previous disk I/O counters per cache interval
|
||||||
|
diskUsageCacheDuration time.Duration // How long to cache disk usage (to avoid waking sleeping disks)
|
||||||
|
lastDiskUsageUpdate time.Time // Last time disk usage was collected
|
||||||
netInterfaces map[string]struct{} // Stores all valid network interfaces
|
netInterfaces map[string]struct{} // Stores all valid network interfaces
|
||||||
netIoStats map[uint16]system.NetIoStats // Keeps track of bandwidth usage per cache interval
|
netIoStats map[uint16]system.NetIoStats // Keeps track of bandwidth usage per cache interval
|
||||||
netInterfaceDeltaTrackers map[uint16]*deltatracker.DeltaTracker[string, uint64] // Per-cache-time NIC delta trackers
|
netInterfaceDeltaTrackers map[uint16]*deltatracker.DeltaTracker[string, uint64] // Per-cache-time NIC delta trackers
|
||||||
dockerManager *dockerManager // Manages Docker API requests
|
dockerManager *dockerManager // Manages Docker API requests
|
||||||
sensorConfig *SensorConfig // Sensors config
|
sensorConfig *SensorConfig // Sensors config
|
||||||
systemInfo system.Info // Host system info
|
systemInfo system.Info // Host system info (dynamic)
|
||||||
|
systemDetails system.Details // Host system details (static, once-per-connection)
|
||||||
gpuManager *GPUManager // Manages GPU data
|
gpuManager *GPUManager // Manages GPU data
|
||||||
cache *systemDataCache // Cache for system stats based on cache time
|
cache *systemDataCache // Cache for system stats based on cache time
|
||||||
connectionManager *ConnectionManager // Channel to signal connection events
|
connectionManager *ConnectionManager // Channel to signal connection events
|
||||||
@@ -69,6 +74,16 @@ func NewAgent(dataDir ...string) (agent *Agent, err error) {
|
|||||||
|
|
||||||
agent.memCalc, _ = GetEnv("MEM_CALC")
|
agent.memCalc, _ = GetEnv("MEM_CALC")
|
||||||
agent.sensorConfig = agent.newSensorConfig()
|
agent.sensorConfig = agent.newSensorConfig()
|
||||||
|
|
||||||
|
// Parse disk usage cache duration (e.g., "15m", "1h") to avoid waking sleeping disks
|
||||||
|
if diskUsageCache, exists := GetEnv("DISK_USAGE_CACHE"); exists {
|
||||||
|
if duration, err := time.ParseDuration(diskUsageCache); err == nil {
|
||||||
|
agent.diskUsageCacheDuration = duration
|
||||||
|
slog.Info("DISK_USAGE_CACHE", "duration", duration)
|
||||||
|
} else {
|
||||||
|
slog.Warn("Invalid DISK_USAGE_CACHE", "err", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
// Set up slog with a log level determined by the LOG_LEVEL env var
|
// Set up slog with a log level determined by the LOG_LEVEL env var
|
||||||
if logLevelStr, exists := GetEnv("LOG_LEVEL"); exists {
|
if logLevelStr, exists := GetEnv("LOG_LEVEL"); exists {
|
||||||
switch strings.ToLower(logLevelStr) {
|
switch strings.ToLower(logLevelStr) {
|
||||||
@@ -84,8 +99,11 @@ func NewAgent(dataDir ...string) (agent *Agent, err error) {
|
|||||||
|
|
||||||
slog.Debug(beszel.Version)
|
slog.Debug(beszel.Version)
|
||||||
|
|
||||||
|
// initialize docker manager
|
||||||
|
agent.dockerManager = newDockerManager()
|
||||||
|
|
||||||
// initialize system info
|
// initialize system info
|
||||||
agent.initializeSystemInfo()
|
agent.refreshStaticInfo()
|
||||||
|
|
||||||
// initialize connection manager
|
// initialize connection manager
|
||||||
agent.connectionManager = newConnectionManager(agent)
|
agent.connectionManager = newConnectionManager(agent)
|
||||||
@@ -99,9 +117,6 @@ func NewAgent(dataDir ...string) (agent *Agent, err error) {
|
|||||||
// initialize net io stats
|
// initialize net io stats
|
||||||
agent.initializeNetIoStats()
|
agent.initializeNetIoStats()
|
||||||
|
|
||||||
// initialize docker manager
|
|
||||||
agent.dockerManager = newDockerManager(agent)
|
|
||||||
|
|
||||||
agent.systemdManager, err = newSystemdManager()
|
agent.systemdManager, err = newSystemdManager()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Debug("Systemd", "err", err)
|
slog.Debug("Systemd", "err", err)
|
||||||
@@ -120,7 +135,7 @@ func NewAgent(dataDir ...string) (agent *Agent, err error) {
|
|||||||
|
|
||||||
// if debugging, print stats
|
// if debugging, print stats
|
||||||
if agent.debug {
|
if agent.debug {
|
||||||
slog.Debug("Stats", "data", agent.gatherStats(0))
|
slog.Debug("Stats", "data", agent.gatherStats(common.DataRequestOptions{CacheTimeMs: 60_000, IncludeDetails: true}))
|
||||||
}
|
}
|
||||||
|
|
||||||
return agent, nil
|
return agent, nil
|
||||||
@@ -135,10 +150,11 @@ func GetEnv(key string) (value string, exists bool) {
|
|||||||
return os.LookupEnv(key)
|
return os.LookupEnv(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Agent) gatherStats(cacheTimeMs uint16) *system.CombinedData {
|
func (a *Agent) gatherStats(options common.DataRequestOptions) *system.CombinedData {
|
||||||
a.Lock()
|
a.Lock()
|
||||||
defer a.Unlock()
|
defer a.Unlock()
|
||||||
|
|
||||||
|
cacheTimeMs := options.CacheTimeMs
|
||||||
data, isCached := a.cache.Get(cacheTimeMs)
|
data, isCached := a.cache.Get(cacheTimeMs)
|
||||||
if isCached {
|
if isCached {
|
||||||
slog.Debug("Cached data", "cacheTimeMs", cacheTimeMs)
|
slog.Debug("Cached data", "cacheTimeMs", cacheTimeMs)
|
||||||
@@ -149,6 +165,12 @@ func (a *Agent) gatherStats(cacheTimeMs uint16) *system.CombinedData {
|
|||||||
Stats: a.getSystemStats(cacheTimeMs),
|
Stats: a.getSystemStats(cacheTimeMs),
|
||||||
Info: a.systemInfo,
|
Info: a.systemInfo,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Include static info only when requested
|
||||||
|
if options.IncludeDetails {
|
||||||
|
data.Details = &a.systemDetails
|
||||||
|
}
|
||||||
|
|
||||||
// slog.Info("System data", "data", data, "cacheTimeMs", cacheTimeMs)
|
// slog.Info("System data", "data", data, "cacheTimeMs", cacheTimeMs)
|
||||||
|
|
||||||
if a.dockerManager != nil {
|
if a.dockerManager != nil {
|
||||||
@@ -161,11 +183,19 @@ func (a *Agent) gatherStats(cacheTimeMs uint16) *system.CombinedData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// skip updating systemd services if cache time is not the default 60sec interval
|
// skip updating systemd services if cache time is not the default 60sec interval
|
||||||
if a.systemdManager != nil && cacheTimeMs == 60_000 && a.systemdManager.hasFreshStats {
|
if a.systemdManager != nil && cacheTimeMs == 60_000 {
|
||||||
|
totalCount := uint16(a.systemdManager.getServiceStatsCount())
|
||||||
|
if totalCount > 0 {
|
||||||
|
numFailed := a.systemdManager.getFailedServiceCount()
|
||||||
|
data.Info.Services = []uint16{totalCount, numFailed}
|
||||||
|
}
|
||||||
|
if a.systemdManager.hasFreshStats {
|
||||||
data.SystemdServices = a.systemdManager.getServiceStats(nil, false)
|
data.SystemdServices = a.systemdManager.getServiceStats(nil, false)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
data.Stats.ExtraFs = make(map[string]*system.FsStats)
|
data.Stats.ExtraFs = make(map[string]*system.FsStats)
|
||||||
|
data.Info.ExtraFsPct = make(map[string]float64)
|
||||||
for name, stats := range a.fsStats {
|
for name, stats := range a.fsStats {
|
||||||
if !stats.Root && stats.DiskTotal > 0 {
|
if !stats.Root && stats.DiskTotal > 0 {
|
||||||
// Use custom name if available, otherwise use device name
|
// Use custom name if available, otherwise use device name
|
||||||
@@ -174,6 +204,11 @@ func (a *Agent) gatherStats(cacheTimeMs uint16) *system.CombinedData {
|
|||||||
key = stats.Name
|
key = stats.Name
|
||||||
}
|
}
|
||||||
data.Stats.ExtraFs[key] = stats
|
data.Stats.ExtraFs[key] = stats
|
||||||
|
// Add percentages to Info struct for dashboard
|
||||||
|
if stats.DiskTotal > 0 {
|
||||||
|
pct := twoDecimals((stats.DiskUsed / stats.DiskTotal) * 100)
|
||||||
|
data.Info.ExtraFsPct[key] = pct
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
slog.Debug("Extra FS", "data", data.Stats.ExtraFs)
|
slog.Debug("Extra FS", "data", data.Stats.ExtraFs)
|
||||||
@@ -199,7 +234,7 @@ func (a *Agent) getFingerprint() string {
|
|||||||
// if no fingerprint is found, generate one
|
// if no fingerprint is found, generate one
|
||||||
fingerprint, err := host.HostID()
|
fingerprint, err := host.HostID()
|
||||||
if err != nil || fingerprint == "" {
|
if err != nil || fingerprint == "" {
|
||||||
fingerprint = a.systemInfo.Hostname + a.systemInfo.CpuModel
|
fingerprint = a.systemDetails.Hostname + a.systemDetails.CpuModel
|
||||||
}
|
}
|
||||||
|
|
||||||
// hash fingerprint
|
// hash fingerprint
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ func createTestCacheData() *system.CombinedData {
|
|||||||
DiskTotal: 100000,
|
DiskTotal: 100000,
|
||||||
},
|
},
|
||||||
Info: system.Info{
|
Info: system.Info{
|
||||||
Hostname: "test-host",
|
AgentVersion: "0.12.0",
|
||||||
},
|
},
|
||||||
Containers: []*container.Stats{
|
Containers: []*container.Stats{
|
||||||
{
|
{
|
||||||
@@ -128,7 +128,7 @@ func TestCacheMultipleIntervals(t *testing.T) {
|
|||||||
Mem: 16384,
|
Mem: 16384,
|
||||||
},
|
},
|
||||||
Info: system.Info{
|
Info: system.Info{
|
||||||
Hostname: "test-host-2",
|
AgentVersion: "0.12.0",
|
||||||
},
|
},
|
||||||
Containers: []*container.Stats{},
|
Containers: []*container.Stats{},
|
||||||
}
|
}
|
||||||
@@ -171,7 +171,7 @@ func TestCacheOverwrite(t *testing.T) {
|
|||||||
Mem: 32768,
|
Mem: 32768,
|
||||||
},
|
},
|
||||||
Info: system.Info{
|
Info: system.Info{
|
||||||
Hostname: "updated-host",
|
AgentVersion: "0.12.0",
|
||||||
},
|
},
|
||||||
Containers: []*container.Stats{},
|
Containers: []*container.Stats{},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ func (client *WebSocketClient) handleAuthChallenge(msg *common.HubRequest[cbor.R
|
|||||||
|
|
||||||
if authRequest.NeedSysInfo {
|
if authRequest.NeedSysInfo {
|
||||||
response.Name, _ = GetEnv("SYSTEM_NAME")
|
response.Name, _ = GetEnv("SYSTEM_NAME")
|
||||||
response.Hostname = client.agent.systemInfo.Hostname
|
response.Hostname = client.agent.systemDetails.Hostname
|
||||||
serverAddr := client.agent.connectionManager.serverOptions.Addr
|
serverAddr := client.agent.connectionManager.serverOptions.Addr
|
||||||
_, response.Port, _ = net.SplitHostPort(serverAddr)
|
_, response.Port, _ = net.SplitHostPort(serverAddr)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,9 @@ func (a *Agent) initializeDiskInfo() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get the appropriate root mount point for this system
|
||||||
|
rootMountPoint := a.getRootMountPoint()
|
||||||
|
|
||||||
// Use FILESYSTEM env var to find root filesystem
|
// Use FILESYSTEM env var to find root filesystem
|
||||||
if filesystem != "" {
|
if filesystem != "" {
|
||||||
for _, p := range partitions {
|
for _, p := range partitions {
|
||||||
@@ -138,7 +141,7 @@ func (a *Agent) initializeDiskInfo() {
|
|||||||
for _, p := range partitions {
|
for _, p := range partitions {
|
||||||
// fmt.Println(p.Device, p.Mountpoint)
|
// fmt.Println(p.Device, p.Mountpoint)
|
||||||
// Binary root fallback or docker root fallback
|
// Binary root fallback or docker root fallback
|
||||||
if !hasRoot && (p.Mountpoint == "/" || (p.Mountpoint == "/etc/hosts" && strings.HasPrefix(p.Device, "/dev"))) {
|
if !hasRoot && (p.Mountpoint == rootMountPoint || (p.Mountpoint == "/etc/hosts" && strings.HasPrefix(p.Device, "/dev"))) {
|
||||||
fs, match := findIoDevice(filepath.Base(p.Device), diskIoCounters, a.fsStats)
|
fs, match := findIoDevice(filepath.Base(p.Device), diskIoCounters, a.fsStats)
|
||||||
if match {
|
if match {
|
||||||
addFsStat(fs, p.Mountpoint, true)
|
addFsStat(fs, p.Mountpoint, true)
|
||||||
@@ -174,8 +177,8 @@ func (a *Agent) initializeDiskInfo() {
|
|||||||
// If no root filesystem set, use fallback
|
// If no root filesystem set, use fallback
|
||||||
if !hasRoot {
|
if !hasRoot {
|
||||||
rootDevice, _ := findIoDevice(filepath.Base(filesystem), diskIoCounters, a.fsStats)
|
rootDevice, _ := findIoDevice(filepath.Base(filesystem), diskIoCounters, a.fsStats)
|
||||||
slog.Info("Root disk", "mountpoint", "/", "io", rootDevice)
|
slog.Info("Root disk", "mountpoint", rootMountPoint, "io", rootDevice)
|
||||||
a.fsStats[rootDevice] = &system.FsStats{Root: true, Mountpoint: "/"}
|
a.fsStats[rootDevice] = &system.FsStats{Root: true, Mountpoint: rootMountPoint}
|
||||||
}
|
}
|
||||||
|
|
||||||
a.initializeDiskIoStats(diskIoCounters)
|
a.initializeDiskIoStats(diskIoCounters)
|
||||||
@@ -222,8 +225,19 @@ func (a *Agent) initializeDiskIoStats(diskIoCounters map[string]disk.IOCountersS
|
|||||||
|
|
||||||
// Updates disk usage statistics for all monitored filesystems
|
// Updates disk usage statistics for all monitored filesystems
|
||||||
func (a *Agent) updateDiskUsage(systemStats *system.Stats) {
|
func (a *Agent) updateDiskUsage(systemStats *system.Stats) {
|
||||||
|
// Check if we should skip extra filesystem collection to avoid waking sleeping disks.
|
||||||
|
// Root filesystem is always updated since it can't be sleeping while the agent runs.
|
||||||
|
// Always collect on first call (lastDiskUsageUpdate is zero) or if caching is disabled.
|
||||||
|
cacheExtraFs := a.diskUsageCacheDuration > 0 &&
|
||||||
|
!a.lastDiskUsageUpdate.IsZero() &&
|
||||||
|
time.Since(a.lastDiskUsageUpdate) < a.diskUsageCacheDuration
|
||||||
|
|
||||||
// disk usage
|
// disk usage
|
||||||
for _, stats := range a.fsStats {
|
for _, stats := range a.fsStats {
|
||||||
|
// Skip non-root filesystems if caching is active
|
||||||
|
if cacheExtraFs && !stats.Root {
|
||||||
|
continue
|
||||||
|
}
|
||||||
if d, err := disk.Usage(stats.Mountpoint); err == nil {
|
if d, err := disk.Usage(stats.Mountpoint); err == nil {
|
||||||
stats.DiskTotal = bytesToGigabytes(d.Total)
|
stats.DiskTotal = bytesToGigabytes(d.Total)
|
||||||
stats.DiskUsed = bytesToGigabytes(d.Used)
|
stats.DiskUsed = bytesToGigabytes(d.Used)
|
||||||
@@ -241,6 +255,11 @@ func (a *Agent) updateDiskUsage(systemStats *system.Stats) {
|
|||||||
stats.TotalWrite = 0
|
stats.TotalWrite = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update the last disk usage update time when we've collected extra filesystems
|
||||||
|
if !cacheExtraFs {
|
||||||
|
a.lastDiskUsageUpdate = time.Now()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Updates disk I/O statistics for all monitored filesystems
|
// Updates disk I/O statistics for all monitored filesystems
|
||||||
@@ -312,3 +331,32 @@ func (a *Agent) updateDiskIo(cacheTimeMs uint16, systemStats *system.Stats) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getRootMountPoint returns the appropriate root mount point for the system
|
||||||
|
// For immutable systems like Fedora Silverblue, it returns /sysroot instead of /
|
||||||
|
func (a *Agent) getRootMountPoint() string {
|
||||||
|
// 1. Check if /etc/os-release contains indicators of an immutable system
|
||||||
|
if osReleaseContent, err := os.ReadFile("/etc/os-release"); err == nil {
|
||||||
|
content := string(osReleaseContent)
|
||||||
|
if strings.Contains(content, "fedora") && strings.Contains(content, "silverblue") ||
|
||||||
|
strings.Contains(content, "coreos") ||
|
||||||
|
strings.Contains(content, "flatcar") ||
|
||||||
|
strings.Contains(content, "rhel-atomic") ||
|
||||||
|
strings.Contains(content, "centos-atomic") {
|
||||||
|
// Verify that /sysroot exists before returning it
|
||||||
|
if _, err := os.Stat("/sysroot"); err == nil {
|
||||||
|
return "/sysroot"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. Check if /run/ostree is present (ostree-based systems like Silverblue)
|
||||||
|
if _, err := os.Stat("/run/ostree"); err == nil {
|
||||||
|
// Verify that /sysroot exists before returning it
|
||||||
|
if _, err := os.Stat("/sysroot"); err == nil {
|
||||||
|
return "/sysroot"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "/"
|
||||||
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/henrygd/beszel/internal/entities/system"
|
"github.com/henrygd/beszel/internal/entities/system"
|
||||||
"github.com/shirou/gopsutil/v4/disk"
|
"github.com/shirou/gopsutil/v4/disk"
|
||||||
@@ -233,3 +234,86 @@ func TestExtraFsKeyGeneration(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDiskUsageCaching(t *testing.T) {
|
||||||
|
t.Run("caching disabled updates all filesystems", func(t *testing.T) {
|
||||||
|
agent := &Agent{
|
||||||
|
fsStats: map[string]*system.FsStats{
|
||||||
|
"sda": {Root: true, Mountpoint: "/"},
|
||||||
|
"sdb": {Root: false, Mountpoint: "/mnt/storage"},
|
||||||
|
},
|
||||||
|
diskUsageCacheDuration: 0, // caching disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
var stats system.Stats
|
||||||
|
agent.updateDiskUsage(&stats)
|
||||||
|
|
||||||
|
// Both should be updated (non-zero values from disk.Usage)
|
||||||
|
// Root stats should be populated in systemStats
|
||||||
|
assert.True(t, agent.lastDiskUsageUpdate.IsZero() || !agent.lastDiskUsageUpdate.IsZero(),
|
||||||
|
"lastDiskUsageUpdate should be set when caching is disabled")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("caching enabled always updates root filesystem", func(t *testing.T) {
|
||||||
|
agent := &Agent{
|
||||||
|
fsStats: map[string]*system.FsStats{
|
||||||
|
"sda": {Root: true, Mountpoint: "/", DiskTotal: 100, DiskUsed: 50},
|
||||||
|
"sdb": {Root: false, Mountpoint: "/mnt/storage", DiskTotal: 200, DiskUsed: 100},
|
||||||
|
},
|
||||||
|
diskUsageCacheDuration: 1 * time.Hour,
|
||||||
|
lastDiskUsageUpdate: time.Now(), // cache is fresh
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store original extra fs values
|
||||||
|
originalExtraTotal := agent.fsStats["sdb"].DiskTotal
|
||||||
|
originalExtraUsed := agent.fsStats["sdb"].DiskUsed
|
||||||
|
|
||||||
|
var stats system.Stats
|
||||||
|
agent.updateDiskUsage(&stats)
|
||||||
|
|
||||||
|
// Root should be updated (systemStats populated from disk.Usage call)
|
||||||
|
// We can't easily check if disk.Usage was called, but we verify the flow works
|
||||||
|
|
||||||
|
// Extra filesystem should retain cached values (not reset)
|
||||||
|
assert.Equal(t, originalExtraTotal, agent.fsStats["sdb"].DiskTotal,
|
||||||
|
"extra filesystem DiskTotal should be unchanged when cached")
|
||||||
|
assert.Equal(t, originalExtraUsed, agent.fsStats["sdb"].DiskUsed,
|
||||||
|
"extra filesystem DiskUsed should be unchanged when cached")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("first call always updates all filesystems", func(t *testing.T) {
|
||||||
|
agent := &Agent{
|
||||||
|
fsStats: map[string]*system.FsStats{
|
||||||
|
"sda": {Root: true, Mountpoint: "/"},
|
||||||
|
"sdb": {Root: false, Mountpoint: "/mnt/storage"},
|
||||||
|
},
|
||||||
|
diskUsageCacheDuration: 1 * time.Hour,
|
||||||
|
// lastDiskUsageUpdate is zero (first call)
|
||||||
|
}
|
||||||
|
|
||||||
|
var stats system.Stats
|
||||||
|
agent.updateDiskUsage(&stats)
|
||||||
|
|
||||||
|
// After first call, lastDiskUsageUpdate should be set
|
||||||
|
assert.False(t, agent.lastDiskUsageUpdate.IsZero(),
|
||||||
|
"lastDiskUsageUpdate should be set after first call")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("expired cache updates extra filesystems", func(t *testing.T) {
|
||||||
|
agent := &Agent{
|
||||||
|
fsStats: map[string]*system.FsStats{
|
||||||
|
"sda": {Root: true, Mountpoint: "/"},
|
||||||
|
"sdb": {Root: false, Mountpoint: "/mnt/storage"},
|
||||||
|
},
|
||||||
|
diskUsageCacheDuration: 1 * time.Millisecond,
|
||||||
|
lastDiskUsageUpdate: time.Now().Add(-1 * time.Second), // cache expired
|
||||||
|
}
|
||||||
|
|
||||||
|
var stats system.Stats
|
||||||
|
agent.updateDiskUsage(&stats)
|
||||||
|
|
||||||
|
// lastDiskUsageUpdate should be refreshed since cache expired
|
||||||
|
assert.True(t, time.Since(agent.lastDiskUsageUpdate) < time.Second,
|
||||||
|
"lastDiskUsageUpdate should be refreshed when cache expires")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import (
|
|||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
@@ -24,6 +25,10 @@ import (
|
|||||||
"github.com/blang/semver"
|
"github.com/blang/semver"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ansiEscapePattern matches ANSI escape sequences (colors, cursor movement, etc.)
|
||||||
|
// This includes CSI sequences like \x1b[...m and simple escapes like \x1b[K
|
||||||
|
var ansiEscapePattern = regexp.MustCompile(`\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\x1b[@-Z\\-_]`)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Docker API timeout in milliseconds
|
// Docker API timeout in milliseconds
|
||||||
dockerTimeoutMs = 2100
|
dockerTimeoutMs = 2100
|
||||||
@@ -55,6 +60,7 @@ type dockerManager struct {
|
|||||||
decoder *json.Decoder // Reusable JSON decoder that reads from buf
|
decoder *json.Decoder // Reusable JSON decoder that reads from buf
|
||||||
apiStats *container.ApiStats // Reusable API stats object
|
apiStats *container.ApiStats // Reusable API stats object
|
||||||
excludeContainers []string // Patterns to exclude containers by name
|
excludeContainers []string // Patterns to exclude containers by name
|
||||||
|
usingPodman bool // Whether the Docker Engine API is running on Podman
|
||||||
|
|
||||||
// Cache-time-aware tracking for CPU stats (similar to cpu.go)
|
// Cache-time-aware tracking for CPU stats (similar to cpu.go)
|
||||||
// Maps cache time intervals to container-specific CPU usage tracking
|
// Maps cache time intervals to container-specific CPU usage tracking
|
||||||
@@ -473,7 +479,7 @@ func (dm *dockerManager) deleteContainerStatsSync(id string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Creates a new http client for Docker or Podman API
|
// Creates a new http client for Docker or Podman API
|
||||||
func newDockerManager(a *Agent) *dockerManager {
|
func newDockerManager() *dockerManager {
|
||||||
dockerHost, exists := GetEnv("DOCKER_HOST")
|
dockerHost, exists := GetEnv("DOCKER_HOST")
|
||||||
if exists {
|
if exists {
|
||||||
// return nil if set to empty string
|
// return nil if set to empty string
|
||||||
@@ -559,7 +565,7 @@ func newDockerManager(a *Agent) *dockerManager {
|
|||||||
|
|
||||||
// If using podman, return client
|
// If using podman, return client
|
||||||
if strings.Contains(dockerHost, "podman") {
|
if strings.Contains(dockerHost, "podman") {
|
||||||
a.systemInfo.Podman = true
|
manager.usingPodman = true
|
||||||
manager.goodDockerVersion = true
|
manager.goodDockerVersion = true
|
||||||
return manager
|
return manager
|
||||||
}
|
}
|
||||||
@@ -692,13 +698,17 @@ func (dm *dockerManager) getLogs(ctx context.Context, containerID string) (strin
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return builder.String(), nil
|
// Strip ANSI escape sequences from logs for clean display in web UI
|
||||||
|
logs := builder.String()
|
||||||
|
if strings.Contains(logs, "\x1b") {
|
||||||
|
logs = ansiEscapePattern.ReplaceAllString(logs, "")
|
||||||
|
}
|
||||||
|
return logs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func decodeDockerLogStream(reader io.Reader, builder *strings.Builder) error {
|
func decodeDockerLogStream(reader io.Reader, builder *strings.Builder) error {
|
||||||
const headerSize = 8
|
const headerSize = 8
|
||||||
var header [headerSize]byte
|
var header [headerSize]byte
|
||||||
buf := make([]byte, 0, dockerLogsTail*200)
|
|
||||||
totalBytesRead := 0
|
totalBytesRead := 0
|
||||||
|
|
||||||
for {
|
for {
|
||||||
@@ -722,36 +732,38 @@ func decodeDockerLogStream(reader io.Reader, builder *strings.Builder) error {
|
|||||||
// Check if reading this frame would exceed total log size limit
|
// Check if reading this frame would exceed total log size limit
|
||||||
if totalBytesRead+int(frameLen) > maxTotalLogSize {
|
if totalBytesRead+int(frameLen) > maxTotalLogSize {
|
||||||
// Read and discard remaining data to avoid blocking
|
// Read and discard remaining data to avoid blocking
|
||||||
_, _ = io.Copy(io.Discard, io.LimitReader(reader, int64(frameLen)))
|
_, _ = io.CopyN(io.Discard, reader, int64(frameLen))
|
||||||
slog.Debug("Truncating logs: limit reached", "read", totalBytesRead, "limit", maxTotalLogSize)
|
slog.Debug("Truncating logs: limit reached", "read", totalBytesRead, "limit", maxTotalLogSize)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = allocateBuffer(buf, int(frameLen))
|
n, err := io.CopyN(builder, reader, int64(frameLen))
|
||||||
if _, err := io.ReadFull(reader, buf[:frameLen]); err != nil {
|
if err != nil {
|
||||||
if errors.Is(err, io.EOF) || errors.Is(err, io.ErrUnexpectedEOF) {
|
if errors.Is(err, io.EOF) || errors.Is(err, io.ErrUnexpectedEOF) {
|
||||||
if len(buf) > 0 {
|
|
||||||
builder.Write(buf[:min(int(frameLen), len(buf))])
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
builder.Write(buf[:frameLen])
|
totalBytesRead += int(n)
|
||||||
totalBytesRead += int(frameLen)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func allocateBuffer(current []byte, needed int) []byte {
|
// GetHostInfo fetches the system info from Docker
|
||||||
if cap(current) >= needed {
|
func (dm *dockerManager) GetHostInfo() (info container.HostInfo, err error) {
|
||||||
return current[:needed]
|
resp, err := dm.client.Get("http://localhost/info")
|
||||||
|
if err != nil {
|
||||||
|
return info, err
|
||||||
}
|
}
|
||||||
return make([]byte, needed)
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if err := json.NewDecoder(resp.Body).Decode(&info); err != nil {
|
||||||
|
slog.Error("Failed to decode Docker version response", "error", err)
|
||||||
|
return info, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func min(a, b int) int {
|
return info, nil
|
||||||
if a < b {
|
|
||||||
return a
|
|
||||||
}
|
}
|
||||||
return b
|
|
||||||
|
func (dm *dockerManager) IsPodman() bool {
|
||||||
|
return dm.usingPodman
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -802,6 +802,24 @@ func TestNetworkRateCalculationFormula(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetHostInfo(t *testing.T) {
|
||||||
|
data, err := os.ReadFile("test-data/system_info.json")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var info container.HostInfo
|
||||||
|
err = json.Unmarshal(data, &info)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
assert.Equal(t, "6.8.0-31-generic", info.KernelVersion)
|
||||||
|
assert.Equal(t, "Ubuntu 24.04 LTS", info.OperatingSystem)
|
||||||
|
// assert.Equal(t, "24.04", info.OSVersion)
|
||||||
|
// assert.Equal(t, "linux", info.OSType)
|
||||||
|
// assert.Equal(t, "x86_64", info.Architecture)
|
||||||
|
assert.EqualValues(t, 4, info.NCPU)
|
||||||
|
assert.EqualValues(t, 2095882240, info.MemTotal)
|
||||||
|
// assert.Equal(t, "27.0.1", info.ServerVersion)
|
||||||
|
}
|
||||||
|
|
||||||
func TestDeltaTrackerCacheTimeIsolation(t *testing.T) {
|
func TestDeltaTrackerCacheTimeIsolation(t *testing.T) {
|
||||||
// Test that different cache times have separate DeltaTracker instances
|
// Test that different cache times have separate DeltaTracker instances
|
||||||
dm := &dockerManager{
|
dm := &dockerManager{
|
||||||
@@ -1053,53 +1071,6 @@ func TestDecodeDockerLogStreamMemoryProtection(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAllocateBuffer(t *testing.T) {
|
|
||||||
tests := []struct {
|
|
||||||
name string
|
|
||||||
currentCap int
|
|
||||||
needed int
|
|
||||||
expectedCap int
|
|
||||||
shouldRealloc bool
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
name: "buffer has enough capacity",
|
|
||||||
currentCap: 1024,
|
|
||||||
needed: 512,
|
|
||||||
expectedCap: 1024,
|
|
||||||
shouldRealloc: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "buffer needs reallocation",
|
|
||||||
currentCap: 512,
|
|
||||||
needed: 1024,
|
|
||||||
expectedCap: 1024,
|
|
||||||
shouldRealloc: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "buffer needs exact size",
|
|
||||||
currentCap: 1024,
|
|
||||||
needed: 1024,
|
|
||||||
expectedCap: 1024,
|
|
||||||
shouldRealloc: false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, tt := range tests {
|
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
|
||||||
current := make([]byte, 0, tt.currentCap)
|
|
||||||
result := allocateBuffer(current, tt.needed)
|
|
||||||
|
|
||||||
assert.Equal(t, tt.needed, len(result))
|
|
||||||
assert.GreaterOrEqual(t, cap(result), tt.expectedCap)
|
|
||||||
|
|
||||||
if tt.shouldRealloc {
|
|
||||||
// If reallocation was needed, capacity should be at least the needed size
|
|
||||||
assert.GreaterOrEqual(t, cap(result), tt.needed)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestShouldExcludeContainer(t *testing.T) {
|
func TestShouldExcludeContainer(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
@@ -1203,3 +1174,59 @@ func TestShouldExcludeContainer(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAnsiEscapePattern(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
input string
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "no ANSI codes",
|
||||||
|
input: "Hello, World!",
|
||||||
|
expected: "Hello, World!",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "simple color code",
|
||||||
|
input: "\x1b[34mINFO\x1b[0m client mode",
|
||||||
|
expected: "INFO client mode",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "multiple color codes",
|
||||||
|
input: "\x1b[31mERROR\x1b[0m: \x1b[33mWarning\x1b[0m message",
|
||||||
|
expected: "ERROR: Warning message",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "bold and color",
|
||||||
|
input: "\x1b[1;32mSUCCESS\x1b[0m",
|
||||||
|
expected: "SUCCESS",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "cursor movement codes",
|
||||||
|
input: "Line 1\x1b[KLine 2",
|
||||||
|
expected: "Line 1Line 2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "256 color code",
|
||||||
|
input: "\x1b[38;5;196mRed text\x1b[0m",
|
||||||
|
expected: "Red text",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "RGB/truecolor code",
|
||||||
|
input: "\x1b[38;2;255;0;0mRed text\x1b[0m",
|
||||||
|
expected: "Red text",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "mixed content with newlines",
|
||||||
|
input: "\x1b[34m2024-01-01 12:00:00\x1b[0m INFO Starting\n\x1b[31m2024-01-01 12:00:01\x1b[0m ERROR Failed",
|
||||||
|
expected: "2024-01-01 12:00:00 INFO Starting\n2024-01-01 12:00:01 ERROR Failed",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
result := ansiEscapePattern.ReplaceAllString(tt.input, "")
|
||||||
|
assert.Equal(t, tt.expected, result)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ func (h *GetDataHandler) Handle(hctx *HandlerContext) error {
|
|||||||
var options common.DataRequestOptions
|
var options common.DataRequestOptions
|
||||||
_ = cbor.Unmarshal(hctx.Request.Data, &options)
|
_ = cbor.Unmarshal(hctx.Request.Data, &options)
|
||||||
|
|
||||||
sysStats := hctx.Agent.gatherStats(options.CacheTimeMs)
|
sysStats := hctx.Agent.gatherStats(options)
|
||||||
return hctx.SendResponse(sysStats, hctx.RequestID)
|
return hctx.SendResponse(sysStats, hctx.RequestID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ func (a *Agent) handleSSHRequest(w io.Writer, req *common.HubRequest[cbor.RawMes
|
|||||||
|
|
||||||
// handleLegacyStats serves the legacy one-shot stats payload for older hubs
|
// handleLegacyStats serves the legacy one-shot stats payload for older hubs
|
||||||
func (a *Agent) handleLegacyStats(w io.Writer, hubVersion semver.Version) error {
|
func (a *Agent) handleLegacyStats(w io.Writer, hubVersion semver.Version) error {
|
||||||
stats := a.gatherStats(60_000)
|
stats := a.gatherStats(common.DataRequestOptions{CacheTimeMs: 60_000})
|
||||||
return a.writeToSession(w, stats, hubVersion)
|
return a.writeToSession(w, stats, hubVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -513,7 +513,7 @@ func TestWriteToSessionEncoding(t *testing.T) {
|
|||||||
err = json.Unmarshal([]byte(encodedData), &decodedJson)
|
err = json.Unmarshal([]byte(encodedData), &decodedJson)
|
||||||
assert.Error(t, err, "Should not be valid JSON data")
|
assert.Error(t, err, "Should not be valid JSON data")
|
||||||
|
|
||||||
assert.Equal(t, testData.Info.Hostname, decodedCbor.Info.Hostname)
|
assert.Equal(t, testData.Details.Hostname, decodedCbor.Details.Hostname)
|
||||||
assert.Equal(t, testData.Stats.Cpu, decodedCbor.Stats.Cpu)
|
assert.Equal(t, testData.Stats.Cpu, decodedCbor.Stats.Cpu)
|
||||||
} else {
|
} else {
|
||||||
// Should be JSON - try to decode as JSON
|
// Should be JSON - try to decode as JSON
|
||||||
@@ -526,7 +526,7 @@ func TestWriteToSessionEncoding(t *testing.T) {
|
|||||||
assert.Error(t, err, "Should not be valid CBOR data")
|
assert.Error(t, err, "Should not be valid CBOR data")
|
||||||
|
|
||||||
// Verify the decoded JSON data matches our test data
|
// Verify the decoded JSON data matches our test data
|
||||||
assert.Equal(t, testData.Info.Hostname, decodedJson.Info.Hostname)
|
assert.Equal(t, testData.Details.Hostname, decodedJson.Details.Hostname)
|
||||||
assert.Equal(t, testData.Stats.Cpu, decodedJson.Stats.Cpu)
|
assert.Equal(t, testData.Stats.Cpu, decodedJson.Stats.Cpu)
|
||||||
|
|
||||||
// Verify it looks like JSON (starts with '{' and contains readable field names)
|
// Verify it looks like JSON (starts with '{' and contains readable field names)
|
||||||
@@ -551,12 +551,8 @@ func createTestCombinedData() *system.CombinedData {
|
|||||||
DiskPct: 50.0,
|
DiskPct: 50.0,
|
||||||
},
|
},
|
||||||
Info: system.Info{
|
Info: system.Info{
|
||||||
Hostname: "test-host",
|
|
||||||
Cores: 8,
|
|
||||||
CpuModel: "Test CPU Model",
|
|
||||||
Uptime: 3600,
|
Uptime: 3600,
|
||||||
AgentVersion: "0.12.0",
|
AgentVersion: "0.12.0",
|
||||||
Os: system.Linux,
|
|
||||||
},
|
},
|
||||||
Containers: []*container.Stats{
|
Containers: []*container.Stats{
|
||||||
{
|
{
|
||||||
|
|||||||
106
agent/smart.go
106
agent/smart.go
@@ -10,6 +10,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -29,6 +30,7 @@ type SmartManager struct {
|
|||||||
refreshMutex sync.Mutex
|
refreshMutex sync.Mutex
|
||||||
lastScanTime time.Time
|
lastScanTime time.Time
|
||||||
binPath string
|
binPath string
|
||||||
|
excludedDevices map[string]struct{}
|
||||||
}
|
}
|
||||||
|
|
||||||
type scanOutput struct {
|
type scanOutput struct {
|
||||||
@@ -185,6 +187,7 @@ func (sm *SmartManager) ScanDevices(force bool) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
finalDevices := mergeDeviceLists(currentDevices, scannedDevices, configuredDevices)
|
finalDevices := mergeDeviceLists(currentDevices, scannedDevices, configuredDevices)
|
||||||
|
finalDevices = sm.filterExcludedDevices(finalDevices)
|
||||||
sm.updateSmartDevices(finalDevices)
|
sm.updateSmartDevices(finalDevices)
|
||||||
|
|
||||||
if len(finalDevices) == 0 {
|
if len(finalDevices) == 0 {
|
||||||
@@ -232,6 +235,47 @@ func (sm *SmartManager) parseConfiguredDevices(config string) ([]*DeviceInfo, er
|
|||||||
return devices, nil
|
return devices, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (sm *SmartManager) refreshExcludedDevices() {
|
||||||
|
rawValue, _ := GetEnv("EXCLUDE_SMART")
|
||||||
|
sm.excludedDevices = make(map[string]struct{})
|
||||||
|
|
||||||
|
for entry := range strings.SplitSeq(rawValue, ",") {
|
||||||
|
device := strings.TrimSpace(entry)
|
||||||
|
if device == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
sm.excludedDevices[device] = struct{}{}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sm *SmartManager) isExcludedDevice(deviceName string) bool {
|
||||||
|
_, exists := sm.excludedDevices[deviceName]
|
||||||
|
return exists
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sm *SmartManager) filterExcludedDevices(devices []*DeviceInfo) []*DeviceInfo {
|
||||||
|
if devices == nil {
|
||||||
|
return []*DeviceInfo{}
|
||||||
|
}
|
||||||
|
|
||||||
|
excluded := sm.excludedDevices
|
||||||
|
if len(excluded) == 0 {
|
||||||
|
return devices
|
||||||
|
}
|
||||||
|
|
||||||
|
filtered := make([]*DeviceInfo, 0, len(devices))
|
||||||
|
for _, device := range devices {
|
||||||
|
if device == nil || device.Name == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if _, skip := excluded[device.Name]; skip {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
filtered = append(filtered, device)
|
||||||
|
}
|
||||||
|
return filtered
|
||||||
|
}
|
||||||
|
|
||||||
// detectSmartOutputType inspects sections that are unique to each smartctl
|
// detectSmartOutputType inspects sections that are unique to each smartctl
|
||||||
// JSON schema (NVMe, ATA/SATA, SCSI) to determine which parser should be used
|
// JSON schema (NVMe, ATA/SATA, SCSI) to determine which parser should be used
|
||||||
// when the reported device type is ambiguous or missing.
|
// when the reported device type is ambiguous or missing.
|
||||||
@@ -378,12 +422,16 @@ func (sm *SmartManager) parseSmartOutput(deviceInfo *DeviceInfo, output []byte)
|
|||||||
// Uses -n standby to avoid waking up sleeping disks, but bypasses standby mode
|
// Uses -n standby to avoid waking up sleeping disks, but bypasses standby mode
|
||||||
// for initial data collection when no cached data exists
|
// for initial data collection when no cached data exists
|
||||||
func (sm *SmartManager) CollectSmart(deviceInfo *DeviceInfo) error {
|
func (sm *SmartManager) CollectSmart(deviceInfo *DeviceInfo) error {
|
||||||
|
if deviceInfo != nil && sm.isExcludedDevice(deviceInfo.Name) {
|
||||||
|
return errNoValidSmartData
|
||||||
|
}
|
||||||
|
|
||||||
// slog.Info("collecting SMART data", "device", deviceInfo.Name, "type", deviceInfo.Type, "has_existing_data", sm.hasDataForDevice(deviceInfo.Name))
|
// slog.Info("collecting SMART data", "device", deviceInfo.Name, "type", deviceInfo.Type, "has_existing_data", sm.hasDataForDevice(deviceInfo.Name))
|
||||||
|
|
||||||
// Check if we have any existing data for this device
|
// Check if we have any existing data for this device
|
||||||
hasExistingData := sm.hasDataForDevice(deviceInfo.Name)
|
hasExistingData := sm.hasDataForDevice(deviceInfo.Name)
|
||||||
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
// Try with -n standby first if we have existing data
|
// Try with -n standby first if we have existing data
|
||||||
@@ -398,7 +446,7 @@ func (sm *SmartManager) CollectSmart(deviceInfo *DeviceInfo) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
// No cached data, need to collect initial data by bypassing standby
|
// No cached data, need to collect initial data by bypassing standby
|
||||||
ctx2, cancel2 := context.WithTimeout(context.Background(), 2*time.Second)
|
ctx2, cancel2 := context.WithTimeout(context.Background(), 15*time.Second)
|
||||||
defer cancel2()
|
defer cancel2()
|
||||||
args = sm.smartctlArgs(deviceInfo, false)
|
args = sm.smartctlArgs(deviceInfo, false)
|
||||||
cmd = exec.CommandContext(ctx2, sm.binPath, args...)
|
cmd = exec.CommandContext(ctx2, sm.binPath, args...)
|
||||||
@@ -407,12 +455,40 @@ func (sm *SmartManager) CollectSmart(deviceInfo *DeviceInfo) error {
|
|||||||
|
|
||||||
hasValidData := sm.parseSmartOutput(deviceInfo, output)
|
hasValidData := sm.parseSmartOutput(deviceInfo, output)
|
||||||
|
|
||||||
|
// If NVMe controller path failed, try namespace path as fallback.
|
||||||
|
// NVMe controllers (/dev/nvme0) don't always support SMART queries. See github.com/henrygd/beszel/issues/1504
|
||||||
|
if !hasValidData && err != nil && isNvmeControllerPath(deviceInfo.Name) {
|
||||||
|
controllerPath := deviceInfo.Name
|
||||||
|
namespacePath := controllerPath + "n1"
|
||||||
|
if !sm.isExcludedDevice(namespacePath) {
|
||||||
|
deviceInfo.Name = namespacePath
|
||||||
|
|
||||||
|
ctx3, cancel3 := context.WithTimeout(context.Background(), 15*time.Second)
|
||||||
|
defer cancel3()
|
||||||
|
args = sm.smartctlArgs(deviceInfo, false)
|
||||||
|
cmd = exec.CommandContext(ctx3, sm.binPath, args...)
|
||||||
|
output, err = cmd.CombinedOutput()
|
||||||
|
hasValidData = sm.parseSmartOutput(deviceInfo, output)
|
||||||
|
|
||||||
|
// Auto-exclude the controller path so future scans don't re-add it
|
||||||
|
if hasValidData {
|
||||||
|
sm.Lock()
|
||||||
|
if sm.excludedDevices == nil {
|
||||||
|
sm.excludedDevices = make(map[string]struct{})
|
||||||
|
}
|
||||||
|
sm.excludedDevices[controllerPath] = struct{}{}
|
||||||
|
sm.Unlock()
|
||||||
|
slog.Debug("auto-excluded NVMe controller path", "path", controllerPath)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if !hasValidData {
|
if !hasValidData {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Debug("smartctl failed", "device", deviceInfo.Name, "err", err)
|
slog.Info("smartctl failed", "device", deviceInfo.Name, "err", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
slog.Debug("no valid SMART data found", "device", deviceInfo.Name)
|
slog.Info("no valid SMART data found", "device", deviceInfo.Name)
|
||||||
return errNoValidSmartData
|
return errNoValidSmartData
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -910,11 +986,33 @@ func (sm *SmartManager) detectSmartctl() (string, error) {
|
|||||||
return "", errors.New("smartctl not found")
|
return "", errors.New("smartctl not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isNvmeControllerPath checks if the path matches an NVMe controller pattern
|
||||||
|
// like /dev/nvme0, /dev/nvme1, etc. (without namespace suffix like n1)
|
||||||
|
func isNvmeControllerPath(path string) bool {
|
||||||
|
base := filepath.Base(path)
|
||||||
|
if !strings.HasPrefix(base, "nvme") {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
suffix := strings.TrimPrefix(base, "nvme")
|
||||||
|
if suffix == "" {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// Controller paths are just "nvme" + digits (e.g., nvme0, nvme1)
|
||||||
|
// Namespace paths have "n" after the controller number (e.g., nvme0n1)
|
||||||
|
for _, c := range suffix {
|
||||||
|
if c < '0' || c > '9' {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
// NewSmartManager creates and initializes a new SmartManager
|
// NewSmartManager creates and initializes a new SmartManager
|
||||||
func NewSmartManager() (*SmartManager, error) {
|
func NewSmartManager() (*SmartManager, error) {
|
||||||
sm := &SmartManager{
|
sm := &SmartManager{
|
||||||
SmartDataMap: make(map[string]*smart.SmartData),
|
SmartDataMap: make(map[string]*smart.SmartData),
|
||||||
}
|
}
|
||||||
|
sm.refreshExcludedDevices()
|
||||||
path, err := sm.detectSmartctl()
|
path, err := sm.detectSmartctl()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Debug(err.Error())
|
slog.Debug(err.Error())
|
||||||
|
|||||||
@@ -588,3 +588,228 @@ func TestIsVirtualDeviceScsi(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRefreshExcludedDevices(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
envValue string
|
||||||
|
expectedDevs map[string]struct{}
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "empty env",
|
||||||
|
envValue: "",
|
||||||
|
expectedDevs: map[string]struct{}{},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "single device",
|
||||||
|
envValue: "/dev/sda",
|
||||||
|
expectedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "multiple devices",
|
||||||
|
envValue: "/dev/sda,/dev/sdb,/dev/nvme0",
|
||||||
|
expectedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/sdb": {},
|
||||||
|
"/dev/nvme0": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "devices with whitespace",
|
||||||
|
envValue: " /dev/sda , /dev/sdb , /dev/nvme0 ",
|
||||||
|
expectedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/sdb": {},
|
||||||
|
"/dev/nvme0": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "duplicate devices",
|
||||||
|
envValue: "/dev/sda,/dev/sdb,/dev/sda",
|
||||||
|
expectedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/sdb": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "empty entries and whitespace",
|
||||||
|
envValue: "/dev/sda,, /dev/sdb , , ",
|
||||||
|
expectedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/sdb": {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if tt.envValue != "" {
|
||||||
|
t.Setenv("EXCLUDE_SMART", tt.envValue)
|
||||||
|
} else {
|
||||||
|
// Ensure env var is not set for empty test
|
||||||
|
os.Unsetenv("EXCLUDE_SMART")
|
||||||
|
}
|
||||||
|
|
||||||
|
sm := &SmartManager{}
|
||||||
|
sm.refreshExcludedDevices()
|
||||||
|
|
||||||
|
assert.Equal(t, tt.expectedDevs, sm.excludedDevices)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIsExcludedDevice(t *testing.T) {
|
||||||
|
sm := &SmartManager{
|
||||||
|
excludedDevices: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/nvme0": {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
deviceName string
|
||||||
|
expectedBool bool
|
||||||
|
}{
|
||||||
|
{"excluded device sda", "/dev/sda", true},
|
||||||
|
{"excluded device nvme0", "/dev/nvme0", true},
|
||||||
|
{"non-excluded device sdb", "/dev/sdb", false},
|
||||||
|
{"non-excluded device nvme1", "/dev/nvme1", false},
|
||||||
|
{"empty device name", "", false},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
result := sm.isExcludedDevice(tt.deviceName)
|
||||||
|
assert.Equal(t, tt.expectedBool, result)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestFilterExcludedDevices(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
excludedDevs map[string]struct{}
|
||||||
|
inputDevices []*DeviceInfo
|
||||||
|
expectedDevs []*DeviceInfo
|
||||||
|
expectedLength int
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "no exclusions",
|
||||||
|
excludedDevs: map[string]struct{}{},
|
||||||
|
inputDevices: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sda"},
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
{Name: "/dev/nvme0"},
|
||||||
|
},
|
||||||
|
expectedDevs: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sda"},
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
{Name: "/dev/nvme0"},
|
||||||
|
},
|
||||||
|
expectedLength: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "some devices excluded",
|
||||||
|
excludedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/nvme0": {},
|
||||||
|
},
|
||||||
|
inputDevices: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sda"},
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
{Name: "/dev/nvme0"},
|
||||||
|
{Name: "/dev/nvme1"},
|
||||||
|
},
|
||||||
|
expectedDevs: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
{Name: "/dev/nvme1"},
|
||||||
|
},
|
||||||
|
expectedLength: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "all devices excluded",
|
||||||
|
excludedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
"/dev/sdb": {},
|
||||||
|
},
|
||||||
|
inputDevices: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sda"},
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
},
|
||||||
|
expectedDevs: []*DeviceInfo{},
|
||||||
|
expectedLength: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "nil devices",
|
||||||
|
excludedDevs: map[string]struct{}{},
|
||||||
|
inputDevices: nil,
|
||||||
|
expectedDevs: []*DeviceInfo{},
|
||||||
|
expectedLength: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "filter nil and empty name devices",
|
||||||
|
excludedDevs: map[string]struct{}{
|
||||||
|
"/dev/sda": {},
|
||||||
|
},
|
||||||
|
inputDevices: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sda"},
|
||||||
|
nil,
|
||||||
|
{Name: ""},
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
},
|
||||||
|
expectedDevs: []*DeviceInfo{
|
||||||
|
{Name: "/dev/sdb"},
|
||||||
|
},
|
||||||
|
expectedLength: 1,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
sm := &SmartManager{
|
||||||
|
excludedDevices: tt.excludedDevs,
|
||||||
|
}
|
||||||
|
|
||||||
|
result := sm.filterExcludedDevices(tt.inputDevices)
|
||||||
|
|
||||||
|
assert.Len(t, result, tt.expectedLength)
|
||||||
|
assert.Equal(t, tt.expectedDevs, result)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestIsNvmeControllerPath(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
path string
|
||||||
|
expected bool
|
||||||
|
}{
|
||||||
|
// Controller paths (should return true)
|
||||||
|
{"/dev/nvme0", true},
|
||||||
|
{"/dev/nvme1", true},
|
||||||
|
{"/dev/nvme10", true},
|
||||||
|
{"nvme0", true},
|
||||||
|
|
||||||
|
// Namespace paths (should return false)
|
||||||
|
{"/dev/nvme0n1", false},
|
||||||
|
{"/dev/nvme1n1", false},
|
||||||
|
{"/dev/nvme0n1p1", false},
|
||||||
|
{"nvme0n1", false},
|
||||||
|
|
||||||
|
// Non-NVMe paths (should return false)
|
||||||
|
{"/dev/sda", false},
|
||||||
|
{"/dev/sda1", false},
|
||||||
|
{"/dev/hda", false},
|
||||||
|
{"", false},
|
||||||
|
{"/dev/nvme", false},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.path, func(t *testing.T) {
|
||||||
|
result := isNvmeControllerPath(tt.path)
|
||||||
|
assert.Equal(t, tt.expected, result, "path: %s", tt.path)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
102
agent/system.go
102
agent/system.go
@@ -2,15 +2,18 @@ package agent
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/henrygd/beszel"
|
"github.com/henrygd/beszel"
|
||||||
"github.com/henrygd/beszel/agent/battery"
|
"github.com/henrygd/beszel/agent/battery"
|
||||||
|
"github.com/henrygd/beszel/internal/entities/container"
|
||||||
"github.com/henrygd/beszel/internal/entities/system"
|
"github.com/henrygd/beszel/internal/entities/system"
|
||||||
|
|
||||||
"github.com/shirou/gopsutil/v4/cpu"
|
"github.com/shirou/gopsutil/v4/cpu"
|
||||||
@@ -27,41 +30,75 @@ type prevDisk struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Sets initial / non-changing values about the host system
|
// Sets initial / non-changing values about the host system
|
||||||
func (a *Agent) initializeSystemInfo() {
|
func (a *Agent) refreshStaticInfo() {
|
||||||
a.systemInfo.AgentVersion = beszel.Version
|
a.systemInfo.AgentVersion = beszel.Version
|
||||||
a.systemInfo.Hostname, _ = os.Hostname()
|
|
||||||
|
// get host info from Docker if available
|
||||||
|
var hostInfo container.HostInfo
|
||||||
|
|
||||||
|
if a.dockerManager != nil {
|
||||||
|
a.systemDetails.Podman = a.dockerManager.IsPodman()
|
||||||
|
hostInfo, _ = a.dockerManager.GetHostInfo()
|
||||||
|
}
|
||||||
|
|
||||||
|
a.systemDetails.Hostname, _ = os.Hostname()
|
||||||
|
if arch, err := host.KernelArch(); err == nil {
|
||||||
|
a.systemDetails.Arch = arch
|
||||||
|
} else {
|
||||||
|
a.systemDetails.Arch = runtime.GOARCH
|
||||||
|
}
|
||||||
|
|
||||||
platform, _, version, _ := host.PlatformInformation()
|
platform, _, version, _ := host.PlatformInformation()
|
||||||
|
|
||||||
if platform == "darwin" {
|
if platform == "darwin" {
|
||||||
a.systemInfo.KernelVersion = version
|
a.systemDetails.Os = system.Darwin
|
||||||
a.systemInfo.Os = system.Darwin
|
a.systemDetails.OsName = fmt.Sprintf("macOS %s", version)
|
||||||
} else if strings.Contains(platform, "indows") {
|
} else if strings.Contains(platform, "indows") {
|
||||||
a.systemInfo.KernelVersion = fmt.Sprintf("%s %s", strings.Replace(platform, "Microsoft ", "", 1), version)
|
a.systemDetails.Os = system.Windows
|
||||||
a.systemInfo.Os = system.Windows
|
a.systemDetails.OsName = fmt.Sprintf("%s %s", strings.Replace(platform, "Microsoft ", "", 1), version)
|
||||||
} else if platform == "freebsd" {
|
} else if platform == "freebsd" {
|
||||||
a.systemInfo.Os = system.Freebsd
|
a.systemDetails.Os = system.Freebsd
|
||||||
a.systemInfo.KernelVersion = version
|
a.systemDetails.Kernel = version
|
||||||
|
a.systemDetails.OsName = "FreeBSD"
|
||||||
} else {
|
} else {
|
||||||
a.systemInfo.Os = system.Linux
|
a.systemDetails.Os = system.Linux
|
||||||
|
a.systemDetails.OsName = hostInfo.OperatingSystem
|
||||||
|
a.systemDetails.Kernel = hostInfo.KernelVersion
|
||||||
|
if a.systemDetails.OsName == "" {
|
||||||
|
if prettyName, err := getLinuxOsPrettyName(); err == nil {
|
||||||
|
a.systemDetails.OsName = prettyName
|
||||||
|
} else {
|
||||||
|
a.systemDetails.OsName = platform
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if a.systemDetails.Kernel == "" {
|
||||||
|
a.systemDetails.Kernel = version
|
||||||
}
|
}
|
||||||
|
|
||||||
if a.systemInfo.KernelVersion == "" {
|
|
||||||
a.systemInfo.KernelVersion, _ = host.KernelVersion()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// cpu model
|
// cpu model
|
||||||
if info, err := cpu.Info(); err == nil && len(info) > 0 {
|
if info, err := cpu.Info(); err == nil && len(info) > 0 {
|
||||||
a.systemInfo.CpuModel = info[0].ModelName
|
a.systemDetails.CpuModel = info[0].ModelName
|
||||||
}
|
}
|
||||||
// cores / threads
|
// cores / threads
|
||||||
a.systemInfo.Cores, _ = cpu.Counts(false)
|
a.systemDetails.Cores, _ = cpu.Counts(false)
|
||||||
|
a.systemDetails.Threads = hostInfo.NCPU
|
||||||
|
if a.systemDetails.Threads == 0 {
|
||||||
if threads, err := cpu.Counts(true); err == nil {
|
if threads, err := cpu.Counts(true); err == nil {
|
||||||
if threads > 0 && threads < a.systemInfo.Cores {
|
if threads > 0 && threads < a.systemDetails.Cores {
|
||||||
// in lxc logical cores reflects container limits, so use that as cores if lower
|
// in lxc logical cores reflects container limits, so use that as cores if lower
|
||||||
a.systemInfo.Cores = threads
|
a.systemDetails.Cores = threads
|
||||||
} else {
|
} else {
|
||||||
a.systemInfo.Threads = threads
|
a.systemDetails.Threads = threads
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// total memory
|
||||||
|
a.systemDetails.MemoryTotal = hostInfo.MemTotal
|
||||||
|
if a.systemDetails.MemoryTotal == 0 {
|
||||||
|
if v, err := mem.VirtualMemory(); err == nil {
|
||||||
|
a.systemDetails.MemoryTotal = v.Total
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,20 +232,16 @@ func (a *Agent) getSystemStats(cacheTimeMs uint16) system.Stats {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// update base system info
|
// update system info
|
||||||
a.systemInfo.ConnectionType = a.connectionManager.ConnectionType
|
a.systemInfo.ConnectionType = a.connectionManager.ConnectionType
|
||||||
a.systemInfo.Cpu = systemStats.Cpu
|
a.systemInfo.Cpu = systemStats.Cpu
|
||||||
a.systemInfo.LoadAvg = systemStats.LoadAvg
|
a.systemInfo.LoadAvg = systemStats.LoadAvg
|
||||||
// TODO: remove these in future release in favor of load avg array
|
|
||||||
a.systemInfo.LoadAvg1 = systemStats.LoadAvg[0]
|
|
||||||
a.systemInfo.LoadAvg5 = systemStats.LoadAvg[1]
|
|
||||||
a.systemInfo.LoadAvg15 = systemStats.LoadAvg[2]
|
|
||||||
a.systemInfo.MemPct = systemStats.MemPct
|
a.systemInfo.MemPct = systemStats.MemPct
|
||||||
a.systemInfo.DiskPct = systemStats.DiskPct
|
a.systemInfo.DiskPct = systemStats.DiskPct
|
||||||
|
a.systemInfo.Battery = systemStats.Battery
|
||||||
a.systemInfo.Uptime, _ = host.Uptime()
|
a.systemInfo.Uptime, _ = host.Uptime()
|
||||||
// TODO: in future release, remove MB bandwidth values in favor of bytes
|
|
||||||
a.systemInfo.Bandwidth = twoDecimals(systemStats.NetworkSent + systemStats.NetworkRecv)
|
|
||||||
a.systemInfo.BandwidthBytes = systemStats.Bandwidth[0] + systemStats.Bandwidth[1]
|
a.systemInfo.BandwidthBytes = systemStats.Bandwidth[0] + systemStats.Bandwidth[1]
|
||||||
|
a.systemInfo.Threads = a.systemDetails.Threads
|
||||||
slog.Debug("sysinfo", "data", a.systemInfo)
|
slog.Debug("sysinfo", "data", a.systemInfo)
|
||||||
|
|
||||||
return systemStats
|
return systemStats
|
||||||
@@ -239,3 +272,24 @@ func getARCSize() (uint64, error) {
|
|||||||
|
|
||||||
return 0, fmt.Errorf("failed to parse size field")
|
return 0, fmt.Errorf("failed to parse size field")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getLinuxOsPrettyName attempts to get the pretty OS name from /etc/os-release on Linux systems
|
||||||
|
func getLinuxOsPrettyName() (string, error) {
|
||||||
|
file, err := os.Open("/etc/os-release")
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
scanner := bufio.NewScanner(file)
|
||||||
|
for scanner.Scan() {
|
||||||
|
line := scanner.Text()
|
||||||
|
if after, ok := strings.CutPrefix(line, "PRETTY_NAME="); ok {
|
||||||
|
value := after
|
||||||
|
value = strings.Trim(value, `"`)
|
||||||
|
return value, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", errors.New("pretty name not found")
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,9 +17,7 @@ import (
|
|||||||
"github.com/henrygd/beszel/internal/entities/systemd"
|
"github.com/henrygd/beszel/internal/entities/systemd"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var errNoActiveTime = errors.New("no active time")
|
||||||
errNoActiveTime = errors.New("no active time")
|
|
||||||
)
|
|
||||||
|
|
||||||
// systemdManager manages the collection of systemd service statistics.
|
// systemdManager manages the collection of systemd service statistics.
|
||||||
type systemdManager struct {
|
type systemdManager struct {
|
||||||
@@ -27,18 +25,23 @@ type systemdManager struct {
|
|||||||
serviceStatsMap map[string]*systemd.Service
|
serviceStatsMap map[string]*systemd.Service
|
||||||
isRunning bool
|
isRunning bool
|
||||||
hasFreshStats bool
|
hasFreshStats bool
|
||||||
|
patterns []string
|
||||||
}
|
}
|
||||||
|
|
||||||
// newSystemdManager creates a new systemdManager.
|
// newSystemdManager creates a new systemdManager.
|
||||||
func newSystemdManager() (*systemdManager, error) {
|
func newSystemdManager() (*systemdManager, error) {
|
||||||
|
if skipSystemd, _ := GetEnv("SKIP_SYSTEMD"); skipSystemd == "true" {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
conn, err := dbus.NewSystemConnectionContext(context.Background())
|
conn, err := dbus.NewSystemConnectionContext(context.Background())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Warn("Error connecting to systemd", "err", err, "ref", "https://beszel.dev/guide/systemd")
|
slog.Debug("Error connecting to systemd", "err", err, "ref", "https://beszel.dev/guide/systemd")
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
manager := &systemdManager{
|
manager := &systemdManager{
|
||||||
serviceStatsMap: make(map[string]*systemd.Service),
|
serviceStatsMap: make(map[string]*systemd.Service),
|
||||||
|
patterns: getServicePatterns(),
|
||||||
}
|
}
|
||||||
|
|
||||||
manager.startWorker(conn)
|
manager.startWorker(conn)
|
||||||
@@ -62,6 +65,24 @@ func (sm *systemdManager) startWorker(conn *dbus.Conn) {
|
|||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getServiceStatsCount returns the number of systemd services.
|
||||||
|
func (sm *systemdManager) getServiceStatsCount() int {
|
||||||
|
return len(sm.serviceStatsMap)
|
||||||
|
}
|
||||||
|
|
||||||
|
// getFailedServiceCount returns the number of systemd services in a failed state.
|
||||||
|
func (sm *systemdManager) getFailedServiceCount() uint16 {
|
||||||
|
sm.Lock()
|
||||||
|
defer sm.Unlock()
|
||||||
|
count := uint16(0)
|
||||||
|
for _, service := range sm.serviceStatsMap {
|
||||||
|
if service.State == systemd.StatusFailed {
|
||||||
|
count++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return count
|
||||||
|
}
|
||||||
|
|
||||||
// getServiceStats collects statistics for all running systemd services.
|
// getServiceStats collects statistics for all running systemd services.
|
||||||
func (sm *systemdManager) getServiceStats(conn *dbus.Conn, refresh bool) []*systemd.Service {
|
func (sm *systemdManager) getServiceStats(conn *dbus.Conn, refresh bool) []*systemd.Service {
|
||||||
// start := time.Now()
|
// start := time.Now()
|
||||||
@@ -91,7 +112,7 @@ func (sm *systemdManager) getServiceStats(conn *dbus.Conn, refresh bool) []*syst
|
|||||||
defer conn.Close()
|
defer conn.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
units, err := conn.ListUnitsByPatternsContext(context.Background(), []string{"loaded"}, []string{"*.service"})
|
units, err := conn.ListUnitsByPatternsContext(context.Background(), []string{"loaded"}, sm.patterns)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Error listing systemd service units", "err", err)
|
slog.Error("Error listing systemd service units", "err", err)
|
||||||
return nil
|
return nil
|
||||||
@@ -227,3 +248,26 @@ func unescapeServiceName(name string) string {
|
|||||||
}
|
}
|
||||||
return unescaped
|
return unescaped
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getServicePatterns returns the list of service patterns to match.
|
||||||
|
// It reads from the SERVICE_PATTERNS environment variable if set,
|
||||||
|
// otherwise defaults to "*service".
|
||||||
|
func getServicePatterns() []string {
|
||||||
|
patterns := []string{}
|
||||||
|
if envPatterns, _ := GetEnv("SERVICE_PATTERNS"); envPatterns != "" {
|
||||||
|
for pattern := range strings.SplitSeq(envPatterns, ",") {
|
||||||
|
pattern = strings.TrimSpace(pattern)
|
||||||
|
if pattern == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if !strings.HasSuffix(pattern, ".service") {
|
||||||
|
pattern += ".service"
|
||||||
|
}
|
||||||
|
patterns = append(patterns, pattern)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(patterns) == 0 {
|
||||||
|
patterns = []string{"*.service"}
|
||||||
|
}
|
||||||
|
return patterns
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,6 +23,16 @@ func (sm *systemdManager) getServiceStats(conn any, refresh bool) []*systemd.Ser
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// getServiceStatsCount returns 0 for non-linux systems.
|
||||||
|
func (sm *systemdManager) getServiceStatsCount() int {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// getFailedServiceCount returns 0 for non-linux systems.
|
||||||
|
func (sm *systemdManager) getFailedServiceCount() uint16 {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func (sm *systemdManager) getServiceDetails(string) (systemd.ServiceDetails, error) {
|
func (sm *systemdManager) getServiceDetails(string) (systemd.ServiceDetails, error) {
|
||||||
return nil, errors.New("systemd manager unavailable")
|
return nil, errors.New("systemd manager unavailable")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
package agent
|
package agent
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
@@ -46,3 +47,112 @@ func TestUnescapeServiceNameInvalid(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGetServicePatterns(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
prefixedEnv string
|
||||||
|
unprefixedEnv string
|
||||||
|
expected []string
|
||||||
|
cleanupEnvVars bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "default when no env var set",
|
||||||
|
prefixedEnv: "",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"*.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "single pattern with prefixed env",
|
||||||
|
prefixedEnv: "nginx",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"nginx.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "single pattern with unprefixed env",
|
||||||
|
prefixedEnv: "",
|
||||||
|
unprefixedEnv: "nginx",
|
||||||
|
expected: []string{"nginx.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "prefixed env takes precedence",
|
||||||
|
prefixedEnv: "nginx",
|
||||||
|
unprefixedEnv: "apache",
|
||||||
|
expected: []string{"nginx.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "multiple patterns",
|
||||||
|
prefixedEnv: "nginx,apache,postgresql",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"nginx.service", "apache.service", "postgresql.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "patterns with .service suffix",
|
||||||
|
prefixedEnv: "nginx.service,apache.service",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"nginx.service", "apache.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "mixed patterns with and without suffix",
|
||||||
|
prefixedEnv: "nginx.service,apache,postgresql.service",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"nginx.service", "apache.service", "postgresql.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "patterns with whitespace",
|
||||||
|
prefixedEnv: " nginx , apache , postgresql ",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"nginx.service", "apache.service", "postgresql.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "empty patterns are skipped",
|
||||||
|
prefixedEnv: "nginx,,apache, ,postgresql",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"nginx.service", "apache.service", "postgresql.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "wildcard pattern",
|
||||||
|
prefixedEnv: "*nginx*,*apache*",
|
||||||
|
unprefixedEnv: "",
|
||||||
|
expected: []string{"*nginx*.service", "*apache*.service"},
|
||||||
|
cleanupEnvVars: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
// Clean up any existing env vars
|
||||||
|
os.Unsetenv("BESZEL_AGENT_SERVICE_PATTERNS")
|
||||||
|
os.Unsetenv("SERVICE_PATTERNS")
|
||||||
|
|
||||||
|
// Set up environment variables
|
||||||
|
if tt.prefixedEnv != "" {
|
||||||
|
os.Setenv("BESZEL_AGENT_SERVICE_PATTERNS", tt.prefixedEnv)
|
||||||
|
}
|
||||||
|
if tt.unprefixedEnv != "" {
|
||||||
|
os.Setenv("SERVICE_PATTERNS", tt.unprefixedEnv)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Run the function
|
||||||
|
result := getServicePatterns()
|
||||||
|
|
||||||
|
// Verify results
|
||||||
|
assert.Equal(t, tt.expected, result, "Patterns should match expected values")
|
||||||
|
|
||||||
|
// Cleanup
|
||||||
|
if tt.cleanupEnvVars {
|
||||||
|
os.Unsetenv("BESZEL_AGENT_SERVICE_PATTERNS")
|
||||||
|
os.Unsetenv("SERVICE_PATTERNS")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
17
agent/test-data/system_info.json
Normal file
17
agent/test-data/system_info.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"ID": "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS",
|
||||||
|
"Containers": 14,
|
||||||
|
"ContainersRunning": 3,
|
||||||
|
"ContainersPaused": 1,
|
||||||
|
"ContainersStopped": 10,
|
||||||
|
"Images": 508,
|
||||||
|
"Driver": "overlay2",
|
||||||
|
"KernelVersion": "6.8.0-31-generic",
|
||||||
|
"OperatingSystem": "Ubuntu 24.04 LTS",
|
||||||
|
"OSVersion": "24.04",
|
||||||
|
"OSType": "linux",
|
||||||
|
"Architecture": "x86_64",
|
||||||
|
"NCPU": 4,
|
||||||
|
"MemTotal": 2095882240,
|
||||||
|
"ServerVersion": "27.0.1"
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ import "github.com/blang/semver"
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
// Version is the current version of the application.
|
// Version is the current version of the application.
|
||||||
Version = "0.16.0-beta.1"
|
Version = "0.18.0-beta.1"
|
||||||
// AppName is the name of the application.
|
// AppName is the name of the application.
|
||||||
AppName = "beszel"
|
AppName = "beszel"
|
||||||
)
|
)
|
||||||
|
|||||||
34
go.mod
34
go.mod
@@ -1,6 +1,6 @@
|
|||||||
module github.com/henrygd/beszel
|
module github.com/henrygd/beszel
|
||||||
|
|
||||||
go 1.25.3
|
go 1.25.5
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/blang/semver v3.5.1+incompatible
|
github.com/blang/semver v3.5.1+incompatible
|
||||||
@@ -10,16 +10,16 @@ require (
|
|||||||
github.com/gliderlabs/ssh v0.3.8
|
github.com/gliderlabs/ssh v0.3.8
|
||||||
github.com/google/uuid v1.6.0
|
github.com/google/uuid v1.6.0
|
||||||
github.com/lxzan/gws v1.8.9
|
github.com/lxzan/gws v1.8.9
|
||||||
github.com/nicholas-fedor/shoutrrr v0.11.1
|
github.com/nicholas-fedor/shoutrrr v0.12.1
|
||||||
github.com/pocketbase/dbx v1.11.0
|
github.com/pocketbase/dbx v1.11.0
|
||||||
github.com/pocketbase/pocketbase v0.31.0
|
github.com/pocketbase/pocketbase v0.34.0
|
||||||
github.com/shirou/gopsutil/v4 v4.25.10
|
github.com/shirou/gopsutil/v4 v4.25.10
|
||||||
github.com/spf13/cast v1.10.0
|
github.com/spf13/cast v1.10.0
|
||||||
github.com/spf13/cobra v1.10.1
|
github.com/spf13/cobra v1.10.1
|
||||||
github.com/spf13/pflag v1.0.10
|
github.com/spf13/pflag v1.0.10
|
||||||
github.com/stretchr/testify v1.11.1
|
github.com/stretchr/testify v1.11.1
|
||||||
golang.org/x/crypto v0.43.0
|
golang.org/x/crypto v0.45.0
|
||||||
golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546
|
golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -31,14 +31,14 @@ require (
|
|||||||
github.com/dolthub/maphash v0.1.0 // indirect
|
github.com/dolthub/maphash v0.1.0 // indirect
|
||||||
github.com/domodwyer/mailyak/v3 v3.6.2 // indirect
|
github.com/domodwyer/mailyak/v3 v3.6.2 // indirect
|
||||||
github.com/dustin/go-humanize v1.0.1 // indirect
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||||
github.com/ebitengine/purego v0.9.0 // indirect
|
github.com/ebitengine/purego v0.9.1 // indirect
|
||||||
github.com/fatih/color v1.18.0 // indirect
|
github.com/fatih/color v1.18.0 // indirect
|
||||||
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
|
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
|
||||||
github.com/ganigeorgiev/fexpr v0.5.0 // indirect
|
github.com/ganigeorgiev/fexpr v0.5.0 // indirect
|
||||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||||
github.com/go-ozzo/ozzo-validation/v4 v4.3.0 // indirect
|
github.com/go-ozzo/ozzo-validation/v4 v4.3.0 // indirect
|
||||||
github.com/go-sql-driver/mysql v1.9.1 // indirect
|
github.com/go-sql-driver/mysql v1.9.1 // indirect
|
||||||
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
github.com/godbus/dbus/v5 v5.2.0 // indirect
|
||||||
github.com/golang-jwt/jwt/v5 v5.3.0 // indirect
|
github.com/golang-jwt/jwt/v5 v5.3.0 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
github.com/klauspost/compress v1.18.1 // indirect
|
github.com/klauspost/compress v1.18.1 // indirect
|
||||||
@@ -49,20 +49,20 @@ require (
|
|||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
||||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||||
github.com/tklauser/go-sysconf v0.3.15 // indirect
|
github.com/tklauser/go-sysconf v0.3.16 // indirect
|
||||||
github.com/tklauser/numcpus v0.10.0 // indirect
|
github.com/tklauser/numcpus v0.11.0 // indirect
|
||||||
github.com/x448/float16 v0.8.4 // indirect
|
github.com/x448/float16 v0.8.4 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||||
golang.org/x/image v0.32.0 // indirect
|
golang.org/x/image v0.33.0 // indirect
|
||||||
golang.org/x/net v0.46.0 // indirect
|
golang.org/x/net v0.47.0 // indirect
|
||||||
golang.org/x/oauth2 v0.32.0 // indirect
|
golang.org/x/oauth2 v0.33.0 // indirect
|
||||||
golang.org/x/sync v0.17.0 // indirect
|
golang.org/x/sync v0.18.0 // indirect
|
||||||
golang.org/x/sys v0.37.0 // indirect
|
golang.org/x/sys v0.38.0 // indirect
|
||||||
golang.org/x/term v0.36.0 // indirect
|
golang.org/x/term v0.37.0 // indirect
|
||||||
golang.org/x/text v0.30.0 // indirect
|
golang.org/x/text v0.31.0 // indirect
|
||||||
howett.net/plist v1.0.1 // indirect
|
howett.net/plist v1.0.1 // indirect
|
||||||
modernc.org/libc v1.66.10 // indirect
|
modernc.org/libc v1.66.10 // indirect
|
||||||
modernc.org/mathutil v1.7.1 // indirect
|
modernc.org/mathutil v1.7.1 // indirect
|
||||||
modernc.org/memory v1.11.0 // indirect
|
modernc.org/memory v1.11.0 // indirect
|
||||||
modernc.org/sqlite v1.39.1 // indirect
|
modernc.org/sqlite v1.40.1 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
94
go.sum
94
go.sum
@@ -25,8 +25,8 @@ 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/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 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||||
github.com/ebitengine/purego v0.9.0 h1:mh0zpKBIXDceC63hpvPuGLiJ8ZAa3DfrFTudmfi8A4k=
|
github.com/ebitengine/purego v0.9.1 h1:a/k2f2HQU3Pi399RPW1MOaZyhKJL9w/xFpKAg4q1s0A=
|
||||||
github.com/ebitengine/purego v0.9.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
github.com/ebitengine/purego v0.9.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
|
||||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
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/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||||
@@ -51,17 +51,19 @@ github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtS
|
|||||||
github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
|
github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
|
||||||
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
|
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
|
||||||
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
|
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
|
||||||
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
|
github.com/godbus/dbus/v5 v5.2.0 h1:3WexO+U+yg9T70v9FdHr9kCxYlazaAXUhx2VMkbfax8=
|
||||||
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
github.com/godbus/dbus/v5 v5.2.0/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c=
|
||||||
github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
|
github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
|
||||||
github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
|
github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
|
||||||
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
|
||||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||||
github.com/google/pprof v0.0.0-20251007162407-5df77e3f7d1d h1:KJIErDwbSHjnp/SGzE5ed8Aol7JsKiI5X7yWKAtzhM0=
|
github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8 h1:3DsUAV+VNEQa2CUVLxCY3f87278uWfIDhJnbdvDjvmE=
|
||||||
github.com/google/pprof v0.0.0-20251007162407-5df77e3f7d1d/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U=
|
github.com/google/pprof v0.0.0-20251114195745-4902fdda35c8/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U=
|
||||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
|
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
|
||||||
|
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||||
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A=
|
github.com/jarcoal/httpmock v1.4.1 h1:0Ju+VCFuARfFlhVXFc2HxlcQkfB+Xq12/EotHko+x2A=
|
||||||
@@ -83,8 +85,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
|
|||||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w=
|
github.com/ncruces/go-strftime v1.0.0 h1:HMFp8mLCTPp341M/ZnA4qaf7ZlsbTc+miZjCLOFAw7w=
|
||||||
github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
|
github.com/ncruces/go-strftime v1.0.0/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
|
||||||
github.com/nicholas-fedor/shoutrrr v0.11.1 h1:DND1gW8UM8GYG8c0bUZ5fPFAnm3id8noPdfaFBUmezk=
|
github.com/nicholas-fedor/shoutrrr v0.12.1 h1:8NjY+I3K7cGHy89ncnaPGUA0ex44XbYK3SAFJX9YMI8=
|
||||||
github.com/nicholas-fedor/shoutrrr v0.11.1/go.mod h1:RZuSZSEaSimS47zTOLXb6HJDwLjDHiuJ9SrzxsDcWaQ=
|
github.com/nicholas-fedor/shoutrrr v0.12.1/go.mod h1:64qWuPpvTUv9ZppEoR6OdroiFmgf9w11YSaR0h9KZGg=
|
||||||
github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns=
|
github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns=
|
||||||
github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
|
github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo=
|
||||||
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
|
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
|
||||||
@@ -94,8 +96,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/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/pocketbase/dbx v1.11.0 h1:LpZezioMfT3K4tLrqA55wWFw1EtH1pM4tzSVa7kgszU=
|
github.com/pocketbase/dbx v1.11.0 h1:LpZezioMfT3K4tLrqA55wWFw1EtH1pM4tzSVa7kgszU=
|
||||||
github.com/pocketbase/dbx v1.11.0/go.mod h1:xXRCIAKTHMgUCyCKZm55pUOdvFziJjQfXaWKhu2vhMs=
|
github.com/pocketbase/dbx v1.11.0/go.mod h1:xXRCIAKTHMgUCyCKZm55pUOdvFziJjQfXaWKhu2vhMs=
|
||||||
github.com/pocketbase/pocketbase v0.31.0 h1:JaOtSDytdA+a0r4689Mrjda4rmq+BaHgEJkPeOIydms=
|
github.com/pocketbase/pocketbase v0.34.0 h1:5W80PrGvkRYIMAIK90F7w031/hXgZVz1KSuCJqSpgJo=
|
||||||
github.com/pocketbase/pocketbase v0.31.0/go.mod h1:p4a83n+DlBcTvvqhC7QDy0KDmQ2la2c6dgxdIBWwKiE=
|
github.com/pocketbase/pocketbase v0.34.0/go.mod h1:K/9z/Zb9PR9yW2Qyoc73jHV/EKT8cMTk9bQWyrzYlvI=
|
||||||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU=
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU=
|
||||||
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
||||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||||
@@ -116,10 +118,10 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
|
|||||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||||
github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4=
|
github.com/tklauser/go-sysconf v0.3.16 h1:frioLaCQSsF5Cy1jgRBrzr6t502KIIwQ0MArYICU0nA=
|
||||||
github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4=
|
github.com/tklauser/go-sysconf v0.3.16/go.mod h1:/qNL9xxDhc7tx3HSRsLWNnuzbVfh3e7gh/BmM179nYI=
|
||||||
github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfjso=
|
github.com/tklauser/numcpus v0.11.0 h1:nSTwhKH5e1dMNsCdVBukSZrURJRoHbSEQjdEbY+9RXw=
|
||||||
github.com/tklauser/numcpus v0.10.0/go.mod h1:BiTKazU708GQTYF4mB+cmlpT2Is1gLk7XVuEeem8LsQ=
|
github.com/tklauser/numcpus v0.11.0/go.mod h1:z+LwcLq54uWZTX0u/bGobaV34u6V7KNlTZejzM6/3MQ=
|
||||||
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
|
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
|
||||||
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
|
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
|
||||||
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
|
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
|
||||||
@@ -127,62 +129,66 @@ github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQ
|
|||||||
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||||
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04=
|
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
|
||||||
golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0=
|
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
|
||||||
golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 h1:mgKeJMpvi0yx/sU5GsxQ7p6s2wtOnGAHZWCHUM4KGzY=
|
golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39 h1:DHNhtq3sNNzrvduZZIiFyXWOL9IWaDPHqTnLJp+rCBY=
|
||||||
golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70=
|
golang.org/x/exp v0.0.0-20251125195548-87e1e737ad39/go.mod h1:46edojNIoXTNOhySWIWdix628clX9ODXwPsQuG6hsK0=
|
||||||
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||||
golang.org/x/image v0.32.0 h1:6lZQWq75h7L5IWNk0r+SCpUJ6tUVd3v4ZHnbRKLkUDQ=
|
golang.org/x/image v0.33.0 h1:LXRZRnv1+zGd5XBUVRFmYEphyyKJjQjCRiOuAP3sZfQ=
|
||||||
golang.org/x/image v0.32.0/go.mod h1:/R37rrQmKXtO6tYXAjtDLwQgFLHmhW+V6ayXlxzP2Pc=
|
golang.org/x/image v0.33.0/go.mod h1:DD3OsTYT9chzuzTQt+zMcOlBHgfoKQb1gry8p76Y1sc=
|
||||||
golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
|
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
|
||||||
golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
|
golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
|
||||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||||
golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
|
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
|
||||||
golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
|
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
|
||||||
golang.org/x/oauth2 v0.32.0 h1:jsCblLleRMDrxMN29H3z/k1KliIvpLgCkE6R8FXXNgY=
|
golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
|
||||||
golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
|
||||||
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
|
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
|
||||||
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ=
|
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
|
||||||
golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
|
||||||
golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q=
|
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
|
||||||
golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss=
|
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||||
golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k=
|
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
|
||||||
golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM=
|
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
|
golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ=
|
||||||
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
|
golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ=
|
||||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||||
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
|
google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE=
|
||||||
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||||
gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg=
|
gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg=
|
||||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM=
|
howett.net/plist v1.0.1 h1:37GdZ8tP09Q35o9ych3ehygcsL+HqKSwzctveSlarvM=
|
||||||
howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=
|
howett.net/plist v1.0.1/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g=
|
||||||
modernc.org/cc/v4 v4.26.5 h1:xM3bX7Mve6G8K8b+T11ReenJOT+BmVqQj0FY5T4+5Y4=
|
modernc.org/cc/v4 v4.27.1 h1:9W30zRlYrefrDV2JE2O8VDtJ1yPGownxciz5rrbQZis=
|
||||||
modernc.org/cc/v4 v4.26.5/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
modernc.org/cc/v4 v4.27.1/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
|
||||||
modernc.org/ccgo/v4 v4.28.1 h1:wPKYn5EC/mYTqBO373jKjvX2n+3+aK7+sICCv4Fjy1A=
|
modernc.org/ccgo/v4 v4.30.1 h1:4r4U1J6Fhj98NKfSjnPUN7Ze2c6MnAdL0hWw6+LrJpc=
|
||||||
modernc.org/ccgo/v4 v4.28.1/go.mod h1:uD+4RnfrVgE6ec9NGguUNdhqzNIeeomeXf6CL0GTE5Q=
|
modernc.org/ccgo/v4 v4.30.1/go.mod h1:bIOeI1JL54Utlxn+LwrFyjCx2n2RDiYEaJVSrgdrRfM=
|
||||||
modernc.org/fileutil v1.3.40 h1:ZGMswMNc9JOCrcrakF1HrvmergNLAmxOPjizirpfqBA=
|
modernc.org/fileutil v1.3.40 h1:ZGMswMNc9JOCrcrakF1HrvmergNLAmxOPjizirpfqBA=
|
||||||
modernc.org/fileutil v1.3.40/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
|
modernc.org/fileutil v1.3.40/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
|
||||||
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
|
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
|
||||||
modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
|
modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
|
||||||
|
modernc.org/gc/v3 v3.1.1 h1:k8T3gkXWY9sEiytKhcgyiZ2L0DTyCQ/nvX+LoCljoRE=
|
||||||
|
modernc.org/gc/v3 v3.1.1/go.mod h1:HFK/6AGESC7Ex+EZJhJ2Gni6cTaYpSMmU/cT9RmlfYY=
|
||||||
modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
|
modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
|
||||||
modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
|
modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
|
||||||
modernc.org/libc v1.66.10 h1:yZkb3YeLx4oynyR+iUsXsybsX4Ubx7MQlSYEw4yj59A=
|
modernc.org/libc v1.66.10 h1:yZkb3YeLx4oynyR+iUsXsybsX4Ubx7MQlSYEw4yj59A=
|
||||||
modernc.org/libc v1.66.10/go.mod h1:8vGSEwvoUoltr4dlywvHqjtAqHBaw0j1jI7iFBTAr2I=
|
modernc.org/libc v1.66.10/go.mod h1:8vGSEwvoUoltr4dlywvHqjtAqHBaw0j1jI7iFBTAr2I=
|
||||||
|
modernc.org/libc v1.67.1 h1:bFaqOaa5/zbWYJo8aW0tXPX21hXsngG2M7mckCnFSVk=
|
||||||
|
modernc.org/libc v1.67.1/go.mod h1:QvvnnJ5P7aitu0ReNpVIEyesuhmDLQ8kaEoyMjIFZJA=
|
||||||
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
|
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
|
||||||
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
|
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
|
||||||
modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI=
|
modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI=
|
||||||
@@ -191,8 +197,8 @@ modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8=
|
|||||||
modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
|
modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
|
||||||
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
|
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
|
||||||
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
|
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
|
||||||
modernc.org/sqlite v1.39.1 h1:H+/wGFzuSCIEVCvXYVHX5RQglwhMOvtHSv+VtidL2r4=
|
modernc.org/sqlite v1.40.1 h1:VfuXcxcUWWKRBuP8+BR9L7VnmusMgBNNnBYGEe9w/iY=
|
||||||
modernc.org/sqlite v1.39.1/go.mod h1:9fjQZ0mB1LLP0GYrp39oOJXx/I2sxEnZtzCmEQIKvGE=
|
modernc.org/sqlite v1.40.1/go.mod h1:9fjQZ0mB1LLP0GYrp39oOJXx/I2sxEnZtzCmEQIKvGE=
|
||||||
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
|
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
|
||||||
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
|
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
|
||||||
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
|
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ type AlertManager struct {
|
|||||||
|
|
||||||
type AlertMessageData struct {
|
type AlertMessageData struct {
|
||||||
UserID string
|
UserID string
|
||||||
|
SystemID string
|
||||||
Title string
|
Title string
|
||||||
Message string
|
Message string
|
||||||
Link string
|
Link string
|
||||||
@@ -48,6 +49,7 @@ type SystemAlertStats struct {
|
|||||||
GPU map[string]SystemAlertGPUData `json:"g"`
|
GPU map[string]SystemAlertGPUData `json:"g"`
|
||||||
Temperatures map[string]float32 `json:"t"`
|
Temperatures map[string]float32 `json:"t"`
|
||||||
LoadAvg [3]float64 `json:"la"`
|
LoadAvg [3]float64 `json:"la"`
|
||||||
|
Battery [2]uint8 `json:"bat"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SystemAlertGPUData struct {
|
type SystemAlertGPUData struct {
|
||||||
@@ -77,7 +79,6 @@ var supportsTitle = map[string]struct{}{
|
|||||||
"ifttt": {},
|
"ifttt": {},
|
||||||
"join": {},
|
"join": {},
|
||||||
"lark": {},
|
"lark": {},
|
||||||
"matrix": {},
|
|
||||||
"ntfy": {},
|
"ntfy": {},
|
||||||
"opsgenie": {},
|
"opsgenie": {},
|
||||||
"pushbullet": {},
|
"pushbullet": {},
|
||||||
@@ -104,10 +105,84 @@ func NewAlertManager(app hubLike) *AlertManager {
|
|||||||
func (am *AlertManager) bindEvents() {
|
func (am *AlertManager) bindEvents() {
|
||||||
am.hub.OnRecordAfterUpdateSuccess("alerts").BindFunc(updateHistoryOnAlertUpdate)
|
am.hub.OnRecordAfterUpdateSuccess("alerts").BindFunc(updateHistoryOnAlertUpdate)
|
||||||
am.hub.OnRecordAfterDeleteSuccess("alerts").BindFunc(resolveHistoryOnAlertDelete)
|
am.hub.OnRecordAfterDeleteSuccess("alerts").BindFunc(resolveHistoryOnAlertDelete)
|
||||||
|
am.hub.OnRecordAfterUpdateSuccess("smart_devices").BindFunc(am.handleSmartDeviceAlert)
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsNotificationSilenced checks if a notification should be silenced based on configured quiet hours
|
||||||
|
func (am *AlertManager) IsNotificationSilenced(userID, systemID string) bool {
|
||||||
|
// Query for quiet hours windows that match this user and system
|
||||||
|
// Include both global windows (system is null/empty) and system-specific windows
|
||||||
|
var filter string
|
||||||
|
var params dbx.Params
|
||||||
|
|
||||||
|
if systemID == "" {
|
||||||
|
// If no systemID provided, only check global windows
|
||||||
|
filter = "user={:user} AND system=''"
|
||||||
|
params = dbx.Params{"user": userID}
|
||||||
|
} else {
|
||||||
|
// Check both global and system-specific windows
|
||||||
|
filter = "user={:user} AND (system='' OR system={:system})"
|
||||||
|
params = dbx.Params{
|
||||||
|
"user": userID,
|
||||||
|
"system": systemID,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
quietHourWindows, err := am.hub.FindAllRecords("quiet_hours", dbx.NewExp(filter, params))
|
||||||
|
if err != nil || len(quietHourWindows) == 0 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
now := time.Now().UTC()
|
||||||
|
|
||||||
|
for _, window := range quietHourWindows {
|
||||||
|
windowType := window.GetString("type")
|
||||||
|
start := window.GetDateTime("start").Time()
|
||||||
|
end := window.GetDateTime("end").Time()
|
||||||
|
|
||||||
|
if windowType == "daily" {
|
||||||
|
// For daily recurring windows, extract just the time portion and compare
|
||||||
|
// The start/end are stored as full datetime but we only care about HH:MM
|
||||||
|
startHour, startMin, _ := start.Clock()
|
||||||
|
endHour, endMin, _ := end.Clock()
|
||||||
|
nowHour, nowMin, _ := now.Clock()
|
||||||
|
|
||||||
|
// Convert to minutes since midnight for easier comparison
|
||||||
|
startMinutes := startHour*60 + startMin
|
||||||
|
endMinutes := endHour*60 + endMin
|
||||||
|
nowMinutes := nowHour*60 + nowMin
|
||||||
|
|
||||||
|
// Handle case where window crosses midnight
|
||||||
|
if endMinutes < startMinutes {
|
||||||
|
// Window crosses midnight (e.g., 23:00 - 01:00)
|
||||||
|
if nowMinutes >= startMinutes || nowMinutes < endMinutes {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Normal case (e.g., 09:00 - 17:00)
|
||||||
|
if nowMinutes >= startMinutes && nowMinutes < endMinutes {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// One-time window: check if current time is within the date range
|
||||||
|
if (now.After(start) || now.Equal(start)) && now.Before(end) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendAlert sends an alert to the user
|
// SendAlert sends an alert to the user
|
||||||
func (am *AlertManager) SendAlert(data AlertMessageData) error {
|
func (am *AlertManager) SendAlert(data AlertMessageData) error {
|
||||||
|
// Check if alert is silenced
|
||||||
|
if am.IsNotificationSilenced(data.UserID, data.SystemID) {
|
||||||
|
am.hub.Logger().Info("Notification silenced", "user", data.UserID, "system", data.SystemID, "title", data.Title)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// get user settings
|
// get user settings
|
||||||
record, err := am.hub.FindFirstRecordByFilter(
|
record, err := am.hub.FindFirstRecordByFilter(
|
||||||
"user_settings", "user={:user}",
|
"user_settings", "user={:user}",
|
||||||
|
|||||||
387
internal/alerts/alerts_battery_test.go
Normal file
387
internal/alerts/alerts_battery_test.go
Normal file
@@ -0,0 +1,387 @@
|
|||||||
|
//go:build testing
|
||||||
|
// +build testing
|
||||||
|
|
||||||
|
package alerts_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/henrygd/beszel/internal/entities/system"
|
||||||
|
beszelTests "github.com/henrygd/beszel/internal/tests"
|
||||||
|
|
||||||
|
"github.com/pocketbase/dbx"
|
||||||
|
"github.com/pocketbase/pocketbase/tools/types"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TestBatteryAlertLogic tests that battery alerts trigger when value drops BELOW threshold
|
||||||
|
// (opposite of other alerts like CPU, Memory, etc. which trigger when exceeding threshold)
|
||||||
|
func TestBatteryAlertLogic(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
require.NoError(t, err)
|
||||||
|
systemRecord := systems[0]
|
||||||
|
|
||||||
|
// Create a battery alert with threshold of 20% and min of 1 minute (immediate trigger)
|
||||||
|
batteryAlert, err := beszelTests.CreateRecord(hub, "alerts", map[string]any{
|
||||||
|
"name": "Battery",
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"user": user.Id,
|
||||||
|
"value": 20, // threshold: 20%
|
||||||
|
"min": 1, // 1 minute (immediate trigger for testing)
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Verify alert is not triggered initially
|
||||||
|
assert.False(t, batteryAlert.GetBool("triggered"), "Alert should not be triggered initially")
|
||||||
|
|
||||||
|
// Create system stats with battery at 50% (above threshold - should NOT trigger)
|
||||||
|
statsHigh := system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{50, 1}, // 50% battery, discharging
|
||||||
|
}
|
||||||
|
statsHighJSON, _ := json.Marshal(statsHigh)
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "system_stats", map[string]any{
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"type": "1m",
|
||||||
|
"stats": string(statsHighJSON),
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Create CombinedData for the alert handler
|
||||||
|
combinedDataHigh := &system.CombinedData{
|
||||||
|
Stats: statsHigh,
|
||||||
|
Info: system.Info{
|
||||||
|
AgentVersion: "0.12.0",
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simulate system update time
|
||||||
|
systemRecord.Set("updated", time.Now().UTC())
|
||||||
|
err = hub.SaveNoValidate(systemRecord)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Handle system alerts with high battery
|
||||||
|
am := hub.GetAlertManager()
|
||||||
|
err = am.HandleSystemAlerts(systemRecord, combinedDataHigh)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Verify alert is still NOT triggered (battery 50% is above threshold 20%)
|
||||||
|
batteryAlert, err = hub.FindFirstRecordByFilter("alerts", "id={:id}", dbx.Params{"id": batteryAlert.Id})
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.False(t, batteryAlert.GetBool("triggered"), "Alert should NOT be triggered when battery (50%%) is above threshold (20%%)")
|
||||||
|
|
||||||
|
// Now create stats with battery at 15% (below threshold - should trigger)
|
||||||
|
statsLow := system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{15, 1}, // 15% battery, discharging
|
||||||
|
}
|
||||||
|
statsLowJSON, _ := json.Marshal(statsLow)
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "system_stats", map[string]any{
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"type": "1m",
|
||||||
|
"stats": string(statsLowJSON),
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
combinedDataLow := &system.CombinedData{
|
||||||
|
Stats: statsLow,
|
||||||
|
Info: system.Info{
|
||||||
|
AgentVersion: "0.12.0",
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update system timestamp
|
||||||
|
systemRecord.Set("updated", time.Now().UTC())
|
||||||
|
err = hub.SaveNoValidate(systemRecord)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Handle system alerts with low battery
|
||||||
|
err = am.HandleSystemAlerts(systemRecord, combinedDataLow)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for the alert to be processed
|
||||||
|
time.Sleep(20 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify alert IS triggered (battery 15% is below threshold 20%)
|
||||||
|
batteryAlert, err = hub.FindFirstRecordByFilter("alerts", "id={:id}", dbx.Params{"id": batteryAlert.Id})
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.True(t, batteryAlert.GetBool("triggered"), "Alert SHOULD be triggered when battery (15%%) drops below threshold (20%%)")
|
||||||
|
|
||||||
|
// Now test resolution: battery goes back above threshold
|
||||||
|
statsRecovered := system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{25, 1}, // 25% battery, discharging
|
||||||
|
}
|
||||||
|
statsRecoveredJSON, _ := json.Marshal(statsRecovered)
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "system_stats", map[string]any{
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"type": "1m",
|
||||||
|
"stats": string(statsRecoveredJSON),
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
combinedDataRecovered := &system.CombinedData{
|
||||||
|
Stats: statsRecovered,
|
||||||
|
Info: system.Info{
|
||||||
|
AgentVersion: "0.12.0",
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update system timestamp
|
||||||
|
systemRecord.Set("updated", time.Now().UTC())
|
||||||
|
err = hub.SaveNoValidate(systemRecord)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Handle system alerts with recovered battery
|
||||||
|
err = am.HandleSystemAlerts(systemRecord, combinedDataRecovered)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for the alert to be processed
|
||||||
|
time.Sleep(20 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify alert is now resolved (battery 25% is above threshold 20%)
|
||||||
|
batteryAlert, err = hub.FindFirstRecordByFilter("alerts", "id={:id}", dbx.Params{"id": batteryAlert.Id})
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.False(t, batteryAlert.GetBool("triggered"), "Alert should be resolved when battery (25%%) goes above threshold (20%%)")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestBatteryAlertNoBattery verifies that systems without battery data don't trigger alerts
|
||||||
|
func TestBatteryAlertNoBattery(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
require.NoError(t, err)
|
||||||
|
systemRecord := systems[0]
|
||||||
|
|
||||||
|
// Create a battery alert
|
||||||
|
batteryAlert, err := beszelTests.CreateRecord(hub, "alerts", map[string]any{
|
||||||
|
"name": "Battery",
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"user": user.Id,
|
||||||
|
"value": 20,
|
||||||
|
"min": 1,
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Create stats with NO battery data (Battery[0] = 0)
|
||||||
|
statsNoBattery := system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{0, 0}, // No battery
|
||||||
|
}
|
||||||
|
|
||||||
|
combinedData := &system.CombinedData{
|
||||||
|
Stats: statsNoBattery,
|
||||||
|
Info: system.Info{
|
||||||
|
AgentVersion: "0.12.0",
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simulate system update time
|
||||||
|
systemRecord.Set("updated", time.Now().UTC())
|
||||||
|
err = hub.SaveNoValidate(systemRecord)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Handle system alerts
|
||||||
|
am := hub.GetAlertManager()
|
||||||
|
err = am.HandleSystemAlerts(systemRecord, combinedData)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait a moment for processing
|
||||||
|
time.Sleep(20 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify alert is NOT triggered (no battery data should skip the alert)
|
||||||
|
batteryAlert, err = hub.FindFirstRecordByFilter("alerts", "id={:id}", dbx.Params{"id": batteryAlert.Id})
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.False(t, batteryAlert.GetBool("triggered"), "Alert should NOT be triggered when system has no battery")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestBatteryAlertAveragedSamples tests battery alerts with min > 1 (averaging multiple samples)
|
||||||
|
// This ensures the inverted threshold logic works correctly across averaged time windows
|
||||||
|
func TestBatteryAlertAveragedSamples(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
require.NoError(t, err)
|
||||||
|
systemRecord := systems[0]
|
||||||
|
|
||||||
|
// Create a battery alert with threshold of 25% and min of 2 minutes (requires averaging)
|
||||||
|
batteryAlert, err := beszelTests.CreateRecord(hub, "alerts", map[string]any{
|
||||||
|
"name": "Battery",
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"user": user.Id,
|
||||||
|
"value": 25, // threshold: 25%
|
||||||
|
"min": 2, // 2 minutes - requires averaging
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Verify alert is not triggered initially
|
||||||
|
assert.False(t, batteryAlert.GetBool("triggered"), "Alert should not be triggered initially")
|
||||||
|
|
||||||
|
am := hub.GetAlertManager()
|
||||||
|
now := time.Now().UTC()
|
||||||
|
|
||||||
|
// Create system_stats records with low battery (below threshold)
|
||||||
|
// The alert has min=2 minutes, so alert.time = now - 2 minutes
|
||||||
|
// For the alert to be valid, alert.time must be AFTER the oldest record's created time
|
||||||
|
// So we need records older than (now - 2 min), plus records within the window
|
||||||
|
// Records at: now-3min (oldest, before window), now-90s, now-60s, now-30s
|
||||||
|
recordTimes := []time.Duration{
|
||||||
|
-180 * time.Second, // 3 min ago - this makes the oldest record before alert.time
|
||||||
|
-90 * time.Second,
|
||||||
|
-60 * time.Second,
|
||||||
|
-30 * time.Second,
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, offset := range recordTimes {
|
||||||
|
statsLow := system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{15, 1}, // 15% battery (below 25% threshold)
|
||||||
|
}
|
||||||
|
statsLowJSON, _ := json.Marshal(statsLow)
|
||||||
|
|
||||||
|
recordTime := now.Add(offset)
|
||||||
|
record, err := beszelTests.CreateRecord(hub, "system_stats", map[string]any{
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"type": "1m",
|
||||||
|
"stats": string(statsLowJSON),
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
// Update created time to simulate historical records - use SetRaw with formatted string
|
||||||
|
record.SetRaw("created", recordTime.Format(types.DefaultDateLayout))
|
||||||
|
err = hub.SaveNoValidate(record)
|
||||||
|
require.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create combined data with low battery
|
||||||
|
combinedDataLow := &system.CombinedData{
|
||||||
|
Stats: system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{15, 1},
|
||||||
|
},
|
||||||
|
Info: system.Info{
|
||||||
|
AgentVersion: "0.12.0",
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update system timestamp
|
||||||
|
systemRecord.Set("updated", now)
|
||||||
|
err = hub.SaveNoValidate(systemRecord)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Handle system alerts - should trigger because average battery is below threshold
|
||||||
|
err = am.HandleSystemAlerts(systemRecord, combinedDataLow)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for alert processing
|
||||||
|
time.Sleep(20 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify alert IS triggered (average battery 15% is below threshold 25%)
|
||||||
|
batteryAlert, err = hub.FindFirstRecordByFilter("alerts", "id={:id}", dbx.Params{"id": batteryAlert.Id})
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.True(t, batteryAlert.GetBool("triggered"),
|
||||||
|
"Alert SHOULD be triggered when average battery (15%%) is below threshold (25%%) over min period")
|
||||||
|
|
||||||
|
// Now add records with high battery to test resolution
|
||||||
|
// Use a new time window 2 minutes later
|
||||||
|
newNow := now.Add(2 * time.Minute)
|
||||||
|
// Records need to span before the alert time window (newNow - 2 min)
|
||||||
|
recordTimesHigh := []time.Duration{
|
||||||
|
-180 * time.Second, // 3 min before newNow - makes oldest record before alert.time
|
||||||
|
-90 * time.Second,
|
||||||
|
-60 * time.Second,
|
||||||
|
-30 * time.Second,
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, offset := range recordTimesHigh {
|
||||||
|
statsHigh := system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{50, 1}, // 50% battery (above 25% threshold)
|
||||||
|
}
|
||||||
|
statsHighJSON, _ := json.Marshal(statsHigh)
|
||||||
|
|
||||||
|
recordTime := newNow.Add(offset)
|
||||||
|
record, err := beszelTests.CreateRecord(hub, "system_stats", map[string]any{
|
||||||
|
"system": systemRecord.Id,
|
||||||
|
"type": "1m",
|
||||||
|
"stats": string(statsHighJSON),
|
||||||
|
})
|
||||||
|
require.NoError(t, err)
|
||||||
|
record.SetRaw("created", recordTime.Format(types.DefaultDateLayout))
|
||||||
|
err = hub.SaveNoValidate(record)
|
||||||
|
require.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create combined data with high battery
|
||||||
|
combinedDataHigh := &system.CombinedData{
|
||||||
|
Stats: system.Stats{
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
Battery: [2]uint8{50, 1},
|
||||||
|
},
|
||||||
|
Info: system.Info{
|
||||||
|
AgentVersion: "0.12.0",
|
||||||
|
Cpu: 10,
|
||||||
|
MemPct: 30,
|
||||||
|
DiskPct: 40,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update system timestamp to the new time window
|
||||||
|
systemRecord.Set("updated", newNow)
|
||||||
|
err = hub.SaveNoValidate(systemRecord)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Handle system alerts - should resolve because average battery is now above threshold
|
||||||
|
err = am.HandleSystemAlerts(systemRecord, combinedDataHigh)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for alert processing
|
||||||
|
time.Sleep(20 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify alert is resolved (average battery 50% is above threshold 25%)
|
||||||
|
batteryAlert, err = hub.FindFirstRecordByFilter("alerts", "id={:id}", dbx.Params{"id": batteryAlert.Id})
|
||||||
|
require.NoError(t, err)
|
||||||
|
assert.False(t, batteryAlert.GetBool("triggered"),
|
||||||
|
"Alert should be resolved when average battery (50%%) is above threshold (25%%) over min period")
|
||||||
|
}
|
||||||
426
internal/alerts/alerts_quiet_hours_test.go
Normal file
426
internal/alerts/alerts_quiet_hours_test.go
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
//go:build testing
|
||||||
|
// +build testing
|
||||||
|
|
||||||
|
package alerts_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
"testing/synctest"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/henrygd/beszel/internal/alerts"
|
||||||
|
beszelTests "github.com/henrygd/beszel/internal/tests"
|
||||||
|
|
||||||
|
"github.com/pocketbase/dbx"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAlertSilencedOneTime(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
system := systems[0]
|
||||||
|
|
||||||
|
// Create an alert
|
||||||
|
alert, err := beszelTests.CreateRecord(hub, "alerts", map[string]any{
|
||||||
|
"name": "CPU",
|
||||||
|
"system": system.Id,
|
||||||
|
"user": user.Id,
|
||||||
|
"value": 80,
|
||||||
|
"min": 1,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a one-time quiet hours window (current time - 1 hour to current time + 1 hour)
|
||||||
|
now := time.Now().UTC()
|
||||||
|
startTime := now.Add(-1 * time.Hour)
|
||||||
|
endTime := now.Add(1 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Test that alert is silenced
|
||||||
|
silenced := am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.True(t, silenced, "Alert should be silenced during active one-time window")
|
||||||
|
|
||||||
|
// Create a window that has already ended
|
||||||
|
pastStart := now.Add(-3 * time.Hour)
|
||||||
|
pastEnd := now.Add(-2 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": pastStart,
|
||||||
|
"end": pastEnd,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Should still be silenced because of the first window
|
||||||
|
silenced = am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.True(t, silenced, "Alert should still be silenced (past window doesn't affect active window)")
|
||||||
|
|
||||||
|
// Clear all windows and create a future window
|
||||||
|
_, err = hub.DB().NewQuery("DELETE FROM quiet_hours").Execute()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
futureStart := now.Add(2 * time.Hour)
|
||||||
|
futureEnd := now.Add(3 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": futureStart,
|
||||||
|
"end": futureEnd,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Alert should NOT be silenced (window hasn't started yet)
|
||||||
|
silenced = am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.False(t, silenced, "Alert should not be silenced (window hasn't started)")
|
||||||
|
|
||||||
|
_ = alert
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedDaily(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
system := systems[0]
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Get current hour and create a window that includes current time
|
||||||
|
now := time.Now().UTC()
|
||||||
|
currentHour := now.Hour()
|
||||||
|
currentMin := now.Minute()
|
||||||
|
|
||||||
|
// Create a window from 1 hour ago to 1 hour from now
|
||||||
|
startHour := (currentHour - 1 + 24) % 24
|
||||||
|
endHour := (currentHour + 1) % 24
|
||||||
|
|
||||||
|
// Create times with just the hours/minutes we want (date doesn't matter for daily)
|
||||||
|
startTime := time.Date(2000, 1, 1, startHour, currentMin, 0, 0, time.UTC)
|
||||||
|
endTime := time.Date(2000, 1, 1, endHour, currentMin, 0, 0, time.UTC)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "daily",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Alert should be silenced (current time is within the daily window)
|
||||||
|
silenced := am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.True(t, silenced, "Alert should be silenced during active daily window")
|
||||||
|
|
||||||
|
// Clear windows and create one that doesn't include current time
|
||||||
|
_, err = hub.DB().NewQuery("DELETE FROM quiet_hours").Execute()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a window from 6-12 hours from now
|
||||||
|
futureStartHour := (currentHour + 6) % 24
|
||||||
|
futureEndHour := (currentHour + 12) % 24
|
||||||
|
|
||||||
|
startTime = time.Date(2000, 1, 1, futureStartHour, 0, 0, 0, time.UTC)
|
||||||
|
endTime = time.Date(2000, 1, 1, futureEndHour, 0, 0, 0, time.UTC)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "daily",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Alert should NOT be silenced
|
||||||
|
silenced = am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.False(t, silenced, "Alert should not be silenced (outside daily window)")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedDailyMidnightCrossing(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
system := systems[0]
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Create a window that crosses midnight: 22:00 - 02:00
|
||||||
|
startTime := time.Date(2000, 1, 1, 22, 0, 0, 0, time.UTC)
|
||||||
|
endTime := time.Date(2000, 1, 1, 2, 0, 0, 0, time.UTC)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "daily",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Test with a time at 23:00 (should be silenced)
|
||||||
|
// We can't control the actual current time, but we can verify the logic
|
||||||
|
// by checking if the window was created correctly
|
||||||
|
windows, err := hub.FindAllRecords("quiet_hours", dbx.HashExp{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Len(t, windows, 1, "Should have created 1 window")
|
||||||
|
|
||||||
|
window := windows[0]
|
||||||
|
assert.Equal(t, "daily", window.GetString("type"))
|
||||||
|
assert.Equal(t, 22, window.GetDateTime("start").Time().Hour())
|
||||||
|
assert.Equal(t, 2, window.GetDateTime("end").Time().Hour())
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedGlobal(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create multiple systems
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 3, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Create a global quiet hours window (no system specified)
|
||||||
|
now := time.Now().UTC()
|
||||||
|
startTime := now.Add(-1 * time.Hour)
|
||||||
|
endTime := now.Add(1 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
// system field is empty/null for global windows
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// All systems should be silenced
|
||||||
|
for _, system := range systems {
|
||||||
|
silenced := am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.True(t, silenced, "Alert should be silenced for system %s (global window)", system.Id)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Even with a systemID that doesn't exist, should be silenced
|
||||||
|
silenced := am.IsNotificationSilenced(user.Id, "nonexistent-system")
|
||||||
|
assert.True(t, silenced, "Alert should be silenced for any system (global window)")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedSystemSpecific(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create multiple systems
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 2, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
system1 := systems[0]
|
||||||
|
system2 := systems[1]
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Create a system-specific quiet hours window for system1 only
|
||||||
|
now := time.Now().UTC()
|
||||||
|
startTime := now.Add(-1 * time.Hour)
|
||||||
|
endTime := now.Add(1 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system1.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// System1 should be silenced
|
||||||
|
silenced := am.IsNotificationSilenced(user.Id, system1.Id)
|
||||||
|
assert.True(t, silenced, "Alert should be silenced for system1")
|
||||||
|
|
||||||
|
// System2 should NOT be silenced
|
||||||
|
silenced = am.IsNotificationSilenced(user.Id, system2.Id)
|
||||||
|
assert.False(t, silenced, "Alert should not be silenced for system2")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedMultiUser(t *testing.T) {
|
||||||
|
hub, _ := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create two users
|
||||||
|
user1, err := beszelTests.CreateUser(hub, "user1@example.com", "password")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
user2, err := beszelTests.CreateUser(hub, "user2@example.com", "password")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a system accessible to both users
|
||||||
|
system, err := beszelTests.CreateRecord(hub, "systems", map[string]any{
|
||||||
|
"name": "shared-system",
|
||||||
|
"users": []string{user1.Id, user2.Id},
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Create a quiet hours window for user1 only
|
||||||
|
now := time.Now().UTC()
|
||||||
|
startTime := now.Add(-1 * time.Hour)
|
||||||
|
endTime := now.Add(1 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user1.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// User1 should be silenced
|
||||||
|
silenced := am.IsNotificationSilenced(user1.Id, system.Id)
|
||||||
|
assert.True(t, silenced, "Alert should be silenced for user1")
|
||||||
|
|
||||||
|
// User2 should NOT be silenced
|
||||||
|
silenced = am.IsNotificationSilenced(user2.Id, system.Id)
|
||||||
|
assert.False(t, silenced, "Alert should not be silenced for user2")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedWithActualAlert(t *testing.T) {
|
||||||
|
synctest.Test(t, func(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
system := systems[0]
|
||||||
|
|
||||||
|
// Create a status alert
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "alerts", map[string]any{
|
||||||
|
"name": "Status",
|
||||||
|
"system": system.Id,
|
||||||
|
"user": user.Id,
|
||||||
|
"min": 1,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create user settings with email
|
||||||
|
userSettings, err := hub.FindFirstRecordByFilter("user_settings", "user={:user}", dbx.Params{"user": user.Id})
|
||||||
|
if err != nil || userSettings == nil {
|
||||||
|
userSettings, err = beszelTests.CreateRecord(hub, "user_settings", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"settings": map[string]any{
|
||||||
|
"emails": []string{"test@example.com"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a quiet hours window
|
||||||
|
now := time.Now().UTC()
|
||||||
|
startTime := now.Add(-1 * time.Hour)
|
||||||
|
endTime := now.Add(1 * time.Hour)
|
||||||
|
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "quiet_hours", map[string]any{
|
||||||
|
"user": user.Id,
|
||||||
|
"system": system.Id,
|
||||||
|
"type": "one-time",
|
||||||
|
"start": startTime,
|
||||||
|
"end": endTime,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Get initial email count
|
||||||
|
initialEmailCount := hub.TestMailer.TotalSend()
|
||||||
|
|
||||||
|
// Trigger an alert by setting system to down
|
||||||
|
system.Set("status", "down")
|
||||||
|
err = hub.SaveNoValidate(system)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for the alert to be processed (1 minute + buffer)
|
||||||
|
time.Sleep(time.Second * 75)
|
||||||
|
synctest.Wait()
|
||||||
|
|
||||||
|
// Check that no email was sent (because alert is silenced)
|
||||||
|
finalEmailCount := hub.TestMailer.TotalSend()
|
||||||
|
assert.Equal(t, initialEmailCount, finalEmailCount, "No emails should be sent when alert is silenced")
|
||||||
|
|
||||||
|
// Clear quiet hours windows
|
||||||
|
_, err = hub.DB().NewQuery("DELETE FROM quiet_hours").Execute()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Reset system to up, then down again
|
||||||
|
system.Set("status", "up")
|
||||||
|
err = hub.SaveNoValidate(system)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
|
|
||||||
|
system.Set("status", "down")
|
||||||
|
err = hub.SaveNoValidate(system)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for the alert to be processed
|
||||||
|
time.Sleep(time.Second * 75)
|
||||||
|
synctest.Wait()
|
||||||
|
|
||||||
|
// Now an email should be sent
|
||||||
|
newEmailCount := hub.TestMailer.TotalSend()
|
||||||
|
assert.Greater(t, newEmailCount, finalEmailCount, "Email should be sent when not silenced")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestAlertSilencedNoWindows(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system
|
||||||
|
systems, err := beszelTests.CreateSystems(hub, 1, user.Id, "up")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
system := systems[0]
|
||||||
|
|
||||||
|
// Get alert manager
|
||||||
|
am := alerts.NewAlertManager(hub)
|
||||||
|
defer am.StopWorker()
|
||||||
|
|
||||||
|
// Without any quiet hours windows, alert should NOT be silenced
|
||||||
|
silenced := am.IsNotificationSilenced(user.Id, system.Id)
|
||||||
|
assert.False(t, silenced, "Alert should not be silenced when no windows exist")
|
||||||
|
}
|
||||||
67
internal/alerts/alerts_smart.go
Normal file
67
internal/alerts/alerts_smart.go
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
package alerts
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/pocketbase/pocketbase/core"
|
||||||
|
)
|
||||||
|
|
||||||
|
// handleSmartDeviceAlert sends alerts when a SMART device state changes from PASSED to FAILED.
|
||||||
|
// This is automatic and does not require user opt-in.
|
||||||
|
func (am *AlertManager) handleSmartDeviceAlert(e *core.RecordEvent) error {
|
||||||
|
oldState := e.Record.Original().GetString("state")
|
||||||
|
newState := e.Record.GetString("state")
|
||||||
|
|
||||||
|
// Only alert when transitioning from PASSED to FAILED
|
||||||
|
if oldState != "PASSED" || newState != "FAILED" {
|
||||||
|
return e.Next()
|
||||||
|
}
|
||||||
|
|
||||||
|
systemID := e.Record.GetString("system")
|
||||||
|
if systemID == "" {
|
||||||
|
return e.Next()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fetch the system record to get the name and users
|
||||||
|
systemRecord, err := e.App.FindRecordById("systems", systemID)
|
||||||
|
if err != nil {
|
||||||
|
e.App.Logger().Error("Failed to find system for SMART alert", "err", err, "systemID", systemID)
|
||||||
|
return e.Next()
|
||||||
|
}
|
||||||
|
|
||||||
|
systemName := systemRecord.GetString("name")
|
||||||
|
deviceName := e.Record.GetString("name")
|
||||||
|
model := e.Record.GetString("model")
|
||||||
|
|
||||||
|
// Build alert message
|
||||||
|
title := fmt.Sprintf("SMART failure on %s: %s \U0001F534", systemName, deviceName)
|
||||||
|
var message string
|
||||||
|
if model != "" {
|
||||||
|
message = fmt.Sprintf("Disk %s (%s) SMART status changed to FAILED", deviceName, model)
|
||||||
|
} else {
|
||||||
|
message = fmt.Sprintf("Disk %s SMART status changed to FAILED", deviceName)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get users associated with the system
|
||||||
|
userIDs := systemRecord.GetStringSlice("users")
|
||||||
|
if len(userIDs) == 0 {
|
||||||
|
return e.Next()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send alert to each user
|
||||||
|
for _, userID := range userIDs {
|
||||||
|
if err := am.SendAlert(AlertMessageData{
|
||||||
|
UserID: userID,
|
||||||
|
SystemID: systemID,
|
||||||
|
Title: title,
|
||||||
|
Message: message,
|
||||||
|
Link: am.hub.MakeLink("system", systemID),
|
||||||
|
LinkText: "View " + systemName,
|
||||||
|
}); err != nil {
|
||||||
|
e.App.Logger().Error("Failed to send SMART alert", "err", err, "userID", userID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return e.Next()
|
||||||
|
}
|
||||||
|
|
||||||
196
internal/alerts/alerts_smart_test.go
Normal file
196
internal/alerts/alerts_smart_test.go
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
//go:build testing
|
||||||
|
// +build testing
|
||||||
|
|
||||||
|
package alerts_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
beszelTests "github.com/henrygd/beszel/internal/tests"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestSmartDeviceAlert(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system for the user
|
||||||
|
system, err := beszelTests.CreateRecord(hub, "systems", map[string]any{
|
||||||
|
"name": "test-system",
|
||||||
|
"users": []string{user.Id},
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a smart_device with state PASSED
|
||||||
|
smartDevice, err := beszelTests.CreateRecord(hub, "smart_devices", map[string]any{
|
||||||
|
"system": system.Id,
|
||||||
|
"name": "/dev/sda",
|
||||||
|
"model": "Samsung SSD 970 EVO",
|
||||||
|
"state": "PASSED",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Verify no emails sent initially
|
||||||
|
assert.Zero(t, hub.TestMailer.TotalSend(), "should have 0 emails sent initially")
|
||||||
|
|
||||||
|
// Re-fetch the record so PocketBase can properly track original values
|
||||||
|
smartDevice, err = hub.FindRecordById("smart_devices", smartDevice.Id)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Update the smart device state to FAILED
|
||||||
|
smartDevice.Set("state", "FAILED")
|
||||||
|
err = hub.Save(smartDevice)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Wait for the alert to be processed
|
||||||
|
time.Sleep(50 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify that an email was sent
|
||||||
|
assert.EqualValues(t, 1, hub.TestMailer.TotalSend(), "should have 1 email sent after state changed to FAILED")
|
||||||
|
|
||||||
|
// Check the email content
|
||||||
|
lastMessage := hub.TestMailer.LastMessage()
|
||||||
|
assert.Contains(t, lastMessage.Subject, "SMART failure on test-system")
|
||||||
|
assert.Contains(t, lastMessage.Subject, "/dev/sda")
|
||||||
|
assert.Contains(t, lastMessage.Text, "Samsung SSD 970 EVO")
|
||||||
|
assert.Contains(t, lastMessage.Text, "FAILED")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSmartDeviceAlertNoAlertOnNonPassedToFailed(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system for the user
|
||||||
|
system, err := beszelTests.CreateRecord(hub, "systems", map[string]any{
|
||||||
|
"name": "test-system",
|
||||||
|
"users": []string{user.Id},
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a smart_device with state UNKNOWN
|
||||||
|
smartDevice, err := beszelTests.CreateRecord(hub, "smart_devices", map[string]any{
|
||||||
|
"system": system.Id,
|
||||||
|
"name": "/dev/sda",
|
||||||
|
"model": "Samsung SSD 970 EVO",
|
||||||
|
"state": "UNKNOWN",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Re-fetch the record so PocketBase can properly track original values
|
||||||
|
smartDevice, err = hub.FindRecordById("smart_devices", smartDevice.Id)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Update the state from UNKNOWN to FAILED - should NOT trigger alert
|
||||||
|
smartDevice.Set("state", "FAILED")
|
||||||
|
err = hub.Save(smartDevice)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
time.Sleep(50 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify no email was sent (only PASSED -> FAILED triggers alert)
|
||||||
|
assert.Zero(t, hub.TestMailer.TotalSend(), "should have 0 emails when changing from UNKNOWN to FAILED")
|
||||||
|
|
||||||
|
// Re-fetch the record again
|
||||||
|
smartDevice, err = hub.FindRecordById("smart_devices", smartDevice.Id)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Update state from FAILED to PASSED - should NOT trigger alert
|
||||||
|
smartDevice.Set("state", "PASSED")
|
||||||
|
err = hub.Save(smartDevice)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
time.Sleep(50 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify no email was sent
|
||||||
|
assert.Zero(t, hub.TestMailer.TotalSend(), "should have 0 emails when changing from FAILED to PASSED")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSmartDeviceAlertMultipleUsers(t *testing.T) {
|
||||||
|
hub, user1 := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a second user
|
||||||
|
user2, err := beszelTests.CreateUser(hub, "test2@example.com", "password")
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create user settings for the second user
|
||||||
|
_, err = beszelTests.CreateRecord(hub, "user_settings", map[string]any{
|
||||||
|
"user": user2.Id,
|
||||||
|
"settings": `{"emails":["test2@example.com"],"webhooks":[]}`,
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a system with both users
|
||||||
|
system, err := beszelTests.CreateRecord(hub, "systems", map[string]any{
|
||||||
|
"name": "shared-system",
|
||||||
|
"users": []string{user1.Id, user2.Id},
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a smart_device with state PASSED
|
||||||
|
smartDevice, err := beszelTests.CreateRecord(hub, "smart_devices", map[string]any{
|
||||||
|
"system": system.Id,
|
||||||
|
"name": "/dev/nvme0n1",
|
||||||
|
"model": "WD Black SN850",
|
||||||
|
"state": "PASSED",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Re-fetch the record so PocketBase can properly track original values
|
||||||
|
smartDevice, err = hub.FindRecordById("smart_devices", smartDevice.Id)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Update the smart device state to FAILED
|
||||||
|
smartDevice.Set("state", "FAILED")
|
||||||
|
err = hub.Save(smartDevice)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
time.Sleep(50 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify that two emails were sent (one for each user)
|
||||||
|
assert.EqualValues(t, 2, hub.TestMailer.TotalSend(), "should have 2 emails sent for 2 users")
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSmartDeviceAlertWithoutModel(t *testing.T) {
|
||||||
|
hub, user := beszelTests.GetHubWithUser(t)
|
||||||
|
defer hub.Cleanup()
|
||||||
|
|
||||||
|
// Create a system for the user
|
||||||
|
system, err := beszelTests.CreateRecord(hub, "systems", map[string]any{
|
||||||
|
"name": "test-system",
|
||||||
|
"users": []string{user.Id},
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Create a smart_device with state PASSED but no model
|
||||||
|
smartDevice, err := beszelTests.CreateRecord(hub, "smart_devices", map[string]any{
|
||||||
|
"system": system.Id,
|
||||||
|
"name": "/dev/sdb",
|
||||||
|
"state": "PASSED",
|
||||||
|
})
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Re-fetch the record so PocketBase can properly track original values
|
||||||
|
smartDevice, err = hub.FindRecordById("smart_devices", smartDevice.Id)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
// Update the smart device state to FAILED
|
||||||
|
smartDevice.Set("state", "FAILED")
|
||||||
|
err = hub.Save(smartDevice)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
|
||||||
|
time.Sleep(50 * time.Millisecond)
|
||||||
|
|
||||||
|
// Verify that an email was sent
|
||||||
|
assert.EqualValues(t, 1, hub.TestMailer.TotalSend(), "should have 1 email sent")
|
||||||
|
|
||||||
|
// Check that the email doesn't have empty parentheses for missing model
|
||||||
|
lastMessage := hub.TestMailer.LastMessage()
|
||||||
|
assert.NotContains(t, lastMessage.Text, "()", "should not have empty parentheses for missing model")
|
||||||
|
assert.Contains(t, lastMessage.Text, "/dev/sdb")
|
||||||
|
}
|
||||||
@@ -166,6 +166,7 @@ func (am *AlertManager) sendStatusAlert(alertStatus string, systemName string, a
|
|||||||
|
|
||||||
return am.SendAlert(AlertMessageData{
|
return am.SendAlert(AlertMessageData{
|
||||||
UserID: alertRecord.GetString("user"),
|
UserID: alertRecord.GetString("user"),
|
||||||
|
SystemID: systemID,
|
||||||
Title: title,
|
Title: title,
|
||||||
Message: message,
|
Message: message,
|
||||||
Link: am.hub.MakeLink("system", systemID),
|
Link: am.hub.MakeLink("system", systemID),
|
||||||
|
|||||||
@@ -66,18 +66,31 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *core.Record, data *syst
|
|||||||
unit = ""
|
unit = ""
|
||||||
case "GPU":
|
case "GPU":
|
||||||
val = data.Info.GpuPct
|
val = data.Info.GpuPct
|
||||||
|
case "Battery":
|
||||||
|
if data.Stats.Battery[0] == 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
val = float64(data.Stats.Battery[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
triggered := alertRecord.GetBool("triggered")
|
triggered := alertRecord.GetBool("triggered")
|
||||||
threshold := alertRecord.GetFloat("value")
|
threshold := alertRecord.GetFloat("value")
|
||||||
|
|
||||||
|
// Battery alert has inverted logic: trigger when value is BELOW threshold
|
||||||
|
lowAlert := isLowAlert(name)
|
||||||
|
|
||||||
// CONTINUE
|
// CONTINUE
|
||||||
// IF alert is not triggered and curValue is less than threshold
|
// For normal alerts: IF not triggered and curValue <= threshold, OR triggered and curValue > threshold
|
||||||
// OR alert is triggered and curValue is greater than threshold
|
// For low alerts (Battery): IF not triggered and curValue >= threshold, OR triggered and curValue < threshold
|
||||||
if (!triggered && val <= threshold) || (triggered && val > threshold) {
|
if lowAlert {
|
||||||
// log.Printf("Skipping alert %s: val %f | threshold %f | triggered %v\n", name, val, threshold, triggered)
|
if (!triggered && val >= threshold) || (triggered && val < threshold) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (!triggered && val <= threshold) || (triggered && val > threshold) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
min := max(1, cast.ToUint8(alertRecord.Get("min")))
|
min := max(1, cast.ToUint8(alertRecord.Get("min")))
|
||||||
|
|
||||||
@@ -94,7 +107,11 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *core.Record, data *syst
|
|||||||
|
|
||||||
// send alert immediately if min is 1 - no need to sum up values.
|
// send alert immediately if min is 1 - no need to sum up values.
|
||||||
if min == 1 {
|
if min == 1 {
|
||||||
|
if lowAlert {
|
||||||
|
alert.triggered = val < threshold
|
||||||
|
} else {
|
||||||
alert.triggered = val > threshold
|
alert.triggered = val > threshold
|
||||||
|
}
|
||||||
go am.sendSystemAlert(alert)
|
go am.sendSystemAlert(alert)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -219,6 +236,8 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *core.Record, data *syst
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
alert.val += maxUsage
|
alert.val += maxUsage
|
||||||
|
case "Battery":
|
||||||
|
alert.val += float64(stats.Battery[0])
|
||||||
default:
|
default:
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -256,6 +275,17 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *core.Record, data *syst
|
|||||||
// log.Printf("%s: val %f | count %d | min-count %f | threshold %f\n", alert.name, alert.val, alert.count, minCount, alert.threshold)
|
// log.Printf("%s: val %f | count %d | min-count %f | threshold %f\n", alert.name, alert.val, alert.count, minCount, alert.threshold)
|
||||||
// pass through alert if count is greater than or equal to minCount
|
// pass through alert if count is greater than or equal to minCount
|
||||||
if float32(alert.count) >= minCount {
|
if float32(alert.count) >= minCount {
|
||||||
|
// Battery alert has inverted logic: trigger when value is BELOW threshold
|
||||||
|
lowAlert := isLowAlert(alert.name)
|
||||||
|
if lowAlert {
|
||||||
|
if !alert.triggered && alert.val < alert.threshold {
|
||||||
|
alert.triggered = true
|
||||||
|
go am.sendSystemAlert(alert)
|
||||||
|
} else if alert.triggered && alert.val >= alert.threshold {
|
||||||
|
alert.triggered = false
|
||||||
|
go am.sendSystemAlert(alert)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if !alert.triggered && alert.val > alert.threshold {
|
if !alert.triggered && alert.val > alert.threshold {
|
||||||
alert.triggered = true
|
alert.triggered = true
|
||||||
go am.sendSystemAlert(alert)
|
go am.sendSystemAlert(alert)
|
||||||
@@ -265,6 +295,7 @@ func (am *AlertManager) HandleSystemAlerts(systemRecord *core.Record, data *syst
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,18 +312,27 @@ func (am *AlertManager) sendSystemAlert(alert SystemAlertData) {
|
|||||||
alert.name = after + "m Load"
|
alert.name = after + "m Load"
|
||||||
}
|
}
|
||||||
|
|
||||||
// make title alert name lowercase if not CPU
|
// make title alert name lowercase if not CPU or GPU
|
||||||
titleAlertName := alert.name
|
titleAlertName := alert.name
|
||||||
if titleAlertName != "CPU" {
|
if titleAlertName != "CPU" && titleAlertName != "GPU" {
|
||||||
titleAlertName = strings.ToLower(titleAlertName)
|
titleAlertName = strings.ToLower(titleAlertName)
|
||||||
}
|
}
|
||||||
|
|
||||||
var subject string
|
var subject string
|
||||||
|
lowAlert := isLowAlert(alert.name)
|
||||||
if alert.triggered {
|
if alert.triggered {
|
||||||
|
if lowAlert {
|
||||||
|
subject = fmt.Sprintf("%s %s below threshold", systemName, titleAlertName)
|
||||||
|
} else {
|
||||||
|
subject = fmt.Sprintf("%s %s above threshold", systemName, titleAlertName)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if lowAlert {
|
||||||
subject = fmt.Sprintf("%s %s above threshold", systemName, titleAlertName)
|
subject = fmt.Sprintf("%s %s above threshold", systemName, titleAlertName)
|
||||||
} else {
|
} else {
|
||||||
subject = fmt.Sprintf("%s %s below threshold", systemName, titleAlertName)
|
subject = fmt.Sprintf("%s %s below threshold", systemName, titleAlertName)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
minutesLabel := "minute"
|
minutesLabel := "minute"
|
||||||
if alert.min > 1 {
|
if alert.min > 1 {
|
||||||
minutesLabel += "s"
|
minutesLabel += "s"
|
||||||
@@ -309,9 +349,14 @@ func (am *AlertManager) sendSystemAlert(alert SystemAlertData) {
|
|||||||
}
|
}
|
||||||
am.SendAlert(AlertMessageData{
|
am.SendAlert(AlertMessageData{
|
||||||
UserID: alert.alertRecord.GetString("user"),
|
UserID: alert.alertRecord.GetString("user"),
|
||||||
|
SystemID: alert.systemRecord.Id,
|
||||||
Title: subject,
|
Title: subject,
|
||||||
Message: body,
|
Message: body,
|
||||||
Link: am.hub.MakeLink("system", alert.systemRecord.Id),
|
Link: am.hub.MakeLink("system", alert.systemRecord.Id),
|
||||||
LinkText: "View " + systemName,
|
LinkText: "View " + systemName,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isLowAlert(name string) bool {
|
||||||
|
return name == "Battery"
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,9 +17,8 @@ import (
|
|||||||
type cmdOptions struct {
|
type cmdOptions struct {
|
||||||
key string // key is the public key(s) for SSH authentication.
|
key string // key is the public key(s) for SSH authentication.
|
||||||
listen string // listen is the address or port to listen on.
|
listen string // listen is the address or port to listen on.
|
||||||
// TODO: add hubURL and token
|
hubURL string // hubURL is the URL of the Beszel hub.
|
||||||
// hubURL string // hubURL is the URL of the hub to use.
|
token string // token is the token to use for authentication.
|
||||||
// token string // token is the token to use for authentication.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse parses the command line flags and populates the config struct.
|
// parse parses the command line flags and populates the config struct.
|
||||||
@@ -47,13 +46,13 @@ func (opts *cmdOptions) parse() bool {
|
|||||||
// pflag.CommandLine.ParseErrorsWhitelist.UnknownFlags = true
|
// pflag.CommandLine.ParseErrorsWhitelist.UnknownFlags = true
|
||||||
pflag.StringVarP(&opts.key, "key", "k", "", "Public key(s) for SSH authentication")
|
pflag.StringVarP(&opts.key, "key", "k", "", "Public key(s) for SSH authentication")
|
||||||
pflag.StringVarP(&opts.listen, "listen", "l", "", "Address or port to listen on")
|
pflag.StringVarP(&opts.listen, "listen", "l", "", "Address or port to listen on")
|
||||||
// pflag.StringVarP(&opts.hubURL, "hub-url", "u", "", "URL of the hub to use")
|
pflag.StringVarP(&opts.hubURL, "url", "u", "", "URL of the Beszel hub")
|
||||||
// pflag.StringVarP(&opts.token, "token", "t", "", "Token to use for authentication")
|
pflag.StringVarP(&opts.token, "token", "t", "", "Token to use for authentication")
|
||||||
chinaMirrors := pflag.BoolP("china-mirrors", "c", false, "Use mirror for update (gh.beszel.dev) instead of GitHub")
|
chinaMirrors := pflag.BoolP("china-mirrors", "c", false, "Use mirror for update (gh.beszel.dev) instead of GitHub")
|
||||||
help := pflag.BoolP("help", "h", false, "Show this help message")
|
help := pflag.BoolP("help", "h", false, "Show this help message")
|
||||||
|
|
||||||
// Convert old single-dash long flags to double-dash for backward compatibility
|
// Convert old single-dash long flags to double-dash for backward compatibility
|
||||||
flagsToConvert := []string{"key", "listen"}
|
flagsToConvert := []string{"key", "listen", "url", "token"}
|
||||||
for i, arg := range os.Args {
|
for i, arg := range os.Args {
|
||||||
for _, flag := range flagsToConvert {
|
for _, flag := range flagsToConvert {
|
||||||
singleDash := "-" + flag
|
singleDash := "-" + flag
|
||||||
@@ -95,6 +94,13 @@ func (opts *cmdOptions) parse() bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set environment variables from CLI flags (if provided)
|
||||||
|
if opts.hubURL != "" {
|
||||||
|
os.Setenv("HUB_URL", opts.hubURL)
|
||||||
|
}
|
||||||
|
if opts.token != "" {
|
||||||
|
os.Setenv("TOKEN", opts.token)
|
||||||
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ type FingerprintResponse struct {
|
|||||||
|
|
||||||
type DataRequestOptions struct {
|
type DataRequestOptions struct {
|
||||||
CacheTimeMs uint16 `cbor:"0,keyasint"`
|
CacheTimeMs uint16 `cbor:"0,keyasint"`
|
||||||
// ResourceType uint8 `cbor:"1,keyasint,omitempty,omitzero"`
|
IncludeDetails bool `cbor:"1,keyasint"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ContainerLogsRequest struct {
|
type ContainerLogsRequest struct {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ RUN rm -rf /tmp/*
|
|||||||
# --------------------------
|
# --------------------------
|
||||||
# Final image: default scratch-based agent
|
# Final image: default scratch-based agent
|
||||||
# --------------------------
|
# --------------------------
|
||||||
FROM alpine:latest
|
FROM alpine:3.22
|
||||||
COPY --from=builder /agent /agent
|
COPY --from=builder /agent /agent
|
||||||
|
|
||||||
RUN apk add --no-cache smartmontools
|
RUN apk add --no-cache smartmontools
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ RUN CGO_ENABLED=0 GOGC=75 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags "-
|
|||||||
# Final image
|
# Final image
|
||||||
# Note: must cap_add: [CAP_PERFMON] and mount /dev/dri/ as volume
|
# Note: must cap_add: [CAP_PERFMON] and mount /dev/dri/ as volume
|
||||||
# --------------------------
|
# --------------------------
|
||||||
FROM alpine:edge
|
FROM alpine:3.22
|
||||||
|
|
||||||
COPY --from=builder /agent /agent
|
COPY --from=builder /agent /agent
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,17 @@ type ApiStats struct {
|
|||||||
MemoryStats MemoryStats `json:"memory_stats"`
|
MemoryStats MemoryStats `json:"memory_stats"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Docker system info from /info
|
||||||
|
type HostInfo struct {
|
||||||
|
OperatingSystem string `json:"OperatingSystem"`
|
||||||
|
KernelVersion string `json:"KernelVersion"`
|
||||||
|
NCPU int `json:"NCPU"`
|
||||||
|
MemTotal uint64 `json:"MemTotal"`
|
||||||
|
// OSVersion string `json:"OSVersion"`
|
||||||
|
// OSType string `json:"OSType"`
|
||||||
|
// Architecture string `json:"Architecture"`
|
||||||
|
}
|
||||||
|
|
||||||
func (s *ApiStats) CalculateCpuPercentLinux(prevCpuContainer uint64, prevCpuSystem uint64) float64 {
|
func (s *ApiStats) CalculateCpuPercentLinux(prevCpuContainer uint64, prevCpuSystem uint64) float64 {
|
||||||
cpuDelta := s.CPUStats.CPUUsage.TotalUsage - prevCpuContainer
|
cpuDelta := s.CPUStats.CPUUsage.TotalUsage - prevCpuContainer
|
||||||
systemDelta := s.CPUStats.SystemUsage - prevCpuSystem
|
systemDelta := s.CPUStats.SystemUsage - prevCpuSystem
|
||||||
|
|||||||
@@ -123,29 +123,48 @@ const (
|
|||||||
ConnectionTypeWebSocket
|
ConnectionTypeWebSocket
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Core system data that is needed in All Systems table
|
||||||
type Info struct {
|
type Info struct {
|
||||||
Hostname string `json:"h" cbor:"0,keyasint"`
|
Hostname string `json:"h,omitempty" cbor:"0,keyasint,omitempty"` // deprecated - moved to Details struct
|
||||||
KernelVersion string `json:"k,omitempty" cbor:"1,keyasint,omitempty"`
|
KernelVersion string `json:"k,omitempty" cbor:"1,keyasint,omitempty"` // deprecated - moved to Details struct
|
||||||
Cores int `json:"c" cbor:"2,keyasint"`
|
Cores int `json:"c,omitzero" cbor:"2,keyasint,omitzero"` // deprecated - moved to Details struct
|
||||||
|
CpuModel string `json:"m,omitempty" cbor:"4,keyasint,omitempty"` // deprecated - moved to Details struct
|
||||||
|
Podman bool `json:"p,omitempty" cbor:"11,keyasint,omitempty"` // deprecated - moved to Details struct
|
||||||
|
Os Os `json:"os,omitempty" cbor:"14,keyasint,omitempty"` // deprecated - moved to Details struct
|
||||||
|
// Threads is needed in Info struct to calculate load average thresholds
|
||||||
Threads int `json:"t,omitempty" cbor:"3,keyasint,omitempty"`
|
Threads int `json:"t,omitempty" cbor:"3,keyasint,omitempty"`
|
||||||
CpuModel string `json:"m" cbor:"4,keyasint"`
|
|
||||||
Uptime uint64 `json:"u" cbor:"5,keyasint"`
|
Uptime uint64 `json:"u" cbor:"5,keyasint"`
|
||||||
Cpu float64 `json:"cpu" cbor:"6,keyasint"`
|
Cpu float64 `json:"cpu" cbor:"6,keyasint"`
|
||||||
MemPct float64 `json:"mp" cbor:"7,keyasint"`
|
MemPct float64 `json:"mp" cbor:"7,keyasint"`
|
||||||
DiskPct float64 `json:"dp" cbor:"8,keyasint"`
|
DiskPct float64 `json:"dp" cbor:"8,keyasint"`
|
||||||
Bandwidth float64 `json:"b" cbor:"9,keyasint"`
|
Bandwidth float64 `json:"b" cbor:"9,keyasint"`
|
||||||
AgentVersion string `json:"v" cbor:"10,keyasint"`
|
AgentVersion string `json:"v" cbor:"10,keyasint"`
|
||||||
Podman bool `json:"p,omitempty" cbor:"11,keyasint,omitempty"`
|
|
||||||
GpuPct float64 `json:"g,omitempty" cbor:"12,keyasint,omitempty"`
|
GpuPct float64 `json:"g,omitempty" cbor:"12,keyasint,omitempty"`
|
||||||
DashboardTemp float64 `json:"dt,omitempty" cbor:"13,keyasint,omitempty"`
|
DashboardTemp float64 `json:"dt,omitempty" cbor:"13,keyasint,omitempty"`
|
||||||
Os Os `json:"os" cbor:"14,keyasint"`
|
LoadAvg1 float64 `json:"l1,omitempty" cbor:"15,keyasint,omitempty"` // deprecated - use `la` array instead
|
||||||
LoadAvg1 float64 `json:"l1,omitempty" cbor:"15,keyasint,omitempty"`
|
LoadAvg5 float64 `json:"l5,omitempty" cbor:"16,keyasint,omitempty"` // deprecated - use `la` array instead
|
||||||
LoadAvg5 float64 `json:"l5,omitempty" cbor:"16,keyasint,omitempty"`
|
LoadAvg15 float64 `json:"l15,omitempty" cbor:"17,keyasint,omitempty"` // deprecated - use `la` array instead
|
||||||
LoadAvg15 float64 `json:"l15,omitempty" cbor:"17,keyasint,omitempty"`
|
|
||||||
BandwidthBytes uint64 `json:"bb" cbor:"18,keyasint"`
|
BandwidthBytes uint64 `json:"bb" cbor:"18,keyasint"`
|
||||||
// TODO: remove load fields in future release in favor of load avg array
|
|
||||||
LoadAvg [3]float64 `json:"la,omitempty" cbor:"19,keyasint"`
|
LoadAvg [3]float64 `json:"la,omitempty" cbor:"19,keyasint"`
|
||||||
ConnectionType ConnectionType `json:"ct,omitempty" cbor:"20,keyasint,omitempty,omitzero"`
|
ConnectionType ConnectionType `json:"ct,omitempty" cbor:"20,keyasint,omitempty,omitzero"`
|
||||||
|
ExtraFsPct map[string]float64 `json:"efs,omitempty" cbor:"21,keyasint,omitempty"`
|
||||||
|
Services []uint16 `json:"sv,omitempty" cbor:"22,keyasint,omitempty"` // [totalServices, numFailedServices]
|
||||||
|
Battery [2]uint8 `json:"bat,omitzero" cbor:"23,keyasint,omitzero"` // [percent, charge state]
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data that does not change during process lifetime and is not needed in All Systems table
|
||||||
|
type Details struct {
|
||||||
|
Hostname string `cbor:"0,keyasint"`
|
||||||
|
Kernel string `cbor:"1,keyasint,omitempty"`
|
||||||
|
Cores int `cbor:"2,keyasint"`
|
||||||
|
Threads int `cbor:"3,keyasint"`
|
||||||
|
CpuModel string `cbor:"4,keyasint"`
|
||||||
|
Os Os `cbor:"5,keyasint"`
|
||||||
|
OsName string `cbor:"6,keyasint"`
|
||||||
|
Arch string `cbor:"7,keyasint"`
|
||||||
|
Podman bool `cbor:"8,keyasint,omitempty"`
|
||||||
|
MemoryTotal uint64 `cbor:"9,keyasint"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Final data structure to return to the hub
|
// Final data structure to return to the hub
|
||||||
@@ -154,4 +173,5 @@ type CombinedData struct {
|
|||||||
Info Info `json:"info" cbor:"1,keyasint"`
|
Info Info `json:"info" cbor:"1,keyasint"`
|
||||||
Containers []*container.Stats `json:"container" cbor:"2,keyasint"`
|
Containers []*container.Stats `json:"container" cbor:"2,keyasint"`
|
||||||
SystemdServices []*systemd.Service `json:"systemd,omitempty" cbor:"3,keyasint,omitempty"`
|
SystemdServices []*systemd.Service `json:"systemd,omitempty" cbor:"3,keyasint,omitempty"`
|
||||||
|
Details *Details `cbor:"4,keyasint,omitempty"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -268,8 +268,8 @@ func (h *Hub) registerApiRoutes(se *core.ServeEvent) error {
|
|||||||
// update / delete user alerts
|
// update / delete user alerts
|
||||||
apiAuth.POST("/user-alerts", alerts.UpsertUserAlerts)
|
apiAuth.POST("/user-alerts", alerts.UpsertUserAlerts)
|
||||||
apiAuth.DELETE("/user-alerts", alerts.DeleteUserAlerts)
|
apiAuth.DELETE("/user-alerts", alerts.DeleteUserAlerts)
|
||||||
// get SMART data
|
// refresh SMART devices for a system
|
||||||
apiAuth.GET("/smart", h.getSmartData)
|
apiAuth.POST("/smart/refresh", h.refreshSmartData)
|
||||||
// get systemd service details
|
// get systemd service details
|
||||||
apiAuth.GET("/systemd/info", h.getSystemdInfo)
|
apiAuth.GET("/systemd/info", h.getSystemdInfo)
|
||||||
// /containers routes
|
// /containers routes
|
||||||
@@ -365,22 +365,25 @@ func (h *Hub) getSystemdInfo(e *core.RequestEvent) error {
|
|||||||
return e.JSON(http.StatusOK, map[string]any{"details": details})
|
return e.JSON(http.StatusOK, map[string]any{"details": details})
|
||||||
}
|
}
|
||||||
|
|
||||||
// getSmartData handles GET /api/beszel/smart requests
|
// refreshSmartData handles POST /api/beszel/smart/refresh requests
|
||||||
func (h *Hub) getSmartData(e *core.RequestEvent) error {
|
// Fetches fresh SMART data from the agent and updates the collection
|
||||||
|
func (h *Hub) refreshSmartData(e *core.RequestEvent) error {
|
||||||
systemID := e.Request.URL.Query().Get("system")
|
systemID := e.Request.URL.Query().Get("system")
|
||||||
if systemID == "" {
|
if systemID == "" {
|
||||||
return e.JSON(http.StatusBadRequest, map[string]string{"error": "system parameter is required"})
|
return e.JSON(http.StatusBadRequest, map[string]string{"error": "system parameter is required"})
|
||||||
}
|
}
|
||||||
|
|
||||||
system, err := h.sm.GetSystem(systemID)
|
system, err := h.sm.GetSystem(systemID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return e.JSON(http.StatusNotFound, map[string]string{"error": "system not found"})
|
return e.JSON(http.StatusNotFound, map[string]string{"error": "system not found"})
|
||||||
}
|
}
|
||||||
data, err := system.FetchSmartDataFromAgent()
|
|
||||||
if err != nil {
|
// Fetch and save SMART devices
|
||||||
return e.JSON(http.StatusNotFound, map[string]string{"error": err.Error()})
|
if err := system.FetchAndSaveSmartDevices(); err != nil {
|
||||||
|
return e.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()})
|
||||||
}
|
}
|
||||||
e.Response.Header().Set("Cache-Control", "public, max-age=60")
|
|
||||||
return e.JSON(http.StatusOK, data)
|
return e.JSON(http.StatusOK, map[string]string{"status": "ok"})
|
||||||
}
|
}
|
||||||
|
|
||||||
// generates key pair if it doesn't exist and returns signer
|
// generates key pair if it doesn't exist and returns signer
|
||||||
|
|||||||
@@ -6,9 +6,11 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"hash/fnv"
|
"hash/fnv"
|
||||||
|
"log/slog"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/henrygd/beszel/internal/common"
|
"github.com/henrygd/beszel/internal/common"
|
||||||
@@ -40,6 +42,8 @@ type System struct {
|
|||||||
WsConn *ws.WsConn // Handler for agent WebSocket connection
|
WsConn *ws.WsConn // Handler for agent WebSocket connection
|
||||||
agentVersion semver.Version // Agent version
|
agentVersion semver.Version // Agent version
|
||||||
updateTicker *time.Ticker // Ticker for updating the system
|
updateTicker *time.Ticker // Ticker for updating the system
|
||||||
|
smartOnce sync.Once // Once for fetching and saving smart devices
|
||||||
|
detailsOnce sync.Once // Once for fetching and saving static system details
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sm *SystemManager) NewSystem(systemId string) *System {
|
func (sm *SystemManager) NewSystem(systemId string) *System {
|
||||||
@@ -112,7 +116,14 @@ func (sys *System) update() error {
|
|||||||
sys.handlePaused()
|
sys.handlePaused()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
data, err := sys.fetchDataFromAgent(common.DataRequestOptions{CacheTimeMs: uint16(interval)})
|
options := common.DataRequestOptions{
|
||||||
|
CacheTimeMs: uint16(interval),
|
||||||
|
}
|
||||||
|
// fetch system details only on the first update
|
||||||
|
sys.detailsOnce.Do(func() {
|
||||||
|
options.IncludeDetails = true
|
||||||
|
})
|
||||||
|
data, err := sys.fetchDataFromAgent(options)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
_, err = sys.createRecords(data)
|
_, err = sys.createRecords(data)
|
||||||
}
|
}
|
||||||
@@ -140,6 +151,12 @@ func (sys *System) createRecords(data *system.CombinedData) (*core.Record, error
|
|||||||
}
|
}
|
||||||
hub := sys.manager.hub
|
hub := sys.manager.hub
|
||||||
err = hub.RunInTransaction(func(txApp core.App) error {
|
err = hub.RunInTransaction(func(txApp core.App) error {
|
||||||
|
if data.Details != nil {
|
||||||
|
slog.Info("Static info", "data", data.Details)
|
||||||
|
if err := createStaticInfoRecord(txApp, data.Details, sys.Id); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
// add system_stats and container_stats records
|
// add system_stats and container_stats records
|
||||||
systemStatsCollection, err := txApp.FindCachedCollectionByNameOrId("system_stats")
|
systemStatsCollection, err := txApp.FindCachedCollectionByNameOrId("system_stats")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -191,9 +208,40 @@ func (sys *System) createRecords(data *system.CombinedData) (*core.Record, error
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Fetch and save SMART devices when system first comes online
|
||||||
|
if err == nil {
|
||||||
|
sys.smartOnce.Do(func() {
|
||||||
|
go sys.FetchAndSaveSmartDevices()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return systemRecord, err
|
return systemRecord, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createStaticInfoRecord(app core.App, data *system.Details, systemId string) error {
|
||||||
|
record, err := app.FindRecordById("system_details", systemId)
|
||||||
|
if err != nil {
|
||||||
|
collection, err := app.FindCollectionByNameOrId("system_details")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
record = core.NewRecord(collection)
|
||||||
|
record.Set("id", systemId)
|
||||||
|
}
|
||||||
|
record.Set("system", systemId)
|
||||||
|
record.Set("hostname", data.Hostname)
|
||||||
|
record.Set("kernel", data.Kernel)
|
||||||
|
record.Set("cores", data.Cores)
|
||||||
|
record.Set("threads", data.Threads)
|
||||||
|
record.Set("cpu", data.CpuModel)
|
||||||
|
record.Set("os", data.Os)
|
||||||
|
record.Set("os_name", data.OsName)
|
||||||
|
record.Set("arch", data.Arch)
|
||||||
|
record.Set("memory", data.MemoryTotal)
|
||||||
|
record.Set("podman", data.Podman)
|
||||||
|
return app.SaveNoValidate(record)
|
||||||
|
}
|
||||||
|
|
||||||
func createSystemdStatsRecords(app core.App, data []*systemd.Service, systemId string) error {
|
func createSystemdStatsRecords(app core.App, data []*systemd.Service, systemId string) error {
|
||||||
if len(data) == 0 {
|
if len(data) == 0 {
|
||||||
return nil
|
return nil
|
||||||
@@ -208,7 +256,7 @@ func createSystemdStatsRecords(app core.App, data []*systemd.Service, systemId s
|
|||||||
for i, service := range data {
|
for i, service := range data {
|
||||||
suffix := fmt.Sprintf("%d", i)
|
suffix := fmt.Sprintf("%d", i)
|
||||||
valueStrings = append(valueStrings, fmt.Sprintf("({:id%[1]s}, {:system}, {:name%[1]s}, {:state%[1]s}, {:sub%[1]s}, {:cpu%[1]s}, {:cpuPeak%[1]s}, {:memory%[1]s}, {:memPeak%[1]s}, {:updated})", suffix))
|
valueStrings = append(valueStrings, fmt.Sprintf("({:id%[1]s}, {:system}, {:name%[1]s}, {:state%[1]s}, {:sub%[1]s}, {:cpu%[1]s}, {:cpuPeak%[1]s}, {:memory%[1]s}, {:memPeak%[1]s}, {:updated})", suffix))
|
||||||
params["id"+suffix] = getSystemdServiceId(systemId, service.Name)
|
params["id"+suffix] = makeStableHashId(systemId, service.Name)
|
||||||
params["name"+suffix] = service.Name
|
params["name"+suffix] = service.Name
|
||||||
params["state"+suffix] = service.State
|
params["state"+suffix] = service.State
|
||||||
params["sub"+suffix] = service.Sub
|
params["sub"+suffix] = service.Sub
|
||||||
@@ -225,13 +273,6 @@ func createSystemdStatsRecords(app core.App, data []*systemd.Service, systemId s
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// getSystemdServiceId generates a deterministic unique id for a systemd service
|
|
||||||
func getSystemdServiceId(systemId string, serviceName string) string {
|
|
||||||
hash := fnv.New32a()
|
|
||||||
hash.Write([]byte(systemId + serviceName))
|
|
||||||
return fmt.Sprintf("%x", hash.Sum32())
|
|
||||||
}
|
|
||||||
|
|
||||||
// createContainerRecords creates container records
|
// createContainerRecords creates container records
|
||||||
func createContainerRecords(app core.App, data []*container.Stats, systemId string) error {
|
func createContainerRecords(app core.App, data []*container.Stats, systemId string) error {
|
||||||
if len(data) == 0 {
|
if len(data) == 0 {
|
||||||
@@ -348,7 +389,8 @@ func (sys *System) fetchStringFromAgentViaSSH(action common.WebSocketAction, req
|
|||||||
if err := session.Shell(); err != nil {
|
if err := session.Shell(); err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
req := common.HubRequest[any]{Action: action, Data: requestData}
|
reqDataBytes, _ := cbor.Marshal(requestData)
|
||||||
|
req := common.HubRequest[cbor.RawMessage]{Action: action, Data: reqDataBytes}
|
||||||
_ = cbor.NewEncoder(stdin).Encode(req)
|
_ = cbor.NewEncoder(stdin).Encode(req)
|
||||||
_ = stdin.Close()
|
_ = stdin.Close()
|
||||||
var resp common.AgentResponse
|
var resp common.AgentResponse
|
||||||
@@ -412,7 +454,8 @@ func (sys *System) FetchSystemdInfoFromAgent(serviceName string) (systemd.Servic
|
|||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
req := common.HubRequest[any]{Action: common.GetSystemdInfo, Data: common.SystemdInfoRequest{ServiceName: serviceName}}
|
reqDataBytes, _ := cbor.Marshal(common.SystemdInfoRequest{ServiceName: serviceName})
|
||||||
|
req := common.HubRequest[cbor.RawMessage]{Action: common.GetSystemdInfo, Data: reqDataBytes}
|
||||||
if err := cbor.NewEncoder(stdin).Encode(req); err != nil {
|
if err := cbor.NewEncoder(stdin).Encode(req); err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
@@ -435,43 +478,12 @@ func (sys *System) FetchSystemdInfoFromAgent(serviceName string) (systemd.Servic
|
|||||||
return result, err
|
return result, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// FetchSmartDataFromAgent fetches SMART data from the agent
|
func makeStableHashId(strings ...string) string {
|
||||||
func (sys *System) FetchSmartDataFromAgent() (map[string]any, error) {
|
hash := fnv.New32a()
|
||||||
// fetch via websocket
|
for _, str := range strings {
|
||||||
if sys.WsConn != nil && sys.WsConn.IsConnected() {
|
hash.Write([]byte(str))
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
||||||
defer cancel()
|
|
||||||
return sys.WsConn.RequestSmartData(ctx)
|
|
||||||
}
|
}
|
||||||
// fetch via SSH
|
return fmt.Sprintf("%x", hash.Sum32())
|
||||||
var result map[string]any
|
|
||||||
err := sys.runSSHOperation(5*time.Second, 1, func(session *ssh.Session) (bool, error) {
|
|
||||||
stdout, err := session.StdoutPipe()
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
stdin, stdinErr := session.StdinPipe()
|
|
||||||
if stdinErr != nil {
|
|
||||||
return false, stdinErr
|
|
||||||
}
|
|
||||||
if err := session.Shell(); err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
req := common.HubRequest[any]{Action: common.GetSmartData}
|
|
||||||
_ = cbor.NewEncoder(stdin).Encode(req)
|
|
||||||
_ = stdin.Close()
|
|
||||||
var resp common.AgentResponse
|
|
||||||
if err := cbor.NewDecoder(stdout).Decode(&resp); err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
// Convert to generic map for JSON response
|
|
||||||
result = make(map[string]any, len(resp.SmartData))
|
|
||||||
for k, v := range resp.SmartData {
|
|
||||||
result[k] = v
|
|
||||||
}
|
|
||||||
return false, nil
|
|
||||||
})
|
|
||||||
return result, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// fetchDataViaSSH handles fetching data using SSH.
|
// fetchDataViaSSH handles fetching data using SSH.
|
||||||
@@ -491,7 +503,8 @@ func (sys *System) fetchDataViaSSH(options common.DataRequestOptions) (*system.C
|
|||||||
*sys.data = system.CombinedData{}
|
*sys.data = system.CombinedData{}
|
||||||
|
|
||||||
if sys.agentVersion.GTE(beszel.MinVersionAgentResponse) && stdinErr == nil {
|
if sys.agentVersion.GTE(beszel.MinVersionAgentResponse) && stdinErr == nil {
|
||||||
req := common.HubRequest[any]{Action: common.GetData, Data: options}
|
reqDataBytes, _ := cbor.Marshal(options)
|
||||||
|
req := common.HubRequest[cbor.RawMessage]{Action: common.GetData, Data: reqDataBytes}
|
||||||
_ = cbor.NewEncoder(stdin).Encode(req)
|
_ = cbor.NewEncoder(stdin).Encode(req)
|
||||||
_ = stdin.Close()
|
_ = stdin.Close()
|
||||||
|
|
||||||
|
|||||||
132
internal/hub/systems/system_smart.go
Normal file
132
internal/hub/systems/system_smart.go
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
package systems
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"database/sql"
|
||||||
|
"errors"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/fxamacker/cbor/v2"
|
||||||
|
"github.com/henrygd/beszel/internal/common"
|
||||||
|
"github.com/henrygd/beszel/internal/entities/smart"
|
||||||
|
"github.com/pocketbase/pocketbase/core"
|
||||||
|
"golang.org/x/crypto/ssh"
|
||||||
|
)
|
||||||
|
|
||||||
|
// FetchSmartDataFromAgent fetches SMART data from the agent
|
||||||
|
func (sys *System) FetchSmartDataFromAgent() (map[string]smart.SmartData, error) {
|
||||||
|
// fetch via websocket
|
||||||
|
if sys.WsConn != nil && sys.WsConn.IsConnected() {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||||
|
defer cancel()
|
||||||
|
return sys.WsConn.RequestSmartData(ctx)
|
||||||
|
}
|
||||||
|
// fetch via SSH
|
||||||
|
var result map[string]smart.SmartData
|
||||||
|
err := sys.runSSHOperation(5*time.Second, 1, func(session *ssh.Session) (bool, error) {
|
||||||
|
stdout, err := session.StdoutPipe()
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
stdin, stdinErr := session.StdinPipe()
|
||||||
|
if stdinErr != nil {
|
||||||
|
return false, stdinErr
|
||||||
|
}
|
||||||
|
if err := session.Shell(); err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
req := common.HubRequest[any]{Action: common.GetSmartData}
|
||||||
|
_ = cbor.NewEncoder(stdin).Encode(req)
|
||||||
|
_ = stdin.Close()
|
||||||
|
var resp common.AgentResponse
|
||||||
|
if err := cbor.NewDecoder(stdout).Decode(&resp); err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
result = resp.SmartData
|
||||||
|
return false, nil
|
||||||
|
})
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// FetchAndSaveSmartDevices fetches SMART data from the agent and saves it to the database
|
||||||
|
func (sys *System) FetchAndSaveSmartDevices() error {
|
||||||
|
smartData, err := sys.FetchSmartDataFromAgent()
|
||||||
|
if err != nil || len(smartData) == 0 {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return sys.saveSmartDevices(smartData)
|
||||||
|
}
|
||||||
|
|
||||||
|
// saveSmartDevices saves SMART device data to the smart_devices collection
|
||||||
|
func (sys *System) saveSmartDevices(smartData map[string]smart.SmartData) error {
|
||||||
|
if len(smartData) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
hub := sys.manager.hub
|
||||||
|
collection, err := hub.FindCachedCollectionByNameOrId("smart_devices")
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
for deviceKey, device := range smartData {
|
||||||
|
if err := sys.upsertSmartDeviceRecord(collection, deviceKey, device); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (sys *System) upsertSmartDeviceRecord(collection *core.Collection, deviceKey string, device smart.SmartData) error {
|
||||||
|
hub := sys.manager.hub
|
||||||
|
recordID := makeStableHashId(sys.Id, deviceKey)
|
||||||
|
|
||||||
|
record, err := hub.FindRecordById(collection, recordID)
|
||||||
|
if err != nil {
|
||||||
|
if !errors.Is(err, sql.ErrNoRows) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
record = core.NewRecord(collection)
|
||||||
|
record.Set("id", recordID)
|
||||||
|
}
|
||||||
|
|
||||||
|
name := device.DiskName
|
||||||
|
if name == "" {
|
||||||
|
name = deviceKey
|
||||||
|
}
|
||||||
|
|
||||||
|
powerOnHours, powerCycles := extractPowerMetrics(device.Attributes)
|
||||||
|
record.Set("system", sys.Id)
|
||||||
|
record.Set("name", name)
|
||||||
|
record.Set("model", device.ModelName)
|
||||||
|
record.Set("state", device.SmartStatus)
|
||||||
|
record.Set("capacity", device.Capacity)
|
||||||
|
record.Set("temp", device.Temperature)
|
||||||
|
record.Set("firmware", device.FirmwareVersion)
|
||||||
|
record.Set("serial", device.SerialNumber)
|
||||||
|
record.Set("type", device.DiskType)
|
||||||
|
record.Set("hours", powerOnHours)
|
||||||
|
record.Set("cycles", powerCycles)
|
||||||
|
record.Set("attributes", device.Attributes)
|
||||||
|
|
||||||
|
return hub.SaveNoValidate(record)
|
||||||
|
}
|
||||||
|
|
||||||
|
// extractPowerMetrics extracts power on hours and power cycles from SMART attributes
|
||||||
|
func extractPowerMetrics(attributes []*smart.SmartAttribute) (powerOnHours, powerCycles uint64) {
|
||||||
|
for _, attr := range attributes {
|
||||||
|
nameLower := strings.ToLower(attr.Name)
|
||||||
|
if powerOnHours == 0 && (strings.Contains(nameLower, "poweronhours") || strings.Contains(nameLower, "power_on_hours")) {
|
||||||
|
powerOnHours = attr.RawValue
|
||||||
|
}
|
||||||
|
if powerCycles == 0 && ((strings.Contains(nameLower, "power") && strings.Contains(nameLower, "cycle")) || strings.Contains(nameLower, "startstopcycles")) {
|
||||||
|
powerCycles = attr.RawValue
|
||||||
|
}
|
||||||
|
if powerOnHours > 0 && powerCycles > 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
@@ -14,9 +14,9 @@ func TestGetSystemdServiceId(t *testing.T) {
|
|||||||
serviceName := "nginx.service"
|
serviceName := "nginx.service"
|
||||||
|
|
||||||
// Call multiple times and ensure same result
|
// Call multiple times and ensure same result
|
||||||
id1 := getSystemdServiceId(systemId, serviceName)
|
id1 := makeStableHashId(systemId, serviceName)
|
||||||
id2 := getSystemdServiceId(systemId, serviceName)
|
id2 := makeStableHashId(systemId, serviceName)
|
||||||
id3 := getSystemdServiceId(systemId, serviceName)
|
id3 := makeStableHashId(systemId, serviceName)
|
||||||
|
|
||||||
assert.Equal(t, id1, id2)
|
assert.Equal(t, id1, id2)
|
||||||
assert.Equal(t, id2, id3)
|
assert.Equal(t, id2, id3)
|
||||||
@@ -29,10 +29,10 @@ func TestGetSystemdServiceId(t *testing.T) {
|
|||||||
serviceName1 := "nginx.service"
|
serviceName1 := "nginx.service"
|
||||||
serviceName2 := "apache.service"
|
serviceName2 := "apache.service"
|
||||||
|
|
||||||
id1 := getSystemdServiceId(systemId1, serviceName1)
|
id1 := makeStableHashId(systemId1, serviceName1)
|
||||||
id2 := getSystemdServiceId(systemId2, serviceName1)
|
id2 := makeStableHashId(systemId2, serviceName1)
|
||||||
id3 := getSystemdServiceId(systemId1, serviceName2)
|
id3 := makeStableHashId(systemId1, serviceName2)
|
||||||
id4 := getSystemdServiceId(systemId2, serviceName2)
|
id4 := makeStableHashId(systemId2, serviceName2)
|
||||||
|
|
||||||
// All IDs should be different
|
// All IDs should be different
|
||||||
assert.NotEqual(t, id1, id2)
|
assert.NotEqual(t, id1, id2)
|
||||||
@@ -56,14 +56,14 @@ func TestGetSystemdServiceId(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, tc := range testCases {
|
for _, tc := range testCases {
|
||||||
id := getSystemdServiceId(tc.systemId, tc.serviceName)
|
id := makeStableHashId(tc.systemId, tc.serviceName)
|
||||||
// FNV-32 produces 8 hex characters
|
// FNV-32 produces 8 hex characters
|
||||||
assert.Len(t, id, 8, "ID should be 8 characters for systemId='%s', serviceName='%s'", tc.systemId, tc.serviceName)
|
assert.Len(t, id, 8, "ID should be 8 characters for systemId='%s', serviceName='%s'", tc.systemId, tc.serviceName)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("hexadecimal output", func(t *testing.T) {
|
t.Run("hexadecimal output", func(t *testing.T) {
|
||||||
id := getSystemdServiceId("test-system", "test-service")
|
id := makeStableHashId("test-system", "test-service")
|
||||||
assert.NotEmpty(t, id)
|
assert.NotEmpty(t, id)
|
||||||
|
|
||||||
// Should only contain hexadecimal characters
|
// Should only contain hexadecimal characters
|
||||||
|
|||||||
@@ -266,12 +266,14 @@ func testOld(t *testing.T, hub *tests.TestHub) {
|
|||||||
|
|
||||||
// Create test system data
|
// Create test system data
|
||||||
testData := &system.CombinedData{
|
testData := &system.CombinedData{
|
||||||
Info: system.Info{
|
Details: &system.Details{
|
||||||
Hostname: "data-test.example.com",
|
Hostname: "data-test.example.com",
|
||||||
KernelVersion: "5.15.0-generic",
|
Kernel: "5.15.0-generic",
|
||||||
Cores: 4,
|
Cores: 4,
|
||||||
Threads: 8,
|
Threads: 8,
|
||||||
CpuModel: "Test CPU",
|
CpuModel: "Test CPU",
|
||||||
|
},
|
||||||
|
Info: system.Info{
|
||||||
Uptime: 3600,
|
Uptime: 3600,
|
||||||
Cpu: 25.5,
|
Cpu: 25.5,
|
||||||
MemPct: 40.2,
|
MemPct: 40.2,
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
|
|
||||||
"github.com/fxamacker/cbor/v2"
|
"github.com/fxamacker/cbor/v2"
|
||||||
"github.com/henrygd/beszel/internal/common"
|
"github.com/henrygd/beszel/internal/common"
|
||||||
|
"github.com/henrygd/beszel/internal/entities/smart"
|
||||||
"github.com/henrygd/beszel/internal/entities/system"
|
"github.com/henrygd/beszel/internal/entities/system"
|
||||||
"github.com/henrygd/beszel/internal/entities/systemd"
|
"github.com/henrygd/beszel/internal/entities/systemd"
|
||||||
"github.com/lxzan/gws"
|
"github.com/lxzan/gws"
|
||||||
@@ -155,7 +156,7 @@ func (h *systemdInfoHandler) Handle(agentResponse common.AgentResponse) error {
|
|||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// RequestSmartData requests SMART data via WebSocket.
|
// RequestSmartData requests SMART data via WebSocket.
|
||||||
func (ws *WsConn) RequestSmartData(ctx context.Context) (map[string]any, error) {
|
func (ws *WsConn) RequestSmartData(ctx context.Context) (map[string]smart.SmartData, error) {
|
||||||
if !ws.IsConnected() {
|
if !ws.IsConnected() {
|
||||||
return nil, gws.ErrConnClosed
|
return nil, gws.ErrConnClosed
|
||||||
}
|
}
|
||||||
@@ -163,7 +164,7 @@ func (ws *WsConn) RequestSmartData(ctx context.Context) (map[string]any, error)
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var result map[string]any
|
var result map[string]smart.SmartData
|
||||||
handler := ResponseHandler(&smartDataHandler{result: &result})
|
handler := ResponseHandler(&smartDataHandler{result: &result})
|
||||||
if err := ws.handleAgentRequest(req, handler); err != nil {
|
if err := ws.handleAgentRequest(req, handler); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -174,19 +175,14 @@ func (ws *WsConn) RequestSmartData(ctx context.Context) (map[string]any, error)
|
|||||||
// smartDataHandler parses SMART data map from AgentResponse
|
// smartDataHandler parses SMART data map from AgentResponse
|
||||||
type smartDataHandler struct {
|
type smartDataHandler struct {
|
||||||
BaseHandler
|
BaseHandler
|
||||||
result *map[string]any
|
result *map[string]smart.SmartData
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *smartDataHandler) Handle(agentResponse common.AgentResponse) error {
|
func (h *smartDataHandler) Handle(agentResponse common.AgentResponse) error {
|
||||||
if agentResponse.SmartData == nil {
|
if agentResponse.SmartData == nil {
|
||||||
return errors.New("no SMART data in response")
|
return errors.New("no SMART data in response")
|
||||||
}
|
}
|
||||||
// convert to map[string]any for transport convenience in hub layer
|
*h.result = agentResponse.SmartData
|
||||||
out := make(map[string]any, len(agentResponse.SmartData))
|
|
||||||
for k, v := range agentResponse.SmartData {
|
|
||||||
out[k] = v
|
|
||||||
}
|
|
||||||
*h.result = out
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,8 @@ func init() {
|
|||||||
"GPU",
|
"GPU",
|
||||||
"LoadAvg1",
|
"LoadAvg1",
|
||||||
"LoadAvg5",
|
"LoadAvg5",
|
||||||
"LoadAvg15"
|
"LoadAvg15",
|
||||||
|
"Battery"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1150,6 +1151,472 @@ func init() {
|
|||||||
"type": "base",
|
"type": "base",
|
||||||
"updateRule": null,
|
"updateRule": null,
|
||||||
"viewRule": null
|
"viewRule": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"createRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||||
|
"deleteRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "[a-z0-9]{10}",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3208210256",
|
||||||
|
"max": 10,
|
||||||
|
"min": 10,
|
||||||
|
"name": "id",
|
||||||
|
"pattern": "^[a-z0-9]+$",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": true,
|
||||||
|
"required": true,
|
||||||
|
"system": true,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cascadeDelete": true,
|
||||||
|
"collectionId": "_pb_users_auth_",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "relation2375276105",
|
||||||
|
"maxSelect": 1,
|
||||||
|
"minSelect": 0,
|
||||||
|
"name": "user",
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "relation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cascadeDelete": true,
|
||||||
|
"collectionId": "2hz5ncl8tizk5nx",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "relation3377271179",
|
||||||
|
"maxSelect": 1,
|
||||||
|
"minSelect": 0,
|
||||||
|
"name": "system",
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "relation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "select2844932856",
|
||||||
|
"maxSelect": 1,
|
||||||
|
"name": "type",
|
||||||
|
"presentable": false,
|
||||||
|
"required": true,
|
||||||
|
"system": false,
|
||||||
|
"type": "select",
|
||||||
|
"values": [
|
||||||
|
"one-time",
|
||||||
|
"daily"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "date2675529103",
|
||||||
|
"max": "",
|
||||||
|
"min": "",
|
||||||
|
"name": "start",
|
||||||
|
"presentable": false,
|
||||||
|
"required": true,
|
||||||
|
"system": false,
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "date16528305",
|
||||||
|
"max": "",
|
||||||
|
"min": "",
|
||||||
|
"name": "end",
|
||||||
|
"presentable": false,
|
||||||
|
"required": true,
|
||||||
|
"system": false,
|
||||||
|
"type": "date"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "pbc_451525641",
|
||||||
|
"indexes": [
|
||||||
|
"CREATE INDEX ` + "`" + `idx_q0iKnRP9v8` + "`" + ` ON ` + "`" + `quiet_hours` + "`" + ` (\n ` + "`" + `user` + "`" + `,\n ` + "`" + `system` + "`" + `\n)",
|
||||||
|
"CREATE INDEX ` + "`" + `idx_6T7ljT7FJd` + "`" + ` ON ` + "`" + `quiet_hours` + "`" + ` (\n ` + "`" + `type` + "`" + `,\n ` + "`" + `end` + "`" + `\n)"
|
||||||
|
],
|
||||||
|
"listRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||||
|
"name": "quiet_hours",
|
||||||
|
"system": false,
|
||||||
|
"type": "base",
|
||||||
|
"updateRule": "@request.auth.id != \"\" && user.id = @request.auth.id",
|
||||||
|
"viewRule": "@request.auth.id != \"\" && user.id = @request.auth.id"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"createRule": null,
|
||||||
|
"deleteRule": "@request.auth.id != \"\" && system.users.id ?= @request.auth.id",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "[a-z0-9]{10}",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3208210256",
|
||||||
|
"max": 10,
|
||||||
|
"min": 10,
|
||||||
|
"name": "id",
|
||||||
|
"pattern": "^[a-z0-9]+$",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": true,
|
||||||
|
"required": true,
|
||||||
|
"system": true,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cascadeDelete": true,
|
||||||
|
"collectionId": "2hz5ncl8tizk5nx",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "relation3377271179",
|
||||||
|
"maxSelect": 1,
|
||||||
|
"minSelect": 0,
|
||||||
|
"name": "system",
|
||||||
|
"presentable": false,
|
||||||
|
"required": true,
|
||||||
|
"system": false,
|
||||||
|
"type": "relation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text1579384326",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "name",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3616895705",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "model",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text2744374011",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "state",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number3051925876",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "capacity",
|
||||||
|
"onlyInt": false,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number190023114",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "temp",
|
||||||
|
"onlyInt": false,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3589068740",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "firmware",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3547646428",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "serial",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text2363381545",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "type",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number1234567890",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "hours",
|
||||||
|
"onlyInt": true,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number0987654321",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "cycles",
|
||||||
|
"onlyInt": true,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "json832282224",
|
||||||
|
"maxSize": 0,
|
||||||
|
"name": "attributes",
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "autodate3332085495",
|
||||||
|
"name": "updated",
|
||||||
|
"onCreate": true,
|
||||||
|
"onUpdate": true,
|
||||||
|
"presentable": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "autodate"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "pbc_2571630677",
|
||||||
|
"indexes": [
|
||||||
|
"CREATE INDEX ` + "`" + `idx_DZ9yhvgl44` + "`" + ` ON ` + "`" + `smart_devices` + "`" + ` (` + "`" + `system` + "`" + `)"
|
||||||
|
],
|
||||||
|
"listRule": "@request.auth.id != \"\" && system.users.id ?= @request.auth.id",
|
||||||
|
"name": "smart_devices",
|
||||||
|
"system": false,
|
||||||
|
"type": "base",
|
||||||
|
"updateRule": null,
|
||||||
|
"viewRule": "@request.auth.id != \"\" && system.users.id ?= @request.auth.id"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"createRule": "",
|
||||||
|
"deleteRule": "",
|
||||||
|
"fields": [
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "[a-z0-9]{15}",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3208210256",
|
||||||
|
"max": 15,
|
||||||
|
"min": 15,
|
||||||
|
"name": "id",
|
||||||
|
"pattern": "^[a-z0-9]+$",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": true,
|
||||||
|
"required": true,
|
||||||
|
"system": true,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cascadeDelete": true,
|
||||||
|
"collectionId": "2hz5ncl8tizk5nx",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "relation3377271179",
|
||||||
|
"maxSelect": 1,
|
||||||
|
"minSelect": 0,
|
||||||
|
"name": "system",
|
||||||
|
"presentable": false,
|
||||||
|
"required": true,
|
||||||
|
"system": false,
|
||||||
|
"type": "relation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3847340049",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "hostname",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number1789936913",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "os",
|
||||||
|
"onlyInt": false,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text2818598173",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "os_name",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text1574083243",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "kernel",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text3128971310",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "cpu",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"autogeneratePattern": "",
|
||||||
|
"hidden": false,
|
||||||
|
"id": "text4161937994",
|
||||||
|
"max": 0,
|
||||||
|
"min": 0,
|
||||||
|
"name": "arch",
|
||||||
|
"pattern": "",
|
||||||
|
"presentable": false,
|
||||||
|
"primaryKey": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number4245036687",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "cores",
|
||||||
|
"onlyInt": false,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number1871592925",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "threads",
|
||||||
|
"onlyInt": false,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "number3933025333",
|
||||||
|
"max": null,
|
||||||
|
"min": null,
|
||||||
|
"name": "memory",
|
||||||
|
"onlyInt": false,
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "bool2200265312",
|
||||||
|
"name": "podman",
|
||||||
|
"presentable": false,
|
||||||
|
"required": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hidden": false,
|
||||||
|
"id": "autodate3332085495",
|
||||||
|
"name": "updated",
|
||||||
|
"onCreate": true,
|
||||||
|
"onUpdate": true,
|
||||||
|
"presentable": false,
|
||||||
|
"system": false,
|
||||||
|
"type": "autodate"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "pbc_3116237454",
|
||||||
|
"indexes": [],
|
||||||
|
"listRule": "@request.auth.id != \"\" && system.users.id ?= @request.auth.id",
|
||||||
|
"name": "system_details",
|
||||||
|
"system": false,
|
||||||
|
"type": "base",
|
||||||
|
"updateRule": "",
|
||||||
|
"viewRule": "@request.auth.id != \"\" && system.users.id ?= @request.auth.id"
|
||||||
}
|
}
|
||||||
]`
|
]`
|
||||||
|
|
||||||
@@ -498,6 +498,10 @@ func (rm *RecordManager) DeleteOldRecords() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
err = deleteOldQuietHours(txApp)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -591,6 +595,17 @@ func deleteOldContainerRecords(app core.App) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Deletes old quiet hours records where end date has passed
|
||||||
|
func deleteOldQuietHours(app core.App) error {
|
||||||
|
now := time.Now().UTC()
|
||||||
|
_, err := app.DB().NewQuery("DELETE FROM quiet_hours WHERE type = 'one-time' AND end < {:now}").Bind(dbx.Params{"now": now}).Execute()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
/* Round float to two decimals */
|
/* Round float to two decimals */
|
||||||
func twoDecimals(value float64) float64 {
|
func twoDecimals(value float64) float64 {
|
||||||
return math.Round(value*100) / 100
|
return math.Round(value*100) / 100
|
||||||
|
|||||||
@@ -17,6 +17,9 @@
|
|||||||
"enabled": true,
|
"enabled": true,
|
||||||
"rules": {
|
"rules": {
|
||||||
"recommended": true,
|
"recommended": true,
|
||||||
|
"a11y": {
|
||||||
|
"useButtonType": "off"
|
||||||
|
},
|
||||||
"complexity": {
|
"complexity": {
|
||||||
"noUselessStringConcat": "error",
|
"noUselessStringConcat": "error",
|
||||||
"noUselessUndefinedInitialization": "error",
|
"noUselessUndefinedInitialization": "error",
|
||||||
@@ -30,13 +33,17 @@
|
|||||||
"noUnusedFunctionParameters": "error",
|
"noUnusedFunctionParameters": "error",
|
||||||
"noUnusedPrivateClassMembers": "error",
|
"noUnusedPrivateClassMembers": "error",
|
||||||
"useExhaustiveDependencies": {
|
"useExhaustiveDependencies": {
|
||||||
"level": "error",
|
"level": "warn",
|
||||||
"options": {
|
"options": {
|
||||||
"reportUnnecessaryDependencies": false
|
"reportUnnecessaryDependencies": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"useUniqueElementIds": "off",
|
||||||
"noUnusedVariables": "error"
|
"noUnusedVariables": "error"
|
||||||
},
|
},
|
||||||
|
"security": {
|
||||||
|
"noDangerouslySetInnerHtml": "warn"
|
||||||
|
},
|
||||||
"style": {
|
"style": {
|
||||||
"noParameterProperties": "error",
|
"noParameterProperties": "error",
|
||||||
"noYodaExpression": "error",
|
"noYodaExpression": "error",
|
||||||
@@ -47,7 +54,8 @@
|
|||||||
},
|
},
|
||||||
"suspicious": {
|
"suspicious": {
|
||||||
"useAwait": "error",
|
"useAwait": "error",
|
||||||
"noEvolvingTypes": "error"
|
"noEvolvingTypes": "error",
|
||||||
|
"noArrayIndexKey": "off"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
1008
internal/site/bun.lock
Normal file
1008
internal/site/bun.lock
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -2,7 +2,7 @@
|
|||||||
<html lang="en" dir="ltr">
|
<html lang="en" dir="ltr">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="manifest" href="./static/manifest.json" />
|
<link rel="manifest" href="./static/manifest.json" crossorigin="use-credentials" />
|
||||||
<link rel="icon" type="image/svg+xml" href="./static/icon.svg" />
|
<link rel="icon" type="image/svg+xml" href="./static/icon.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
|
||||||
<meta name="robots" content="noindex, nofollow" />
|
<meta name="robots" content="noindex, nofollow" />
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ export default defineConfig({
|
|||||||
"tr",
|
"tr",
|
||||||
"ru",
|
"ru",
|
||||||
"sl",
|
"sl",
|
||||||
|
"sr",
|
||||||
"sv",
|
"sv",
|
||||||
"uk",
|
"uk",
|
||||||
"vi",
|
"vi",
|
||||||
|
|||||||
335
internal/site/package-lock.json
generated
335
internal/site/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "beszel",
|
"name": "beszel",
|
||||||
"version": "0.15.4",
|
"version": "0.17.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "beszel",
|
"name": "beszel",
|
||||||
"version": "0.15.4",
|
"version": "0.17.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@henrygd/queue": "^1.0.7",
|
"@henrygd/queue": "^1.0.7",
|
||||||
"@henrygd/semaphore": "^0.0.2",
|
"@henrygd/semaphore": "^0.0.2",
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
"lucide-react": "^0.452.0",
|
"lucide-react": "^0.452.0",
|
||||||
"nanostores": "^0.11.4",
|
"nanostores": "^0.11.4",
|
||||||
"pocketbase": "^0.26.2",
|
"pocketbase": "^0.26.2",
|
||||||
"react": "^19.1.1",
|
"react": "^19.1.2",
|
||||||
"react-dom": "^19.1.1",
|
"react-dom": "^19.1.2",
|
||||||
"recharts": "^2.15.4",
|
"recharts": "^2.15.4",
|
||||||
"shiki": "^3.13.0",
|
"shiki": "^3.13.0",
|
||||||
"tailwind-merge": "^3.3.1",
|
"tailwind-merge": "^3.3.1",
|
||||||
@@ -111,6 +111,7 @@
|
|||||||
"integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==",
|
"integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
@@ -986,6 +987,29 @@
|
|||||||
"integrity": "sha512-N3W7MKwTRmAxOjeG0NAT18oe2Xn3KdjkpMR6crbkF1UDamMGPjyigqEsefiv+qTaxibtc1a+zXCVzb9YXANVqw==",
|
"integrity": "sha512-N3W7MKwTRmAxOjeG0NAT18oe2Xn3KdjkpMR6crbkF1UDamMGPjyigqEsefiv+qTaxibtc1a+zXCVzb9YXANVqw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@isaacs/balanced-match": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@isaacs/brace-expansion": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@isaacs/balanced-match": "^4.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@isaacs/cliui": {
|
"node_modules/@isaacs/cliui": {
|
||||||
"version": "8.0.2",
|
"version": "8.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
||||||
@@ -1114,6 +1138,7 @@
|
|||||||
"integrity": "sha512-9IO+PDvdneY8OCI8zvI1oDXpzryTMtyRv7uq9O0U1mFCvIPVd5dWQKQDu/CpgpYAc2+JG/izn5PNl9xzPc6ckw==",
|
"integrity": "sha512-9IO+PDvdneY8OCI8zvI1oDXpzryTMtyRv7uq9O0U1mFCvIPVd5dWQKQDu/CpgpYAc2+JG/izn5PNl9xzPc6ckw==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.20.12",
|
"@babel/core": "^7.20.12",
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
@@ -1206,30 +1231,6 @@
|
|||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@lingui/cli/node_modules/glob": {
|
|
||||||
"version": "11.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz",
|
|
||||||
"integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"foreground-child": "^3.1.0",
|
|
||||||
"jackspeak": "^4.0.1",
|
|
||||||
"minimatch": "^10.0.0",
|
|
||||||
"minipass": "^7.1.2",
|
|
||||||
"package-json-from-dist": "^1.0.0",
|
|
||||||
"path-scurry": "^2.0.0"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"glob": "dist/esm/bin.mjs"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "20 || >=22"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@lingui/cli/node_modules/glob-parent": {
|
"node_modules/@lingui/cli/node_modules/glob-parent": {
|
||||||
"version": "5.1.2",
|
"version": "5.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||||
@@ -1243,65 +1244,6 @@
|
|||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@lingui/cli/node_modules/jackspeak": {
|
|
||||||
"version": "4.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.0.tgz",
|
|
||||||
"integrity": "sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "BlueOak-1.0.0",
|
|
||||||
"dependencies": {
|
|
||||||
"@isaacs/cliui": "^8.0.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "20 || >=22"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@lingui/cli/node_modules/lru-cache": {
|
|
||||||
"version": "11.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.2.tgz",
|
|
||||||
"integrity": "sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "ISC",
|
|
||||||
"engines": {
|
|
||||||
"node": "20 || >=22"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@lingui/cli/node_modules/minimatch": {
|
|
||||||
"version": "10.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
|
|
||||||
"integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"brace-expansion": "^2.0.1"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "20 || >=22"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@lingui/cli/node_modules/path-scurry": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
|
|
||||||
"integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "BlueOak-1.0.0",
|
|
||||||
"dependencies": {
|
|
||||||
"lru-cache": "^11.0.0",
|
|
||||||
"minipass": "^7.1.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": "20 || >=22"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/isaacs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@lingui/cli/node_modules/picomatch": {
|
"node_modules/@lingui/cli/node_modules/picomatch": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
@@ -1350,6 +1292,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@lingui/core/-/core-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@lingui/core/-/core-5.4.1.tgz",
|
||||||
"integrity": "sha512-4FeIh56PH5vziPg2BYo4XYWWOHE4XaY/XR8Jakwn0/qwtLpydWMNVpZOpGWi7nfPZtcLaJLmZKup6UNxEl1Pfw==",
|
"integrity": "sha512-4FeIh56PH5vziPg2BYo4XYWWOHE4XaY/XR8Jakwn0/qwtLpydWMNVpZOpGWi7nfPZtcLaJLmZKup6UNxEl1Pfw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
"@lingui/message-utils": "5.4.1"
|
"@lingui/message-utils": "5.4.1"
|
||||||
@@ -3545,6 +3488,7 @@
|
|||||||
"integrity": "sha512-lr3jdBw/BGj49Eps7EvqlUaoeA0xpj3pc0RoJkHpYaCHkVK7i28dKyImLQb3JVlqs3aYSXf7qYuWOW/fgZnTXQ==",
|
"integrity": "sha512-lr3jdBw/BGj49Eps7EvqlUaoeA0xpj3pc0RoJkHpYaCHkVK7i28dKyImLQb3JVlqs3aYSXf7qYuWOW/fgZnTXQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"csstype": "^3.0.2"
|
"csstype": "^3.0.2"
|
||||||
}
|
}
|
||||||
@@ -3555,6 +3499,7 @@
|
|||||||
"integrity": "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==",
|
"integrity": "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@types/react": "^19.0.0"
|
"@types/react": "^19.0.0"
|
||||||
}
|
}
|
||||||
@@ -3606,9 +3551,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ansi-regex": {
|
"node_modules/ansi-regex": {
|
||||||
"version": "6.0.1",
|
"version": "6.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
||||||
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
|
"integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -3680,13 +3625,6 @@
|
|||||||
"node": ">=10"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/balanced-match": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/base64-js": {
|
"node_modules/base64-js": {
|
||||||
"version": "1.5.1",
|
"version": "1.5.1",
|
||||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||||
@@ -3733,16 +3671,6 @@
|
|||||||
"readable-stream": "^3.4.0"
|
"readable-stream": "^3.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/brace-expansion": {
|
|
||||||
"version": "2.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
|
|
||||||
"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"balanced-match": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/braces": {
|
"node_modules/braces": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||||
@@ -3776,6 +3704,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001726",
|
"caniuse-lite": "^1.0.30001726",
|
||||||
"electron-to-chromium": "^1.5.173",
|
"electron-to-chromium": "^1.5.173",
|
||||||
@@ -4486,13 +4415,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/foreground-child": {
|
"node_modules/foreground-child": {
|
||||||
"version": "3.2.1",
|
"version": "3.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
|
||||||
"integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
|
"integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-spawn": "^7.0.0",
|
"cross-spawn": "^7.0.6",
|
||||||
"signal-exit": "^4.0.1"
|
"signal-exit": "^4.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -4536,6 +4465,30 @@
|
|||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/glob": {
|
||||||
|
"version": "11.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz",
|
||||||
|
"integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"foreground-child": "^3.3.1",
|
||||||
|
"jackspeak": "^4.1.1",
|
||||||
|
"minimatch": "^10.1.1",
|
||||||
|
"minipass": "^7.1.2",
|
||||||
|
"package-json-from-dist": "^1.0.0",
|
||||||
|
"path-scurry": "^2.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"glob": "dist/esm/bin.mjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/graceful-fs": {
|
"node_modules/graceful-fs": {
|
||||||
"version": "4.2.11",
|
"version": "4.2.11",
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||||
@@ -4756,6 +4709,22 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/jackspeak": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@isaacs/cliui": "^8.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/jest-get-type": {
|
"node_modules/jest-get-type": {
|
||||||
"version": "29.6.3",
|
"version": "29.6.3",
|
||||||
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
|
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
|
||||||
@@ -4807,9 +4776,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
"version": "4.1.0",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
||||||
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -5180,9 +5149,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/mdast-util-to-hast": {
|
"node_modules/mdast-util-to-hast": {
|
||||||
"version": "13.2.0",
|
"version": "13.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
|
||||||
"integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==",
|
"integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/hast": "^3.0.0",
|
"@types/hast": "^3.0.0",
|
||||||
@@ -5326,6 +5295,22 @@
|
|||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/minimatch": {
|
||||||
|
"version": "10.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
|
||||||
|
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@isaacs/brace-expansion": "^5.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/minipass": {
|
"node_modules/minipass": {
|
||||||
"version": "7.1.2",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
|
||||||
@@ -5408,6 +5393,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.0.0 || >=20.0.0"
|
"node": "^18.0.0 || >=20.0.0"
|
||||||
}
|
}
|
||||||
@@ -5567,6 +5553,33 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/path-scurry": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"lru-cache": "^11.0.0",
|
||||||
|
"minipass": "^7.1.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/path-scurry/node_modules/lru-cache": {
|
||||||
|
"version": "11.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz",
|
||||||
|
"integrity": "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
|
"engines": {
|
||||||
|
"node": "20 || >=22"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/path-type": {
|
"node_modules/path-type": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||||
@@ -5590,6 +5603,7 @@
|
|||||||
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
},
|
},
|
||||||
@@ -5731,24 +5745,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react": {
|
"node_modules/react": {
|
||||||
"version": "19.1.1",
|
"version": "19.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-19.1.2.tgz",
|
||||||
"integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==",
|
"integrity": "sha512-MdWVitvLbQULD+4DP8GYjZUrepGW7d+GQkNVqJEzNxE+e9WIa4egVFE/RDfVb1u9u/Jw7dNMmPB4IqxzbFYJ0w==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-dom": {
|
"node_modules/react-dom": {
|
||||||
"version": "19.1.1",
|
"version": "19.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.2.tgz",
|
||||||
"integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==",
|
"integrity": "sha512-dEoydsCp50i7kS1xHOmPXq4zQYoGWedUsvqv9H6zdif2r7yLHygyfP9qou71TulRN0d6ng9EbRVsQhSqfUc19g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"scheduler": "^0.26.0"
|
"scheduler": "^0.26.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"react": "^19.1.1"
|
"react": "^19.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/react-is": {
|
"node_modules/react-is": {
|
||||||
@@ -6171,6 +6187,16 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/string-width-cjs/node_modules/ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/string-width-cjs/node_modules/emoji-regex": {
|
"node_modules/string-width-cjs/node_modules/emoji-regex": {
|
||||||
"version": "8.0.0",
|
"version": "8.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
@@ -6191,16 +6217,6 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/string-width-cjs/node_modules/strip-ansi/node_modules/ansi-regex": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/stringify-entities": {
|
"node_modules/stringify-entities": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
|
||||||
@@ -6216,9 +6232,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/strip-ansi": {
|
"node_modules/strip-ansi": {
|
||||||
"version": "7.1.0",
|
"version": "7.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
|
||||||
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
|
"integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6283,7 +6299,8 @@
|
|||||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.12.tgz",
|
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.12.tgz",
|
||||||
"integrity": "sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==",
|
"integrity": "sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
|
"peer": true
|
||||||
},
|
},
|
||||||
"node_modules/tapable": {
|
"node_modules/tapable": {
|
||||||
"version": "2.2.3",
|
"version": "2.2.3",
|
||||||
@@ -6405,6 +6422,7 @@
|
|||||||
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
|
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
"peer": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
"tsserver": "bin/tsserver"
|
"tsserver": "bin/tsserver"
|
||||||
@@ -6639,6 +6657,7 @@
|
|||||||
"integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==",
|
"integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"peer": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"esbuild": "^0.25.0",
|
"esbuild": "^0.25.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
@@ -6790,6 +6809,23 @@
|
|||||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
|
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
|
||||||
"version": "4.2.3",
|
"version": "4.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||||
@@ -6805,13 +6841,6 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex": {
|
|
||||||
"version": "8.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
|
|
||||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
|
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
@@ -6825,20 +6854,10 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi/node_modules/ansi-regex": {
|
|
||||||
"version": "5.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
|
||||||
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/wrap-ansi/node_modules/ansi-styles": {
|
"node_modules/wrap-ansi/node_modules/ansi-styles": {
|
||||||
"version": "6.2.1",
|
"version": "6.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
||||||
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "beszel",
|
"name": "beszel",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.15.4",
|
"version": "0.18.0-beta.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --host",
|
"dev": "vite --host",
|
||||||
@@ -46,8 +46,8 @@
|
|||||||
"lucide-react": "^0.452.0",
|
"lucide-react": "^0.452.0",
|
||||||
"nanostores": "^0.11.4",
|
"nanostores": "^0.11.4",
|
||||||
"pocketbase": "^0.26.2",
|
"pocketbase": "^0.26.2",
|
||||||
"react": "^19.1.1",
|
"react": "^19.1.2",
|
||||||
"react-dom": "^19.1.1",
|
"react-dom": "^19.1.2",
|
||||||
"recharts": "^2.15.4",
|
"recharts": "^2.15.4",
|
||||||
"shiki": "^3.13.0",
|
"shiki": "^3.13.0",
|
||||||
"tailwind-merge": "^3.3.1",
|
"tailwind-merge": "^3.3.1",
|
||||||
|
|||||||
@@ -61,6 +61,11 @@ export const ActiveAlerts = () => {
|
|||||||
<AlertDescription>
|
<AlertDescription>
|
||||||
{alert.name === "Status" ? (
|
{alert.name === "Status" ? (
|
||||||
<Trans>Connection is down</Trans>
|
<Trans>Connection is down</Trans>
|
||||||
|
) : info.invert ? (
|
||||||
|
<Trans>
|
||||||
|
Below {alert.value}
|
||||||
|
{info.unit} in last <Plural value={alert.min} one="# minute" other="# minutes" />
|
||||||
|
</Trans>
|
||||||
) : (
|
) : (
|
||||||
<Trans>
|
<Trans>
|
||||||
Exceeds {alert.value}
|
Exceeds {alert.value}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { t } from "@lingui/core/macro"
|
import { msg, t } from "@lingui/core/macro"
|
||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
import { useStore } from "@nanostores/react"
|
import { useStore } from "@nanostores/react"
|
||||||
import { getPagePath } from "@nanostores/router"
|
import { getPagePath } from "@nanostores/router"
|
||||||
@@ -36,6 +36,9 @@ import { AppleIcon, DockerIcon, FreeBsdIcon, TuxIcon, WindowsIcon } from "./ui/i
|
|||||||
import { InputCopy } from "./ui/input-copy"
|
import { InputCopy } from "./ui/input-copy"
|
||||||
|
|
||||||
export function AddSystemButton({ className }: { className?: string }) {
|
export function AddSystemButton({ className }: { className?: string }) {
|
||||||
|
if (isReadOnlyUser()) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
const [open, setOpen] = useState(false)
|
const [open, setOpen] = useState(false)
|
||||||
const opened = useRef(false)
|
const opened = useRef(false)
|
||||||
if (open) {
|
if (open) {
|
||||||
@@ -45,10 +48,7 @@ export function AddSystemButton({ className }: { className?: string }) {
|
|||||||
return (
|
return (
|
||||||
<Dialog open={open} onOpenChange={setOpen}>
|
<Dialog open={open} onOpenChange={setOpen}>
|
||||||
<DialogTrigger asChild>
|
<DialogTrigger asChild>
|
||||||
<Button
|
<Button variant="outline" className={cn("flex gap-1 max-xs:h-[2.4rem]", className)}>
|
||||||
variant="outline"
|
|
||||||
className={cn("flex gap-1 max-xs:h-[2.4rem]", className, isReadOnlyUser() && "hidden")}
|
|
||||||
>
|
|
||||||
<PlusIcon className="h-4 w-4 -ms-1" />
|
<PlusIcon className="h-4 w-4 -ms-1" />
|
||||||
<Trans>
|
<Trans>
|
||||||
Add <span className="hidden sm:inline">System</span>
|
Add <span className="hidden sm:inline">System</span>
|
||||||
@@ -124,6 +124,8 @@ export const SystemDialog = ({ setOpen, system }: { setOpen: (open: boolean) =>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const systemTranslation = t`System`
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DialogContent
|
<DialogContent
|
||||||
className="w-[90%] sm:w-auto sm:ns-dialog max-w-full rounded-lg"
|
className="w-[90%] sm:w-auto sm:ns-dialog max-w-full rounded-lg"
|
||||||
@@ -134,7 +136,11 @@ export const SystemDialog = ({ setOpen, system }: { setOpen: (open: boolean) =>
|
|||||||
<Tabs defaultValue={tab} onValueChange={setTab}>
|
<Tabs defaultValue={tab} onValueChange={setTab}>
|
||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle className="mb-1 pb-1 max-w-100 truncate pr-8">
|
<DialogTitle className="mb-1 pb-1 max-w-100 truncate pr-8">
|
||||||
{system ? `${t`Edit`} ${system?.name}` : <Trans>Add New System</Trans>}
|
{system ? (
|
||||||
|
<Trans>Edit {{ foo: systemTranslation }}</Trans>
|
||||||
|
) : (
|
||||||
|
<Trans>Add {{ foo: systemTranslation }}</Trans>
|
||||||
|
)}
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
<TabsList className="grid w-full grid-cols-2">
|
<TabsList className="grid w-full grid-cols-2">
|
||||||
<TabsTrigger value="docker">Docker</TabsTrigger>
|
<TabsTrigger value="docker">Docker</TabsTrigger>
|
||||||
|
|||||||
@@ -245,6 +245,15 @@ export function AlertContent({
|
|||||||
{!singleDescription && (
|
{!singleDescription && (
|
||||||
<div>
|
<div>
|
||||||
<p id={`v${name}`} className="text-sm block h-8">
|
<p id={`v${name}`} className="text-sm block h-8">
|
||||||
|
{alertData.invert ? (
|
||||||
|
<Trans>
|
||||||
|
Average drops below{" "}
|
||||||
|
<strong className="text-foreground">
|
||||||
|
{value}
|
||||||
|
{alertData.unit}
|
||||||
|
</strong>
|
||||||
|
</Trans>
|
||||||
|
) : (
|
||||||
<Trans>
|
<Trans>
|
||||||
Average exceeds{" "}
|
Average exceeds{" "}
|
||||||
<strong className="text-foreground">
|
<strong className="text-foreground">
|
||||||
@@ -252,6 +261,7 @@ export function AlertContent({
|
|||||||
{alertData.unit}
|
{alertData.unit}
|
||||||
</strong>
|
</strong>
|
||||||
</Trans>
|
</Trans>
|
||||||
|
)}
|
||||||
</p>
|
</p>
|
||||||
<div className="flex gap-3">
|
<div className="flex gap-3">
|
||||||
<Slider
|
<Slider
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import {
|
|||||||
import { chartMargin, cn, formatShortDate } from "@/lib/utils"
|
import { chartMargin, cn, formatShortDate } from "@/lib/utils"
|
||||||
import type { ChartData, SystemStatsRecord } from "@/types"
|
import type { ChartData, SystemStatsRecord } from "@/types"
|
||||||
import { useYAxisWidth } from "./hooks"
|
import { useYAxisWidth } from "./hooks"
|
||||||
|
import { AxisDomain } from "recharts/types/util/types"
|
||||||
|
|
||||||
export type DataPoint = {
|
export type DataPoint = {
|
||||||
label: string
|
label: string
|
||||||
@@ -41,7 +42,7 @@ export default function AreaChartDefault({
|
|||||||
tickFormatter: (value: number, index: number) => string
|
tickFormatter: (value: number, index: number) => string
|
||||||
contentFormatter: ({ value, payload }: { value: number; payload: SystemStatsRecord }) => string
|
contentFormatter: ({ value, payload }: { value: number; payload: SystemStatsRecord }) => string
|
||||||
dataPoints?: DataPoint[]
|
dataPoints?: DataPoint[]
|
||||||
domain?: [number, number]
|
domain?: AxisDomain
|
||||||
legend?: boolean
|
legend?: boolean
|
||||||
showTotal?: boolean
|
showTotal?: boolean
|
||||||
itemSorter?: (a: any, b: any) => number
|
itemSorter?: (a: any, b: any) => number
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import { useStore } from "@nanostores/react"
|
import { useStore } from "@nanostores/react"
|
||||||
import { memo, useMemo } from "react"
|
import { memo, useMemo } from "react"
|
||||||
import { Area, AreaChart, CartesianGrid, YAxis } from "recharts"
|
import { Area, AreaChart, CartesianGrid, YAxis } from "recharts"
|
||||||
import { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, xAxis } from "@/components/ui/chart"
|
import { type ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent, pinnedAxisDomain, xAxis } from "@/components/ui/chart"
|
||||||
import { ChartType, Unit } from "@/lib/enums"
|
import { ChartType, Unit } from "@/lib/enums"
|
||||||
import { $containerFilter, $userSettings } from "@/lib/stores"
|
import { $containerFilter, $userSettings } from "@/lib/stores"
|
||||||
import { chartMargin, cn, decimalString, formatBytes, formatShortDate, toFixedFloat } from "@/lib/utils"
|
import { chartMargin, cn, decimalString, formatBytes, formatShortDate, toFixedFloat } from "@/lib/utils"
|
||||||
@@ -124,6 +124,7 @@ export default memo(function ContainerChart({
|
|||||||
<CartesianGrid vertical={false} />
|
<CartesianGrid vertical={false} />
|
||||||
<YAxis
|
<YAxis
|
||||||
direction="ltr"
|
direction="ltr"
|
||||||
|
domain={pinnedAxisDomain()}
|
||||||
orientation={chartData.orientation}
|
orientation={chartData.orientation}
|
||||||
className="tracking-tighter"
|
className="tracking-tighter"
|
||||||
width={yAxisWidth}
|
width={yAxisWidth}
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ import {
|
|||||||
ContainerIcon,
|
ContainerIcon,
|
||||||
DatabaseBackupIcon,
|
DatabaseBackupIcon,
|
||||||
FingerprintIcon,
|
FingerprintIcon,
|
||||||
LayoutDashboard,
|
HardDriveIcon,
|
||||||
LogsIcon,
|
LogsIcon,
|
||||||
MailIcon,
|
MailIcon,
|
||||||
Server,
|
Server,
|
||||||
|
ServerIcon,
|
||||||
SettingsIcon,
|
SettingsIcon,
|
||||||
UsersIcon,
|
UsersIcon,
|
||||||
} from "lucide-react"
|
} from "lucide-react"
|
||||||
@@ -81,15 +82,15 @@ export default memo(function CommandPalette({ open, setOpen }: { open: boolean;
|
|||||||
)}
|
)}
|
||||||
<CommandGroup heading={t`Pages / Settings`}>
|
<CommandGroup heading={t`Pages / Settings`}>
|
||||||
<CommandItem
|
<CommandItem
|
||||||
keywords={["home", t`All Systems`]}
|
keywords={["home"]}
|
||||||
onSelect={() => {
|
onSelect={() => {
|
||||||
navigate(basePath)
|
navigate(basePath)
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<LayoutDashboard className="me-2 size-4" />
|
<ServerIcon className="me-2 size-4" />
|
||||||
<span>
|
<span>
|
||||||
<Trans>Dashboard</Trans>
|
<Trans>All Systems</Trans>
|
||||||
</span>
|
</span>
|
||||||
<CommandShortcut>
|
<CommandShortcut>
|
||||||
<Trans>Page</Trans>
|
<Trans>Page</Trans>
|
||||||
@@ -109,6 +110,18 @@ export default memo(function CommandPalette({ open, setOpen }: { open: boolean;
|
|||||||
<Trans>Page</Trans>
|
<Trans>Page</Trans>
|
||||||
</CommandShortcut>
|
</CommandShortcut>
|
||||||
</CommandItem>
|
</CommandItem>
|
||||||
|
<CommandItem
|
||||||
|
onSelect={() => {
|
||||||
|
navigate(getPagePath($router, "smart"))
|
||||||
|
setOpen(false)
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<HardDriveIcon className="me-2 size-4" />
|
||||||
|
<span>S.M.A.R.T.</span>
|
||||||
|
<CommandShortcut>
|
||||||
|
<Trans>Page</Trans>
|
||||||
|
</CommandShortcut>
|
||||||
|
</CommandItem>
|
||||||
<CommandItem
|
<CommandItem
|
||||||
onSelect={() => {
|
onSelect={() => {
|
||||||
navigate(getPagePath($router, "settings", { name: "general" }))
|
navigate(getPagePath($router, "settings", { name: "general" }))
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import { Sheet, SheetTitle, SheetHeader, SheetContent, SheetDescription } from "
|
|||||||
import { Dialog, DialogContent, DialogTitle } from "../ui/dialog"
|
import { Dialog, DialogContent, DialogTitle } from "../ui/dialog"
|
||||||
import { Button } from "@/components/ui/button"
|
import { Button } from "@/components/ui/button"
|
||||||
import { $allSystemsById } from "@/lib/stores"
|
import { $allSystemsById } from "@/lib/stores"
|
||||||
import { MaximizeIcon, RefreshCwIcon } from "lucide-react"
|
import { LoaderCircleIcon, MaximizeIcon, RefreshCwIcon, XIcon } from "lucide-react"
|
||||||
import { Separator } from "../ui/separator"
|
import { Separator } from "../ui/separator"
|
||||||
import { $router, Link } from "../router"
|
import { $router, Link } from "../router"
|
||||||
import { listenKeys } from "nanostores"
|
import { listenKeys } from "nanostores"
|
||||||
@@ -36,7 +36,7 @@ const syntaxTheme = "github-dark-dimmed"
|
|||||||
|
|
||||||
export default function ContainersTable({ systemId }: { systemId?: string }) {
|
export default function ContainersTable({ systemId }: { systemId?: string }) {
|
||||||
const loadTime = Date.now()
|
const loadTime = Date.now()
|
||||||
const [data, setData] = useState<ContainerRecord[]>([])
|
const [data, setData] = useState<ContainerRecord[] | undefined>(undefined)
|
||||||
const [sorting, setSorting] = useBrowserStorage<SortingState>(
|
const [sorting, setSorting] = useBrowserStorage<SortingState>(
|
||||||
`sort-c-${systemId ? 1 : 0}`,
|
`sort-c-${systemId ? 1 : 0}`,
|
||||||
[{ id: systemId ? "name" : "system", desc: false }],
|
[{ id: systemId ? "name" : "system", desc: false }],
|
||||||
@@ -54,7 +54,13 @@ export default function ContainersTable({ systemId }: { systemId?: string }) {
|
|||||||
fields: "id,name,image,cpu,memory,net,health,status,system,updated",
|
fields: "id,name,image,cpu,memory,net,health,status,system,updated",
|
||||||
filter: systemId ? pb.filter("system={:system}", { system: systemId }) : undefined,
|
filter: systemId ? pb.filter("system={:system}", { system: systemId }) : undefined,
|
||||||
})
|
})
|
||||||
.then(({ items }) => items.length && setData((curItems) => {
|
.then(
|
||||||
|
({ items }) => {
|
||||||
|
if (items.length === 0) {
|
||||||
|
setData([]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
setData((curItems) => {
|
||||||
const lastUpdated = Math.max(items[0].updated, items.at(-1)?.updated ?? 0)
|
const lastUpdated = Math.max(items[0].updated, items.at(-1)?.updated ?? 0)
|
||||||
const containerIds = new Set()
|
const containerIds = new Set()
|
||||||
const newItems = []
|
const newItems = []
|
||||||
@@ -64,13 +70,15 @@ export default function ContainersTable({ systemId }: { systemId?: string }) {
|
|||||||
newItems.push(item)
|
newItems.push(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (const item of curItems) {
|
for (const item of curItems ?? []) {
|
||||||
if (!containerIds.has(item.id) && lastUpdated - item.updated < 70_000) {
|
if (!containerIds.has(item.id) && lastUpdated - item.updated < 70_000) {
|
||||||
newItems.push(item)
|
newItems.push(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return newItems
|
return newItems
|
||||||
}))
|
})
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// initial load
|
// initial load
|
||||||
@@ -93,7 +101,7 @@ export default function ContainersTable({ systemId }: { systemId?: string }) {
|
|||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const table = useReactTable({
|
const table = useReactTable({
|
||||||
data,
|
data: data ?? [],
|
||||||
columns: containerChartCols.filter((col) => (systemId ? col.id !== "system" : true)),
|
columns: containerChartCols.filter((col) => (systemId ? col.id !== "system" : true)),
|
||||||
getCoreRowModel: getCoreRowModel(),
|
getCoreRowModel: getCoreRowModel(),
|
||||||
getSortedRowModel: getSortedRowModel(),
|
getSortedRowModel: getSortedRowModel(),
|
||||||
@@ -147,16 +155,30 @@ export default function ContainersTable({ systemId }: { systemId?: string }) {
|
|||||||
<Trans>Click on a container to view more information.</Trans>
|
<Trans>Click on a container to view more information.</Trans>
|
||||||
</CardDescription>
|
</CardDescription>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="relative ms-auto w-full max-w-full md:w-64">
|
||||||
<Input
|
<Input
|
||||||
placeholder={t`Filter...`}
|
placeholder={t`Filter...`}
|
||||||
value={globalFilter}
|
value={globalFilter}
|
||||||
onChange={(e) => setGlobalFilter(e.target.value)}
|
onChange={(e) => setGlobalFilter(e.target.value)}
|
||||||
className="ms-auto px-4 w-full max-w-full md:w-64"
|
className="ps-4 pe-10 w-full"
|
||||||
/>
|
/>
|
||||||
|
{globalFilter && (
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="ghost"
|
||||||
|
size="icon"
|
||||||
|
aria-label={t`Clear`}
|
||||||
|
className="absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7 text-muted-foreground"
|
||||||
|
onClick={() => setGlobalFilter("")}
|
||||||
|
>
|
||||||
|
<XIcon className="h-4 w-4" />
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<div className="rounded-md">
|
<div className="rounded-md">
|
||||||
<AllContainersTable table={table} rows={rows} colLength={visibleColumns.length} />
|
<AllContainersTable table={table} rows={rows} colLength={visibleColumns.length} data={data} />
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
)
|
)
|
||||||
@@ -166,10 +188,12 @@ const AllContainersTable = memo(function AllContainersTable({
|
|||||||
table,
|
table,
|
||||||
rows,
|
rows,
|
||||||
colLength,
|
colLength,
|
||||||
|
data,
|
||||||
}: {
|
}: {
|
||||||
table: TableType<ContainerRecord>
|
table: TableType<ContainerRecord>
|
||||||
rows: Row<ContainerRecord>[]
|
rows: Row<ContainerRecord>[]
|
||||||
colLength: number
|
colLength: number
|
||||||
|
data: ContainerRecord[] | undefined
|
||||||
}) {
|
}) {
|
||||||
// The virtualizer will need a reference to the scrollable container element
|
// The virtualizer will need a reference to the scrollable container element
|
||||||
const scrollRef = useRef<HTMLDivElement>(null)
|
const scrollRef = useRef<HTMLDivElement>(null)
|
||||||
@@ -213,7 +237,11 @@ const AllContainersTable = memo(function AllContainersTable({
|
|||||||
) : (
|
) : (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={colLength} className="h-37 text-center pointer-events-none">
|
<TableCell colSpan={colLength} className="h-37 text-center pointer-events-none">
|
||||||
|
{data ? (
|
||||||
<Trans>No results.</Trans>
|
<Trans>No results.</Trans>
|
||||||
|
) : (
|
||||||
|
<LoaderCircleIcon className="animate-spin size-10 opacity-60 mx-auto" />
|
||||||
|
)}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
)}
|
)}
|
||||||
@@ -491,9 +519,7 @@ function LogsFullscreenDialog({
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
onClick={() => {
|
onClick={onRefresh}
|
||||||
void onRefresh()
|
|
||||||
}}
|
|
||||||
className="absolute top-3 right-11 opacity-60 hover:opacity-100 p-1"
|
className="absolute top-3 right-11 opacity-60 hover:opacity-100 p-1"
|
||||||
disabled={isRefreshing}
|
disabled={isRefreshing}
|
||||||
title={t`Refresh`}
|
title={t`Refresh`}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { getPagePath } from "@nanostores/router"
|
|||||||
import {
|
import {
|
||||||
ContainerIcon,
|
ContainerIcon,
|
||||||
DatabaseBackupIcon,
|
DatabaseBackupIcon,
|
||||||
|
HardDriveIcon,
|
||||||
LogOutIcon,
|
LogOutIcon,
|
||||||
LogsIcon,
|
LogsIcon,
|
||||||
SearchIcon,
|
SearchIcon,
|
||||||
@@ -29,6 +30,7 @@ import { LangToggle } from "./lang-toggle"
|
|||||||
import { Logo } from "./logo"
|
import { Logo } from "./logo"
|
||||||
import { ModeToggle } from "./mode-toggle"
|
import { ModeToggle } from "./mode-toggle"
|
||||||
import { $router, basePath, Link, prependBasePath } from "./router"
|
import { $router, basePath, Link, prependBasePath } from "./router"
|
||||||
|
import { t } from "@lingui/core/macro"
|
||||||
|
|
||||||
const CommandPalette = lazy(() => import("./command-palette"))
|
const CommandPalette = lazy(() => import("./command-palette"))
|
||||||
|
|
||||||
@@ -55,6 +57,13 @@ export default function Navbar() {
|
|||||||
>
|
>
|
||||||
<ContainerIcon className="h-[1.2rem] w-[1.2rem]" strokeWidth={1.5} />
|
<ContainerIcon className="h-[1.2rem] w-[1.2rem]" strokeWidth={1.5} />
|
||||||
</Link>
|
</Link>
|
||||||
|
<Link
|
||||||
|
href={getPagePath($router, "smart")}
|
||||||
|
className={cn("hidden md:grid", buttonVariants({ variant: "ghost", size: "icon" }))}
|
||||||
|
aria-label="S.M.A.R.T."
|
||||||
|
>
|
||||||
|
<HardDriveIcon className="h-[1.2rem] w-[1.2rem]" strokeWidth={1.5} />
|
||||||
|
</Link>
|
||||||
<LangToggle />
|
<LangToggle />
|
||||||
<ModeToggle />
|
<ModeToggle />
|
||||||
<Link
|
<Link
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { createRouter } from "@nanostores/router"
|
|||||||
const routes = {
|
const routes = {
|
||||||
home: "/",
|
home: "/",
|
||||||
containers: "/containers",
|
containers: "/containers",
|
||||||
|
smart: "/smart",
|
||||||
system: `/system/:id`,
|
system: `/system/:id`,
|
||||||
settings: `/settings/:name?`,
|
settings: `/settings/:name?`,
|
||||||
forgot_password: `/forgot-password`,
|
forgot_password: `/forgot-password`,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
getFilteredRowModel,
|
getFilteredRowModel,
|
||||||
getPaginationRowModel,
|
getPaginationRowModel,
|
||||||
getSortedRowModel,
|
getSortedRowModel,
|
||||||
|
type PaginationState,
|
||||||
type SortingState,
|
type SortingState,
|
||||||
useReactTable,
|
useReactTable,
|
||||||
type VisibilityState,
|
type VisibilityState,
|
||||||
@@ -40,7 +41,7 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@
|
|||||||
import { useToast } from "@/components/ui/use-toast"
|
import { useToast } from "@/components/ui/use-toast"
|
||||||
import { alertInfo } from "@/lib/alerts"
|
import { alertInfo } from "@/lib/alerts"
|
||||||
import { pb } from "@/lib/api"
|
import { pb } from "@/lib/api"
|
||||||
import { cn, formatDuration, formatShortDate } from "@/lib/utils"
|
import { cn, formatDuration, formatShortDate, useBrowserStorage } from "@/lib/utils"
|
||||||
import type { AlertsHistoryRecord } from "@/types"
|
import type { AlertsHistoryRecord } from "@/types"
|
||||||
import { alertsHistoryColumns } from "../../alerts-history-columns"
|
import { alertsHistoryColumns } from "../../alerts-history-columns"
|
||||||
|
|
||||||
@@ -67,6 +68,12 @@ export default function AlertsHistoryDataTable() {
|
|||||||
const { toast } = useToast()
|
const { toast } = useToast()
|
||||||
const [deleteOpen, setDeleteDialogOpen] = useState(false)
|
const [deleteOpen, setDeleteDialogOpen] = useState(false)
|
||||||
|
|
||||||
|
// Store pagination preference in local storage
|
||||||
|
const [pagination, setPagination] = useBrowserStorage<PaginationState>("ah-pagination", {
|
||||||
|
pageIndex: 0,
|
||||||
|
pageSize: 10,
|
||||||
|
})
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let unsubscribe: (() => void) | undefined
|
let unsubscribe: (() => void) | undefined
|
||||||
const pbOptions = {
|
const pbOptions = {
|
||||||
@@ -136,12 +143,14 @@ export default function AlertsHistoryDataTable() {
|
|||||||
onColumnFiltersChange: setColumnFilters,
|
onColumnFiltersChange: setColumnFilters,
|
||||||
onColumnVisibilityChange: setColumnVisibility,
|
onColumnVisibilityChange: setColumnVisibility,
|
||||||
onRowSelectionChange: setRowSelection,
|
onRowSelectionChange: setRowSelection,
|
||||||
|
onPaginationChange: setPagination,
|
||||||
state: {
|
state: {
|
||||||
sorting,
|
sorting,
|
||||||
columnFilters,
|
columnFilters,
|
||||||
columnVisibility,
|
columnVisibility,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
globalFilter,
|
globalFilter,
|
||||||
|
pagination,
|
||||||
},
|
},
|
||||||
onGlobalFilterChange: setGlobalFilter,
|
onGlobalFilterChange: setGlobalFilter,
|
||||||
globalFilterFn: (row, _columnId, filterValue) => {
|
globalFilterFn: (row, _columnId, filterValue) => {
|
||||||
@@ -318,10 +327,10 @@ export default function AlertsHistoryDataTable() {
|
|||||||
<Select
|
<Select
|
||||||
value={`${table.getState().pagination.pageSize}`}
|
value={`${table.getState().pagination.pageSize}`}
|
||||||
onValueChange={(value) => {
|
onValueChange={(value) => {
|
||||||
table.setPageSize(Number(value))
|
table.setPageSize(Number(value));
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<SelectTrigger className="w-[4.8em]" id="rows-per-page">
|
<SelectTrigger className="w-18" id="rows-per-page">
|
||||||
<SelectValue placeholder={table.getState().pagination.pageSize} />
|
<SelectValue placeholder={table.getState().pagination.pageSize} />
|
||||||
</SelectTrigger>
|
</SelectTrigger>
|
||||||
<SelectContent side="top">
|
<SelectContent side="top">
|
||||||
|
|||||||
@@ -2,14 +2,17 @@
|
|||||||
import { Trans, useLingui } from "@lingui/react/macro"
|
import { Trans, useLingui } from "@lingui/react/macro"
|
||||||
import { LanguagesIcon, LoaderCircleIcon, SaveIcon } from "lucide-react"
|
import { LanguagesIcon, LoaderCircleIcon, SaveIcon } from "lucide-react"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
|
import { useStore } from "@nanostores/react"
|
||||||
import { Button } from "@/components/ui/button"
|
import { Button } from "@/components/ui/button"
|
||||||
import { Input } from "@/components/ui/input"
|
import { Input } from "@/components/ui/input"
|
||||||
import { Label } from "@/components/ui/label"
|
import { Label } from "@/components/ui/label"
|
||||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
||||||
import { Separator } from "@/components/ui/separator"
|
import { Separator } from "@/components/ui/separator"
|
||||||
|
import Slider from "@/components/ui/slider"
|
||||||
import { HourFormat, Unit } from "@/lib/enums"
|
import { HourFormat, Unit } from "@/lib/enums"
|
||||||
import { dynamicActivate } from "@/lib/i18n"
|
import { dynamicActivate } from "@/lib/i18n"
|
||||||
import languages from "@/lib/languages"
|
import languages from "@/lib/languages"
|
||||||
|
import { $userSettings } from "@/lib/stores"
|
||||||
import { chartTimeData, currentHour12 } from "@/lib/utils"
|
import { chartTimeData, currentHour12 } from "@/lib/utils"
|
||||||
import type { UserSettings } from "@/types"
|
import type { UserSettings } from "@/types"
|
||||||
import { saveSettings } from "./layout"
|
import { saveSettings } from "./layout"
|
||||||
@@ -17,6 +20,8 @@ import { saveSettings } from "./layout"
|
|||||||
export default function SettingsProfilePage({ userSettings }: { userSettings: UserSettings }) {
|
export default function SettingsProfilePage({ userSettings }: { userSettings: UserSettings }) {
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
const [isLoading, setIsLoading] = useState(false)
|
||||||
const { i18n } = useLingui()
|
const { i18n } = useLingui()
|
||||||
|
const currentUserSettings = useStore($userSettings)
|
||||||
|
const layoutWidth = currentUserSettings.layoutWidth ?? 1500
|
||||||
|
|
||||||
async function handleSubmit(e: React.FormEvent<HTMLFormElement>) {
|
async function handleSubmit(e: React.FormEvent<HTMLFormElement>) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
@@ -73,6 +78,27 @@ export default function SettingsProfilePage({ userSettings }: { userSettings: Us
|
|||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
<Separator />
|
<Separator />
|
||||||
|
<div className="grid gap-2">
|
||||||
|
<div className="mb-2">
|
||||||
|
<h3 className="mb-1 text-lg font-medium">
|
||||||
|
<Trans>Layout width</Trans>
|
||||||
|
</h3>
|
||||||
|
<Label htmlFor="layoutWidth" className="text-sm text-muted-foreground leading-relaxed">
|
||||||
|
<Trans>Adjust the width of the main layout</Trans> ({layoutWidth}px)
|
||||||
|
</Label>
|
||||||
|
</div>
|
||||||
|
<Slider
|
||||||
|
id="layoutWidth"
|
||||||
|
name="layoutWidth"
|
||||||
|
value={[layoutWidth]}
|
||||||
|
onValueChange={(val) => $userSettings.setKey("layoutWidth", val[0])}
|
||||||
|
min={1000}
|
||||||
|
max={2000}
|
||||||
|
step={10}
|
||||||
|
className="w-full mb-1"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<Separator />
|
||||||
<div className="grid gap-2">
|
<div className="grid gap-2">
|
||||||
<div className="mb-2">
|
<div className="mb-2">
|
||||||
<h3 className="mb-1 text-lg font-medium">
|
<h3 className="mb-1 text-lg font-medium">
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import { toast } from "@/components/ui/use-toast"
|
|||||||
import { isAdmin, pb } from "@/lib/api"
|
import { isAdmin, pb } from "@/lib/api"
|
||||||
import type { UserSettings } from "@/types"
|
import type { UserSettings } from "@/types"
|
||||||
import { saveSettings } from "./layout"
|
import { saveSettings } from "./layout"
|
||||||
|
import { QuietHours } from "./quiet-hours"
|
||||||
|
|
||||||
interface ShoutrrrUrlCardProps {
|
interface ShoutrrrUrlCardProps {
|
||||||
url: string
|
url: string
|
||||||
@@ -120,6 +121,7 @@ const SettingsNotificationsPage = ({ userSettings }: { userSettings: UserSetting
|
|||||||
</div>
|
</div>
|
||||||
<Separator />
|
<Separator />
|
||||||
<div className="space-y-3">
|
<div className="space-y-3">
|
||||||
|
<div className="grid grid-cols-1 sm:flex items-center justify-between gap-4">
|
||||||
<div>
|
<div>
|
||||||
<h3 className="mb-1 text-lg font-medium">
|
<h3 className="mb-1 text-lg font-medium">
|
||||||
<Trans>Webhook / Push notifications</Trans>
|
<Trans>Webhook / Push notifications</Trans>
|
||||||
@@ -134,6 +136,18 @@ const SettingsNotificationsPage = ({ userSettings }: { userSettings: UserSetting
|
|||||||
</Trans>
|
</Trans>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="outline"
|
||||||
|
className="h-10 shrink-0"
|
||||||
|
onClick={addWebhook}
|
||||||
|
>
|
||||||
|
<PlusIcon className="size-4" />
|
||||||
|
<span className="ms-1">
|
||||||
|
<Trans>Add URL</Trans>
|
||||||
|
</span>
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
{webhooks.length > 0 && (
|
{webhooks.length > 0 && (
|
||||||
<div className="grid gap-2.5" id="webhooks">
|
<div className="grid gap-2.5" id="webhooks">
|
||||||
{webhooks.map((webhook, index) => (
|
{webhooks.map((webhook, index) => (
|
||||||
@@ -146,16 +160,10 @@ const SettingsNotificationsPage = ({ userSettings }: { userSettings: UserSetting
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<Button
|
</div>
|
||||||
type="button"
|
<Separator />
|
||||||
variant="outline"
|
<div className="space-y-3">
|
||||||
size="sm"
|
<QuietHours />
|
||||||
className="mt-2 flex items-center gap-1"
|
|
||||||
onClick={addWebhook}
|
|
||||||
>
|
|
||||||
<PlusIcon className="h-4 w-4 -ms-0.5" />
|
|
||||||
<Trans>Add URL</Trans>
|
|
||||||
</Button>
|
|
||||||
</div>
|
</div>
|
||||||
<Separator />
|
<Separator />
|
||||||
<Button
|
<Button
|
||||||
@@ -194,7 +202,7 @@ const ShoutrrrUrlCard = ({ url, onUrlChange, onRemove }: ShoutrrrUrlCardProps) =
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="bg-muted/40 p-2 md:p-3">
|
<Card className="bg-table-header p-2 md:p-3">
|
||||||
<div className="flex items-center gap-1">
|
<div className="flex items-center gap-1">
|
||||||
<Input
|
<Input
|
||||||
type="url"
|
type="url"
|
||||||
|
|||||||
534
internal/site/src/components/routes/settings/quiet-hours.tsx
Normal file
534
internal/site/src/components/routes/settings/quiet-hours.tsx
Normal file
@@ -0,0 +1,534 @@
|
|||||||
|
import { t } from "@lingui/core/macro"
|
||||||
|
import { Trans } from "@lingui/react/macro"
|
||||||
|
import { useStore } from "@nanostores/react"
|
||||||
|
import {
|
||||||
|
MoreHorizontalIcon,
|
||||||
|
PlusIcon,
|
||||||
|
Trash2Icon,
|
||||||
|
ServerIcon,
|
||||||
|
ClockIcon,
|
||||||
|
CalendarIcon,
|
||||||
|
ActivityIcon,
|
||||||
|
PenSquareIcon,
|
||||||
|
} from "lucide-react"
|
||||||
|
import { useEffect, useState } from "react"
|
||||||
|
|
||||||
|
import { Badge } from "@/components/ui/badge"
|
||||||
|
import { Button } from "@/components/ui/button"
|
||||||
|
import {
|
||||||
|
Dialog,
|
||||||
|
DialogContent,
|
||||||
|
DialogDescription,
|
||||||
|
DialogFooter,
|
||||||
|
DialogHeader,
|
||||||
|
DialogTitle,
|
||||||
|
DialogTrigger,
|
||||||
|
} from "@/components/ui/dialog"
|
||||||
|
import {
|
||||||
|
DropdownMenu,
|
||||||
|
DropdownMenuContent,
|
||||||
|
DropdownMenuItem,
|
||||||
|
DropdownMenuSeparator,
|
||||||
|
DropdownMenuTrigger,
|
||||||
|
} from "@/components/ui/dropdown-menu"
|
||||||
|
import { Input } from "@/components/ui/input"
|
||||||
|
import { Label } from "@/components/ui/label"
|
||||||
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
||||||
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
||||||
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
|
||||||
|
import { useToast } from "@/components/ui/use-toast"
|
||||||
|
import { pb } from "@/lib/api"
|
||||||
|
import { $systems } from "@/lib/stores"
|
||||||
|
import { formatShortDate } from "@/lib/utils"
|
||||||
|
import type { QuietHoursRecord, SystemRecord } from "@/types"
|
||||||
|
|
||||||
|
const quietHoursTranslation = t`Quiet Hours`
|
||||||
|
|
||||||
|
export function QuietHours() {
|
||||||
|
const [data, setData] = useState<QuietHoursRecord[]>([])
|
||||||
|
const [dialogOpen, setDialogOpen] = useState(false)
|
||||||
|
const [editingRecord, setEditingRecord] = useState<QuietHoursRecord | null>(null)
|
||||||
|
const { toast } = useToast()
|
||||||
|
const systems = useStore($systems)
|
||||||
|
useEffect(() => {
|
||||||
|
let unsubscribe: (() => void) | undefined
|
||||||
|
const pbOptions = {
|
||||||
|
expand: "system",
|
||||||
|
fields: "id,user,system,type,start,end,expand.system.name",
|
||||||
|
}
|
||||||
|
// Initial load
|
||||||
|
pb.collection<QuietHoursRecord>("quiet_hours")
|
||||||
|
.getList(0, 200, {
|
||||||
|
...pbOptions,
|
||||||
|
sort: "system",
|
||||||
|
})
|
||||||
|
.then(({ items }) => setData(items))
|
||||||
|
|
||||||
|
// Subscribe to changes
|
||||||
|
;(async () => {
|
||||||
|
unsubscribe = await pb.collection("quiet_hours").subscribe(
|
||||||
|
"*",
|
||||||
|
(e) => {
|
||||||
|
if (e.action === "create") {
|
||||||
|
setData((current) => [e.record as QuietHoursRecord, ...current])
|
||||||
|
}
|
||||||
|
if (e.action === "update") {
|
||||||
|
setData((current) => current.map((r) => (r.id === e.record.id ? (e.record as QuietHoursRecord) : r)))
|
||||||
|
}
|
||||||
|
if (e.action === "delete") {
|
||||||
|
setData((current) => current.filter((r) => r.id !== e.record.id))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
pbOptions
|
||||||
|
)
|
||||||
|
})()
|
||||||
|
// Unsubscribe on unmount
|
||||||
|
return () => unsubscribe?.()
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
const handleDelete = async (id: string) => {
|
||||||
|
try {
|
||||||
|
await pb.collection("quiet_hours").delete(id)
|
||||||
|
} catch (e: unknown) {
|
||||||
|
toast({
|
||||||
|
variant: "destructive",
|
||||||
|
title: t`Error`,
|
||||||
|
description: (e as Error).message || "Failed to delete quiet hours.",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const openEditDialog = (record: QuietHoursRecord) => {
|
||||||
|
setEditingRecord(record)
|
||||||
|
setDialogOpen(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
const closeDialog = () => {
|
||||||
|
setDialogOpen(false)
|
||||||
|
setEditingRecord(null)
|
||||||
|
}
|
||||||
|
|
||||||
|
const formatDateTime = (record: QuietHoursRecord) => {
|
||||||
|
if (record.type === "daily") {
|
||||||
|
// For daily windows, show only time
|
||||||
|
const startTime = new Date(record.start).toLocaleTimeString([], { hour: "numeric", minute: "2-digit" })
|
||||||
|
const endTime = new Date(record.end).toLocaleTimeString([], { hour: "numeric", minute: "2-digit" })
|
||||||
|
return `${startTime} - ${endTime}`
|
||||||
|
}
|
||||||
|
// For one-time windows, show full date and time
|
||||||
|
const start = formatShortDate(record.start)
|
||||||
|
const end = formatShortDate(record.end)
|
||||||
|
return `${start} - ${end}`
|
||||||
|
}
|
||||||
|
|
||||||
|
const getWindowState = (record: QuietHoursRecord): "active" | "past" | "inactive" => {
|
||||||
|
const now = new Date()
|
||||||
|
|
||||||
|
if (record.type === "daily") {
|
||||||
|
// For daily windows, check if current time is within the window
|
||||||
|
const startDate = new Date(record.start)
|
||||||
|
const endDate = new Date(record.end)
|
||||||
|
|
||||||
|
// Get current time in local timezone
|
||||||
|
const currentMinutes = now.getHours() * 60 + now.getMinutes()
|
||||||
|
const startMinutes = startDate.getUTCHours() * 60 + startDate.getUTCMinutes()
|
||||||
|
const endMinutes = endDate.getUTCHours() * 60 + endDate.getUTCMinutes()
|
||||||
|
|
||||||
|
// Convert UTC to local time offset
|
||||||
|
const offset = now.getTimezoneOffset()
|
||||||
|
const localStartMinutes = (startMinutes - offset + 1440) % 1440
|
||||||
|
const localEndMinutes = (endMinutes - offset + 1440) % 1440
|
||||||
|
|
||||||
|
// Handle cases where window spans midnight
|
||||||
|
if (localStartMinutes <= localEndMinutes) {
|
||||||
|
return currentMinutes >= localStartMinutes && currentMinutes < localEndMinutes ? "active" : "inactive"
|
||||||
|
} else {
|
||||||
|
return currentMinutes >= localStartMinutes || currentMinutes < localEndMinutes ? "active" : "inactive"
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// For one-time windows
|
||||||
|
const startDate = new Date(record.start)
|
||||||
|
const endDate = new Date(record.end)
|
||||||
|
|
||||||
|
if (now >= startDate && now < endDate) {
|
||||||
|
return "active"
|
||||||
|
} else if (now >= endDate) {
|
||||||
|
return "past"
|
||||||
|
} else {
|
||||||
|
return "inactive"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="grid grid-cols-1 sm:flex items-center justify-between gap-4 mb-3">
|
||||||
|
<div>
|
||||||
|
<h3 className="mb-1 text-lg font-medium">{quietHoursTranslation}</h3>
|
||||||
|
<p className="text-sm text-muted-foreground leading-relaxed">
|
||||||
|
<Trans>
|
||||||
|
Schedule quiet hours where notifications will not be sent, such as during maintenance periods.
|
||||||
|
</Trans>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<Dialog open={dialogOpen} onOpenChange={setDialogOpen}>
|
||||||
|
<DialogTrigger asChild>
|
||||||
|
<Button variant="outline" className="h-10 shrink-0" onClick={() => setEditingRecord(null)}>
|
||||||
|
<PlusIcon className="size-4" />
|
||||||
|
<span className="ms-1">
|
||||||
|
<Trans>Add {{ foo: quietHoursTranslation }}</Trans>
|
||||||
|
</span>
|
||||||
|
</Button>
|
||||||
|
</DialogTrigger>
|
||||||
|
<QuietHoursDialog editingRecord={editingRecord} systems={systems} onClose={closeDialog} toast={toast} />
|
||||||
|
</Dialog>
|
||||||
|
</div>
|
||||||
|
{data.length > 0 && (
|
||||||
|
<div className="rounded-md border overflow-x-auto whitespace-nowrap">
|
||||||
|
<Table>
|
||||||
|
<TableHeader>
|
||||||
|
<TableRow className="border-border/50">
|
||||||
|
<TableHead className="px-4">
|
||||||
|
<span className="flex items-center gap-2">
|
||||||
|
<ServerIcon className="size-4" />
|
||||||
|
<Trans>System</Trans>
|
||||||
|
</span>
|
||||||
|
</TableHead>
|
||||||
|
<TableHead className="px-4">
|
||||||
|
<span className="flex items-center gap-2">
|
||||||
|
<ClockIcon className="size-4" />
|
||||||
|
<Trans>Type</Trans>
|
||||||
|
</span>
|
||||||
|
</TableHead>
|
||||||
|
<TableHead className="px-4">
|
||||||
|
<span className="flex items-center gap-2">
|
||||||
|
<CalendarIcon className="size-4" />
|
||||||
|
<Trans>Schedule</Trans>
|
||||||
|
</span>
|
||||||
|
</TableHead>
|
||||||
|
<TableHead className="px-4">
|
||||||
|
<span className="flex items-center gap-2">
|
||||||
|
<ActivityIcon className="size-4" />
|
||||||
|
<Trans>State</Trans>
|
||||||
|
</span>
|
||||||
|
</TableHead>
|
||||||
|
<TableHead className="px-4 text-right sr-only">
|
||||||
|
<Trans>Actions</Trans>
|
||||||
|
</TableHead>
|
||||||
|
</TableRow>
|
||||||
|
</TableHeader>
|
||||||
|
<TableBody>
|
||||||
|
{data.map((record) => (
|
||||||
|
<TableRow key={record.id}>
|
||||||
|
<TableCell className="px-4 py-3">
|
||||||
|
{record.system ? record.expand?.system?.name || record.system : <Trans>All Systems</Trans>}
|
||||||
|
</TableCell>
|
||||||
|
<TableCell className="px-4 py-3">
|
||||||
|
{record.type === "daily" ? <Trans>Daily</Trans> : <Trans>One-time</Trans>}
|
||||||
|
</TableCell>
|
||||||
|
<TableCell className="px-4 py-3">{formatDateTime(record)}</TableCell>
|
||||||
|
<TableCell className="px-4 py-3">
|
||||||
|
{(() => {
|
||||||
|
const state = getWindowState(record)
|
||||||
|
const stateConfig = {
|
||||||
|
active: { label: <Trans>Active</Trans>, variant: "success" as const },
|
||||||
|
past: { label: <Trans>Past</Trans>, variant: "danger" as const },
|
||||||
|
inactive: { label: <Trans>Inactive</Trans>, variant: "default" as const },
|
||||||
|
}
|
||||||
|
const config = stateConfig[state]
|
||||||
|
return <Badge variant={config.variant}>{config.label}</Badge>
|
||||||
|
})()}
|
||||||
|
</TableCell>
|
||||||
|
<TableCell className="px-4 py-3 text-right">
|
||||||
|
<DropdownMenu>
|
||||||
|
<DropdownMenuTrigger asChild>
|
||||||
|
<Button variant="ghost" size="icon" className="size-8">
|
||||||
|
<span className="sr-only">
|
||||||
|
<Trans>Open menu</Trans>
|
||||||
|
</span>
|
||||||
|
<MoreHorizontalIcon className="size-4" />
|
||||||
|
</Button>
|
||||||
|
</DropdownMenuTrigger>
|
||||||
|
<DropdownMenuContent align="end">
|
||||||
|
<DropdownMenuItem onClick={() => openEditDialog(record)}>
|
||||||
|
<PenSquareIcon className="me-2.5 size-4" />
|
||||||
|
<Trans>Edit</Trans>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
<DropdownMenuSeparator />
|
||||||
|
<DropdownMenuItem onClick={() => handleDelete(record.id)}>
|
||||||
|
<Trash2Icon className="me-2.5 size-4" />
|
||||||
|
<Trans>Delete</Trans>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
</DropdownMenuContent>
|
||||||
|
</DropdownMenu>
|
||||||
|
</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
))}
|
||||||
|
</TableBody>
|
||||||
|
</Table>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to format Date as datetime-local string (YYYY-MM-DDTHH:mm) in local time
|
||||||
|
function formatDateTimeLocal(date: Date): string {
|
||||||
|
const year = date.getFullYear()
|
||||||
|
const month = String(date.getMonth() + 1).padStart(2, "0")
|
||||||
|
const day = String(date.getDate()).padStart(2, "0")
|
||||||
|
const hours = String(date.getHours()).padStart(2, "0")
|
||||||
|
const minutes = String(date.getMinutes()).padStart(2, "0")
|
||||||
|
return `${year}-${month}-${day}T${hours}:${minutes}`
|
||||||
|
}
|
||||||
|
|
||||||
|
function QuietHoursDialog({
|
||||||
|
editingRecord,
|
||||||
|
systems,
|
||||||
|
onClose,
|
||||||
|
toast,
|
||||||
|
}: {
|
||||||
|
editingRecord: QuietHoursRecord | null
|
||||||
|
systems: SystemRecord[]
|
||||||
|
onClose: () => void
|
||||||
|
toast: ReturnType<typeof useToast>["toast"]
|
||||||
|
}) {
|
||||||
|
const [selectedSystem, setSelectedSystem] = useState(editingRecord?.system || "")
|
||||||
|
const [isGlobal, setIsGlobal] = useState(!editingRecord?.system)
|
||||||
|
const [windowType, setWindowType] = useState<"one-time" | "daily">(editingRecord?.type || "one-time")
|
||||||
|
const [startDateTime, setStartDateTime] = useState("")
|
||||||
|
const [endDateTime, setEndDateTime] = useState("")
|
||||||
|
const [startTime, setStartTime] = useState("")
|
||||||
|
const [endTime, setEndTime] = useState("")
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (editingRecord) {
|
||||||
|
setSelectedSystem(editingRecord.system || "")
|
||||||
|
setIsGlobal(!editingRecord.system)
|
||||||
|
setWindowType(editingRecord.type)
|
||||||
|
if (editingRecord.type === "daily") {
|
||||||
|
// Extract time from datetime
|
||||||
|
const start = new Date(editingRecord.start)
|
||||||
|
const end = editingRecord.end ? new Date(editingRecord.end) : null
|
||||||
|
setStartTime(start.toTimeString().slice(0, 5))
|
||||||
|
setEndTime(end ? end.toTimeString().slice(0, 5) : "")
|
||||||
|
} else {
|
||||||
|
// For one-time, format as datetime-local (local time, not UTC)
|
||||||
|
const startDate = new Date(editingRecord.start)
|
||||||
|
const endDate = editingRecord.end ? new Date(editingRecord.end) : null
|
||||||
|
|
||||||
|
setStartDateTime(formatDateTimeLocal(startDate))
|
||||||
|
setEndDateTime(endDate ? formatDateTimeLocal(endDate) : "")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Reset form with default dates: today at 12pm and 1pm
|
||||||
|
const today = new Date()
|
||||||
|
const noon = new Date(today)
|
||||||
|
noon.setHours(12, 0, 0, 0)
|
||||||
|
const onePm = new Date(today)
|
||||||
|
onePm.setHours(13, 0, 0, 0)
|
||||||
|
|
||||||
|
setSelectedSystem("")
|
||||||
|
setIsGlobal(true)
|
||||||
|
setWindowType("one-time")
|
||||||
|
setStartDateTime(formatDateTimeLocal(noon))
|
||||||
|
setEndDateTime(formatDateTimeLocal(onePm))
|
||||||
|
setStartTime("12:00")
|
||||||
|
setEndTime("13:00")
|
||||||
|
}
|
||||||
|
}, [editingRecord])
|
||||||
|
|
||||||
|
const handleSubmit = async (e: React.FormEvent) => {
|
||||||
|
e.preventDefault()
|
||||||
|
|
||||||
|
try {
|
||||||
|
let startValue: string
|
||||||
|
let endValue: string | undefined
|
||||||
|
|
||||||
|
if (windowType === "daily") {
|
||||||
|
// For daily windows, convert local time to UTC
|
||||||
|
// Create a date with the time in local timezone, then convert to UTC
|
||||||
|
const startDate = new Date(`2000-01-01T${startTime}:00`)
|
||||||
|
startValue = startDate.toISOString()
|
||||||
|
|
||||||
|
if (endTime) {
|
||||||
|
const endDate = new Date(`2000-01-01T${endTime}:00`)
|
||||||
|
endValue = endDate.toISOString()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// For one-time windows, use the datetime values
|
||||||
|
startValue = new Date(startDateTime).toISOString()
|
||||||
|
endValue = endDateTime ? new Date(endDateTime).toISOString() : undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
user: pb.authStore.record?.id,
|
||||||
|
system: isGlobal ? undefined : selectedSystem,
|
||||||
|
type: windowType,
|
||||||
|
start: startValue,
|
||||||
|
end: endValue,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (editingRecord) {
|
||||||
|
await pb.collection("quiet_hours").update(editingRecord.id, data)
|
||||||
|
} else {
|
||||||
|
await pb.collection("quiet_hours").create(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
onClose()
|
||||||
|
} catch (e) {
|
||||||
|
toast({
|
||||||
|
variant: "destructive",
|
||||||
|
title: t`Error`,
|
||||||
|
description: t`Failed to save settings`,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DialogContent>
|
||||||
|
<DialogHeader>
|
||||||
|
<DialogTitle>
|
||||||
|
{editingRecord ? (
|
||||||
|
<Trans>Edit {{ foo: quietHoursTranslation }}</Trans>
|
||||||
|
) : (
|
||||||
|
<Trans>Add {{ foo: quietHoursTranslation }}</Trans>
|
||||||
|
)}
|
||||||
|
</DialogTitle>
|
||||||
|
<DialogDescription>
|
||||||
|
<Trans>Schedule quiet hours where notifications will not be sent.</Trans>
|
||||||
|
</DialogDescription>
|
||||||
|
</DialogHeader>
|
||||||
|
<form onSubmit={handleSubmit} className="space-y-4">
|
||||||
|
<Tabs value={isGlobal ? "global" : "system"} onValueChange={(value) => setIsGlobal(value === "global")}>
|
||||||
|
<TabsList className="grid w-full grid-cols-2">
|
||||||
|
<TabsTrigger value="global">
|
||||||
|
<Trans>Global</Trans>
|
||||||
|
</TabsTrigger>
|
||||||
|
<TabsTrigger value="system">
|
||||||
|
<Trans>System</Trans>
|
||||||
|
</TabsTrigger>
|
||||||
|
</TabsList>
|
||||||
|
|
||||||
|
<TabsContent value="system" className="mt-4 space-y-4">
|
||||||
|
<div className="grid gap-2">
|
||||||
|
<Label htmlFor="system">
|
||||||
|
<Trans>System</Trans>
|
||||||
|
</Label>
|
||||||
|
<Select value={selectedSystem} onValueChange={setSelectedSystem}>
|
||||||
|
<SelectTrigger id="system">
|
||||||
|
<SelectValue placeholder={t`Select ${{ foo: t`System`.toLocaleLowerCase() }}`} />
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
{systems.map((system) => (
|
||||||
|
<SelectItem key={system.id} value={system.id}>
|
||||||
|
{system.name}
|
||||||
|
</SelectItem>
|
||||||
|
))}
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
{/* Hidden input for native form validation */}
|
||||||
|
<input
|
||||||
|
className="sr-only"
|
||||||
|
type="text"
|
||||||
|
tabIndex={-1}
|
||||||
|
autoComplete="off"
|
||||||
|
value={selectedSystem}
|
||||||
|
onChange={() => {}}
|
||||||
|
required={!isGlobal}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</TabsContent>
|
||||||
|
</Tabs>
|
||||||
|
|
||||||
|
<div className="grid gap-2">
|
||||||
|
<Label htmlFor="type">
|
||||||
|
<Trans>Type</Trans>
|
||||||
|
</Label>
|
||||||
|
<Select value={windowType} onValueChange={(value: "one-time" | "daily") => setWindowType(value)}>
|
||||||
|
<SelectTrigger id="type">
|
||||||
|
<SelectValue />
|
||||||
|
</SelectTrigger>
|
||||||
|
<SelectContent>
|
||||||
|
<SelectItem value="one-time">
|
||||||
|
<Trans>One-time</Trans>
|
||||||
|
</SelectItem>
|
||||||
|
<SelectItem value="daily">
|
||||||
|
<Trans>Daily</Trans>
|
||||||
|
</SelectItem>
|
||||||
|
</SelectContent>
|
||||||
|
</Select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{windowType === "one-time" ? (
|
||||||
|
<>
|
||||||
|
<div className="grid gap-2">
|
||||||
|
<Label htmlFor="start-datetime">
|
||||||
|
<Trans>Start Time</Trans>
|
||||||
|
</Label>
|
||||||
|
<Input
|
||||||
|
id="start-datetime"
|
||||||
|
type="datetime-local"
|
||||||
|
value={startDateTime}
|
||||||
|
onChange={(e) => setStartDateTime(e.target.value)}
|
||||||
|
min={formatDateTimeLocal(new Date(new Date().setHours(0, 0, 0, 0)))}
|
||||||
|
required
|
||||||
|
className="tabular-nums tracking-tighter"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="grid gap-2">
|
||||||
|
<Label htmlFor="end-datetime">
|
||||||
|
<Trans>End Time</Trans>
|
||||||
|
</Label>
|
||||||
|
<Input
|
||||||
|
id="end-datetime"
|
||||||
|
type="datetime-local"
|
||||||
|
value={endDateTime}
|
||||||
|
onChange={(e) => setEndDateTime(e.target.value)}
|
||||||
|
min={startDateTime || formatDateTimeLocal(new Date())}
|
||||||
|
required
|
||||||
|
className="tabular-nums tracking-tighter"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
<div className="grid gap-2 grid-cols-2">
|
||||||
|
<div>
|
||||||
|
<Label htmlFor="start-time">
|
||||||
|
<Trans>Start Time</Trans>
|
||||||
|
</Label>
|
||||||
|
<Input
|
||||||
|
className="tabular-nums tracking-tighter"
|
||||||
|
id="start-time"
|
||||||
|
type="time"
|
||||||
|
value={startTime}
|
||||||
|
onChange={(e) => setStartTime(e.target.value)}
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<Label htmlFor="end-time">
|
||||||
|
<Trans>End Time</Trans>
|
||||||
|
</Label>
|
||||||
|
<Input
|
||||||
|
className="tabular-nums tracking-tighter"
|
||||||
|
id="end-time"
|
||||||
|
type="time"
|
||||||
|
value={endTime}
|
||||||
|
onChange={(e) => setEndTime(e.target.value)}
|
||||||
|
required
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<DialogFooter>
|
||||||
|
<Button type="button" variant="outline" onClick={onClose}>
|
||||||
|
<Trans>Cancel</Trans>
|
||||||
|
</Button>
|
||||||
|
<Button type="submit">{editingRecord ? <Trans>Update</Trans> : <Trans>Create</Trans>}</Button>
|
||||||
|
</DialogFooter>
|
||||||
|
</form>
|
||||||
|
</DialogContent>
|
||||||
|
)
|
||||||
|
}
|
||||||
20
internal/site/src/components/routes/smart.tsx
Normal file
20
internal/site/src/components/routes/smart.tsx
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import { useEffect } from "react"
|
||||||
|
import SmartTable from "@/components/routes/system/smart-table"
|
||||||
|
import { ActiveAlerts } from "@/components/active-alerts"
|
||||||
|
import { FooterRepoLink } from "@/components/footer-repo-link"
|
||||||
|
|
||||||
|
export default function Smart() {
|
||||||
|
useEffect(() => {
|
||||||
|
document.title = `S.M.A.R.T. / Beszel`
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="grid gap-4">
|
||||||
|
<ActiveAlerts />
|
||||||
|
<SmartTable />
|
||||||
|
</div>
|
||||||
|
<FooterRepoLink />
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -3,15 +3,7 @@ import { Trans, useLingui } from "@lingui/react/macro"
|
|||||||
import { useStore } from "@nanostores/react"
|
import { useStore } from "@nanostores/react"
|
||||||
import { getPagePath } from "@nanostores/router"
|
import { getPagePath } from "@nanostores/router"
|
||||||
import { timeTicks } from "d3-time"
|
import { timeTicks } from "d3-time"
|
||||||
import {
|
import { XIcon } from "lucide-react"
|
||||||
ChevronRightSquareIcon,
|
|
||||||
ClockArrowUp,
|
|
||||||
CpuIcon,
|
|
||||||
GlobeIcon,
|
|
||||||
LayoutGridIcon,
|
|
||||||
MonitorIcon,
|
|
||||||
XIcon,
|
|
||||||
} from "lucide-react"
|
|
||||||
import { subscribeKeys } from "nanostores"
|
import { subscribeKeys } from "nanostores"
|
||||||
import React, { type JSX, lazy, memo, useCallback, useEffect, useMemo, useRef, useState } from "react"
|
import React, { type JSX, lazy, memo, useCallback, useEffect, useMemo, useRef, useState } from "react"
|
||||||
import AreaChartDefault, { type DataPoint } from "@/components/charts/area-chart"
|
import AreaChartDefault, { type DataPoint } from "@/components/charts/area-chart"
|
||||||
@@ -24,7 +16,7 @@ import MemChart from "@/components/charts/mem-chart"
|
|||||||
import SwapChart from "@/components/charts/swap-chart"
|
import SwapChart from "@/components/charts/swap-chart"
|
||||||
import TemperatureChart from "@/components/charts/temperature-chart"
|
import TemperatureChart from "@/components/charts/temperature-chart"
|
||||||
import { getPbTimestamp, pb } from "@/lib/api"
|
import { getPbTimestamp, pb } from "@/lib/api"
|
||||||
import { ChartType, ConnectionType, connectionTypeLabels, Os, SystemStatus, Unit } from "@/lib/enums"
|
import { ChartType, Os, SystemStatus, Unit } from "@/lib/enums"
|
||||||
import { batteryStateTranslations } from "@/lib/i18n"
|
import { batteryStateTranslations } from "@/lib/i18n"
|
||||||
import {
|
import {
|
||||||
$allSystemsById,
|
$allSystemsById,
|
||||||
@@ -44,8 +36,6 @@ import {
|
|||||||
compareSemVer,
|
compareSemVer,
|
||||||
decimalString,
|
decimalString,
|
||||||
formatBytes,
|
formatBytes,
|
||||||
secondsToString,
|
|
||||||
getHostDisplayValue,
|
|
||||||
listen,
|
listen,
|
||||||
parseSemVer,
|
parseSemVer,
|
||||||
toFixedFloat,
|
toFixedFloat,
|
||||||
@@ -61,19 +51,18 @@ import type {
|
|||||||
SystemStats,
|
SystemStats,
|
||||||
SystemStatsRecord,
|
SystemStatsRecord,
|
||||||
} from "@/types"
|
} from "@/types"
|
||||||
import ChartTimeSelect from "../charts/chart-time-select"
|
|
||||||
import { $router, navigate } from "../router"
|
import { $router, navigate } from "../router"
|
||||||
import Spinner from "../spinner"
|
import Spinner from "../spinner"
|
||||||
import { Button } from "../ui/button"
|
import { Button } from "../ui/button"
|
||||||
import { Card, CardDescription, CardHeader, CardTitle } from "../ui/card"
|
import { Card, CardDescription, CardHeader, CardTitle } from "../ui/card"
|
||||||
import { AppleIcon, ChartAverage, ChartMax, FreeBsdIcon, Rows, TuxIcon, WebSocketIcon, WindowsIcon } from "../ui/icons"
|
import { ChartAverage, ChartMax } from "../ui/icons"
|
||||||
import { Input } from "../ui/input"
|
import { Input } from "../ui/input"
|
||||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select"
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/select"
|
||||||
import { Separator } from "../ui/separator"
|
|
||||||
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../ui/tooltip"
|
|
||||||
import NetworkSheet from "./system/network-sheet"
|
import NetworkSheet from "./system/network-sheet"
|
||||||
import CpuCoresSheet from "./system/cpu-sheet"
|
import CpuCoresSheet from "./system/cpu-sheet"
|
||||||
import LineChartDefault from "../charts/line-chart"
|
import LineChartDefault from "../charts/line-chart"
|
||||||
|
import { pinnedAxisDomain } from "../ui/chart"
|
||||||
|
import InfoBar from "./system/info-bar"
|
||||||
|
|
||||||
type ChartTimeData = {
|
type ChartTimeData = {
|
||||||
time: number
|
time: number
|
||||||
@@ -153,8 +142,8 @@ async function getStats<T extends SystemStatsRecord | ContainerStatsRecord>(
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function dockerOrPodman(str: string, system: SystemRecord): string {
|
function dockerOrPodman(str: string, isPodman: boolean): string {
|
||||||
if (system.info.p) {
|
if (isPodman) {
|
||||||
return str.replace("docker", "podman").replace("Docker", "Podman")
|
return str.replace("docker", "podman").replace("Docker", "Podman")
|
||||||
}
|
}
|
||||||
return str
|
return str
|
||||||
@@ -177,6 +166,7 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
const isLongerChart = !["1m", "1h"].includes(chartTime) // true if chart time is not 1m or 1h
|
const isLongerChart = !["1m", "1h"].includes(chartTime) // true if chart time is not 1m or 1h
|
||||||
const userSettings = $userSettings.get()
|
const userSettings = $userSettings.get()
|
||||||
const chartWrapRef = useRef<HTMLDivElement>(null)
|
const chartWrapRef = useRef<HTMLDivElement>(null)
|
||||||
|
const [isPodman, setIsPodman] = useState(system.info?.p ?? false)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
return () => {
|
return () => {
|
||||||
@@ -332,62 +322,9 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
})
|
})
|
||||||
}, [system, chartTime])
|
}, [system, chartTime])
|
||||||
|
|
||||||
// values for system info bar
|
useEffect(() => {
|
||||||
const systemInfo = useMemo(() => {
|
setIsPodman(system.info?.p ?? false)
|
||||||
if (!system.info) {
|
}, [system.info?.p])
|
||||||
return []
|
|
||||||
}
|
|
||||||
|
|
||||||
const osInfo = {
|
|
||||||
[Os.Linux]: {
|
|
||||||
Icon: TuxIcon,
|
|
||||||
value: system.info.k,
|
|
||||||
label: t({ comment: "Linux kernel", message: "Kernel" }),
|
|
||||||
},
|
|
||||||
[Os.Darwin]: {
|
|
||||||
Icon: AppleIcon,
|
|
||||||
value: `macOS ${system.info.k}`,
|
|
||||||
},
|
|
||||||
[Os.Windows]: {
|
|
||||||
Icon: WindowsIcon,
|
|
||||||
value: system.info.k,
|
|
||||||
},
|
|
||||||
[Os.FreeBSD]: {
|
|
||||||
Icon: FreeBsdIcon,
|
|
||||||
value: system.info.k,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
let uptime: string
|
|
||||||
if (system.info.u < 3600) {
|
|
||||||
uptime = secondsToString(system.info.u, "minute")
|
|
||||||
} else if (system.info.u < 360000) {
|
|
||||||
uptime = secondsToString(system.info.u, "hour")
|
|
||||||
} else {
|
|
||||||
uptime = secondsToString(system.info.u, "day")
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
{ value: getHostDisplayValue(system), Icon: GlobeIcon },
|
|
||||||
{
|
|
||||||
value: system.info.h,
|
|
||||||
Icon: MonitorIcon,
|
|
||||||
label: "Hostname",
|
|
||||||
// hide if hostname is same as host or name
|
|
||||||
hide: system.info.h === system.host || system.info.h === system.name,
|
|
||||||
},
|
|
||||||
{ value: uptime, Icon: ClockArrowUp, label: t`Uptime`, hide: !system.info.u },
|
|
||||||
osInfo[system.info.os ?? Os.Linux],
|
|
||||||
{
|
|
||||||
value: `${system.info.m} (${system.info.c}c${system.info.t ? `/${system.info.t}t` : ""})`,
|
|
||||||
Icon: CpuIcon,
|
|
||||||
hide: !system.info.m,
|
|
||||||
},
|
|
||||||
] as {
|
|
||||||
value: string | number | undefined
|
|
||||||
label?: string
|
|
||||||
Icon: React.ElementType
|
|
||||||
hide?: boolean
|
|
||||||
}[]
|
|
||||||
}, [system, t])
|
|
||||||
|
|
||||||
/** Space for tooltip if more than 10 sensors and no containers table */
|
/** Space for tooltip if more than 10 sensors and no containers table */
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -457,113 +394,11 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
const hasGpuPowerData = lastGpuVals.some((gpu) => gpu.p !== undefined || gpu.pp !== undefined)
|
const hasGpuPowerData = lastGpuVals.some((gpu) => gpu.p !== undefined || gpu.pp !== undefined)
|
||||||
const hasGpuEnginesData = lastGpuVals.some((gpu) => gpu.e !== undefined)
|
const hasGpuEnginesData = lastGpuVals.some((gpu) => gpu.e !== undefined)
|
||||||
|
|
||||||
let translatedStatus: string = system.status
|
|
||||||
if (system.status === SystemStatus.Up) {
|
|
||||||
translatedStatus = t({ message: "Up", comment: "Context: System is up" })
|
|
||||||
} else if (system.status === SystemStatus.Down) {
|
|
||||||
translatedStatus = t({ message: "Down", comment: "Context: System is down" })
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div ref={chartWrapRef} className="grid gap-4 mb-14 overflow-x-clip">
|
<div ref={chartWrapRef} className="grid gap-4 mb-14 overflow-x-clip">
|
||||||
{/* system info */}
|
{/* system info */}
|
||||||
<Card>
|
<InfoBar system={system} chartData={chartData} grid={grid} setGrid={setGrid} setIsPodman={setIsPodman} />
|
||||||
<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">
|
|
||||||
<TooltipProvider>
|
|
||||||
<Tooltip>
|
|
||||||
<TooltipTrigger asChild>
|
|
||||||
<div className="capitalize flex gap-2 items-center">
|
|
||||||
<span className={cn("relative flex h-3 w-3")}>
|
|
||||||
{system.status === SystemStatus.Up && (
|
|
||||||
<span
|
|
||||||
className="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"
|
|
||||||
style={{ animationDuration: "1.5s" }}
|
|
||||||
></span>
|
|
||||||
)}
|
|
||||||
<span
|
|
||||||
className={cn("relative inline-flex rounded-full h-3 w-3", {
|
|
||||||
"bg-green-500": system.status === SystemStatus.Up,
|
|
||||||
"bg-red-500": system.status === SystemStatus.Down,
|
|
||||||
"bg-primary/40": system.status === SystemStatus.Paused,
|
|
||||||
"bg-yellow-500": system.status === SystemStatus.Pending,
|
|
||||||
})}
|
|
||||||
></span>
|
|
||||||
</span>
|
|
||||||
{translatedStatus}
|
|
||||||
</div>
|
|
||||||
</TooltipTrigger>
|
|
||||||
{system.info.ct && (
|
|
||||||
<TooltipContent>
|
|
||||||
<div className="flex gap-1 items-center">
|
|
||||||
{system.info.ct === ConnectionType.WebSocket ? (
|
|
||||||
<WebSocketIcon className="size-4" />
|
|
||||||
) : (
|
|
||||||
<ChevronRightSquareIcon className="size-4" strokeWidth={2} />
|
|
||||||
)}
|
|
||||||
{connectionTypeLabels[system.info.ct as ConnectionType]}
|
|
||||||
</div>
|
|
||||||
</TooltipContent>
|
|
||||||
)}
|
|
||||||
</Tooltip>
|
|
||||||
</TooltipProvider>
|
|
||||||
|
|
||||||
{systemInfo.map(({ value, label, Icon, hide }) => {
|
|
||||||
if (hide || !value) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
const content = (
|
|
||||||
<div className="flex gap-1.5 items-center">
|
|
||||||
<Icon className="h-4 w-4" /> {value}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
return (
|
|
||||||
<div key={value} className="contents">
|
|
||||||
<Separator orientation="vertical" className="h-4 bg-primary/30" />
|
|
||||||
{label ? (
|
|
||||||
<TooltipProvider>
|
|
||||||
<Tooltip delayDuration={150}>
|
|
||||||
<TooltipTrigger asChild>{content}</TooltipTrigger>
|
|
||||||
<TooltipContent>{label}</TooltipContent>
|
|
||||||
</Tooltip>
|
|
||||||
</TooltipProvider>
|
|
||||||
) : (
|
|
||||||
content
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="xl:ms-auto flex items-center gap-2 max-sm:-mb-1">
|
|
||||||
<ChartTimeSelect className="w-full xl:w-40" agentVersion={chartData.agentVersion} />
|
|
||||||
<TooltipProvider delayDuration={100}>
|
|
||||||
<Tooltip>
|
|
||||||
<TooltipTrigger asChild>
|
|
||||||
<Button
|
|
||||||
aria-label={t`Toggle grid`}
|
|
||||||
variant="outline"
|
|
||||||
size="icon"
|
|
||||||
className="hidden xl:flex p-0 text-primary"
|
|
||||||
onClick={() => setGrid(!grid)}
|
|
||||||
>
|
|
||||||
{grid ? (
|
|
||||||
<LayoutGridIcon className="h-[1.2rem] w-[1.2rem] opacity-75" />
|
|
||||||
) : (
|
|
||||||
<Rows className="h-[1.3rem] w-[1.3rem] opacity-75" />
|
|
||||||
)}
|
|
||||||
</Button>
|
|
||||||
</TooltipTrigger>
|
|
||||||
<TooltipContent>{t`Toggle grid`}</TooltipContent>
|
|
||||||
</Tooltip>
|
|
||||||
</TooltipProvider>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Card>
|
|
||||||
|
|
||||||
|
|
||||||
{/* <Tabs defaultValue="overview" className="w-full">
|
{/* <Tabs defaultValue="overview" className="w-full">
|
||||||
<TabsList className="w-full h-11">
|
<TabsList className="w-full h-11">
|
||||||
@@ -575,7 +410,6 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs> */}
|
</Tabs> */}
|
||||||
|
|
||||||
|
|
||||||
{/* main charts */}
|
{/* main charts */}
|
||||||
<div className="grid xl:grid-cols-2 gap-4">
|
<div className="grid xl:grid-cols-2 gap-4">
|
||||||
<ChartCard
|
<ChartCard
|
||||||
@@ -603,6 +437,7 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
]}
|
]}
|
||||||
tickFormatter={(val) => `${toFixedFloat(val, 2)}%`}
|
tickFormatter={(val) => `${toFixedFloat(val, 2)}%`}
|
||||||
contentFormatter={({ value }) => `${decimalString(value)}%`}
|
contentFormatter={({ value }) => `${decimalString(value)}%`}
|
||||||
|
domain={pinnedAxisDomain()}
|
||||||
/>
|
/>
|
||||||
</ChartCard>
|
</ChartCard>
|
||||||
|
|
||||||
@@ -610,7 +445,7 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
<ChartCard
|
<ChartCard
|
||||||
empty={dataEmpty}
|
empty={dataEmpty}
|
||||||
grid={grid}
|
grid={grid}
|
||||||
title={dockerOrPodman(t`Docker CPU Usage`, system)}
|
title={dockerOrPodman(t`Docker CPU Usage`, isPodman)}
|
||||||
description={t`Average CPU utilization of containers`}
|
description={t`Average CPU utilization of containers`}
|
||||||
cornerEl={containerFilterBar}
|
cornerEl={containerFilterBar}
|
||||||
>
|
>
|
||||||
@@ -637,8 +472,8 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
<ChartCard
|
<ChartCard
|
||||||
empty={dataEmpty}
|
empty={dataEmpty}
|
||||||
grid={grid}
|
grid={grid}
|
||||||
title={dockerOrPodman(t`Docker Memory Usage`, system)}
|
title={dockerOrPodman(t`Docker Memory Usage`, isPodman)}
|
||||||
description={dockerOrPodman(t`Memory usage of docker containers`, system)}
|
description={dockerOrPodman(t`Memory usage of docker containers`, isPodman)}
|
||||||
cornerEl={containerFilterBar}
|
cornerEl={containerFilterBar}
|
||||||
>
|
>
|
||||||
<ContainerChart
|
<ContainerChart
|
||||||
@@ -758,8 +593,8 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
<ChartCard
|
<ChartCard
|
||||||
empty={dataEmpty}
|
empty={dataEmpty}
|
||||||
grid={grid}
|
grid={grid}
|
||||||
title={dockerOrPodman(t`Docker Network I/O`, system)}
|
title={dockerOrPodman(t`Docker Network I/O`, isPodman)}
|
||||||
description={dockerOrPodman(t`Network traffic of docker containers`, system)}
|
description={dockerOrPodman(t`Network traffic of docker containers`, isPodman)}
|
||||||
cornerEl={containerFilterBar}
|
cornerEl={containerFilterBar}
|
||||||
>
|
>
|
||||||
<ContainerChart
|
<ContainerChart
|
||||||
@@ -798,10 +633,7 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
|
|
||||||
{/* Temperature chart */}
|
{/* Temperature chart */}
|
||||||
{systemStats.at(-1)?.stats.t && (
|
{systemStats.at(-1)?.stats.t && (
|
||||||
<div
|
<div ref={temperatureChartRef} className={cn("odd:last-of-type:col-span-full", { "col-span-full": !grid })}>
|
||||||
ref={temperatureChartRef}
|
|
||||||
className={cn("odd:last-of-type:col-span-full", { "col-span-full": !grid })}
|
|
||||||
>
|
|
||||||
<ChartCard
|
<ChartCard
|
||||||
empty={dataEmpty}
|
empty={dataEmpty}
|
||||||
grid={grid}
|
grid={grid}
|
||||||
@@ -963,7 +795,9 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
label: t`Write`,
|
label: t`Write`,
|
||||||
dataKey: ({ stats }) => {
|
dataKey: ({ stats }) => {
|
||||||
if (showMax) {
|
if (showMax) {
|
||||||
return stats?.efs?.[extraFsName]?.wbm || (stats?.efs?.[extraFsName]?.wm ?? 0) * 1024 * 1024
|
return (
|
||||||
|
stats?.efs?.[extraFsName]?.wbm || (stats?.efs?.[extraFsName]?.wm ?? 0) * 1024 * 1024
|
||||||
|
)
|
||||||
}
|
}
|
||||||
return stats?.efs?.[extraFsName]?.wb || (stats?.efs?.[extraFsName]?.w ?? 0) * 1024 * 1024
|
return stats?.efs?.[extraFsName]?.wb || (stats?.efs?.[extraFsName]?.w ?? 0) * 1024 * 1024
|
||||||
},
|
},
|
||||||
@@ -1001,9 +835,7 @@ export default memo(function SystemDetail({ id }: { id: string }) {
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{compareSemVer(chartData.agentVersion, parseSemVer("0.15.0")) >= 0 && (
|
{compareSemVer(chartData.agentVersion, parseSemVer("0.15.0")) >= 0 && <LazySmartTable systemId={system.id} />}
|
||||||
<LazySmartTable systemId={system.id} />
|
|
||||||
)}
|
|
||||||
|
|
||||||
{containerData.length > 0 && compareSemVer(chartData.agentVersion, parseSemVer("0.14.0")) >= 0 && (
|
{containerData.length > 0 && compareSemVer(chartData.agentVersion, parseSemVer("0.14.0")) >= 0 && (
|
||||||
<LazyContainersTable systemId={system.id} />
|
<LazyContainersTable systemId={system.id} />
|
||||||
@@ -1059,13 +891,10 @@ function FilterBar({ store = $containerFilter }: { store?: typeof $containerFilt
|
|||||||
return () => clearTimeout(handle)
|
return () => clearTimeout(handle)
|
||||||
}, [inputValue, storeValue, store])
|
}, [inputValue, storeValue, store])
|
||||||
|
|
||||||
const handleChange = useCallback(
|
const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
(e: React.ChangeEvent<HTMLInputElement>) => {
|
|
||||||
const value = e.target.value
|
const value = e.target.value
|
||||||
setInputValue(value)
|
setInputValue(value)
|
||||||
},
|
}, [])
|
||||||
[]
|
|
||||||
)
|
|
||||||
|
|
||||||
const handleClear = useCallback(() => {
|
const handleClear = useCallback(() => {
|
||||||
setInputValue("")
|
setInputValue("")
|
||||||
|
|||||||
252
internal/site/src/components/routes/system/info-bar.tsx
Normal file
252
internal/site/src/components/routes/system/info-bar.tsx
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
import ChartTimeSelect from "@/components/charts/chart-time-select"
|
||||||
|
import { Button } from "@/components/ui/button"
|
||||||
|
import { Card } from "@/components/ui/card"
|
||||||
|
import { FreeBsdIcon, TuxIcon, WebSocketIcon, WindowsIcon } from "@/components/ui/icons"
|
||||||
|
import { SystemStatus, ConnectionType, connectionTypeLabels, Os } from "@/lib/enums"
|
||||||
|
import { cn, formatBytes, getHostDisplayValue, secondsToString, toFixedFloat } from "@/lib/utils"
|
||||||
|
import { Separator } from "@/components/ui/separator"
|
||||||
|
import {
|
||||||
|
AppleIcon,
|
||||||
|
BinaryIcon,
|
||||||
|
ChevronRightSquareIcon,
|
||||||
|
ClockArrowUp,
|
||||||
|
CpuIcon,
|
||||||
|
GlobeIcon,
|
||||||
|
LayoutGridIcon,
|
||||||
|
MonitorIcon,
|
||||||
|
Rows,
|
||||||
|
MemoryStickIcon,
|
||||||
|
} from "lucide-react"
|
||||||
|
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"
|
||||||
|
import type { ChartData, SystemDetailsRecord, SystemRecord } from "@/types"
|
||||||
|
import { useEffect, useMemo, useState } from "react"
|
||||||
|
import { useLingui } from "@lingui/react/macro"
|
||||||
|
import { pb } from "@/lib/api"
|
||||||
|
|
||||||
|
export default function InfoBar({
|
||||||
|
system,
|
||||||
|
chartData,
|
||||||
|
grid,
|
||||||
|
setGrid,
|
||||||
|
setIsPodman,
|
||||||
|
}: {
|
||||||
|
system: SystemRecord
|
||||||
|
chartData: ChartData
|
||||||
|
grid: boolean
|
||||||
|
setGrid: (grid: boolean) => void
|
||||||
|
setIsPodman: (isPodman: boolean) => void
|
||||||
|
}) {
|
||||||
|
const { t } = useLingui()
|
||||||
|
const [details, setDetails] = useState<SystemDetailsRecord | null>(null)
|
||||||
|
|
||||||
|
// Fetch system_details on mount / when system changes
|
||||||
|
useEffect(() => {
|
||||||
|
// skip fetching system details if agent is older version which includes details in Info struct
|
||||||
|
if (!system.id || system.info?.m) {
|
||||||
|
return setDetails(null)
|
||||||
|
}
|
||||||
|
pb.collection<SystemDetailsRecord>("system_details")
|
||||||
|
.getOne(system.id, {
|
||||||
|
fields: "hostname,kernel,cores,threads,cpu,os,os_name,arch,memory,podman",
|
||||||
|
headers: {
|
||||||
|
"Cache-Control": "public, max-age=60",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((details) => {
|
||||||
|
setDetails(details)
|
||||||
|
setIsPodman(details.podman)
|
||||||
|
})
|
||||||
|
.catch(() => setDetails(null))
|
||||||
|
}, [system.id])
|
||||||
|
|
||||||
|
// values for system info bar - use details with fallback to system.info
|
||||||
|
const systemInfo = useMemo(() => {
|
||||||
|
if (!system.info) {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
|
// Use details if available, otherwise fall back to system.info
|
||||||
|
const hostname = details?.hostname ?? system.info.h
|
||||||
|
const kernel = details?.kernel ?? system.info.k
|
||||||
|
const cores = details?.cores ?? system.info.c
|
||||||
|
const threads = details?.threads ?? system.info.t
|
||||||
|
const cpuModel = details?.cpu ?? system.info.m
|
||||||
|
const os = details?.os ?? system.info.os ?? Os.Linux
|
||||||
|
const osName = details?.os_name
|
||||||
|
const arch = details?.arch
|
||||||
|
const memory = details?.memory
|
||||||
|
|
||||||
|
const osInfo = {
|
||||||
|
[Os.Linux]: {
|
||||||
|
Icon: TuxIcon,
|
||||||
|
// show kernel in tooltip if os name is available, otherwise show the kernel
|
||||||
|
value: osName || kernel,
|
||||||
|
label: osName ? kernel : undefined,
|
||||||
|
// label: t({ comment: "Linux kernel", message: "Kernel" }),
|
||||||
|
},
|
||||||
|
[Os.Darwin]: {
|
||||||
|
Icon: AppleIcon,
|
||||||
|
value: osName || `macOS ${kernel}`,
|
||||||
|
},
|
||||||
|
[Os.Windows]: {
|
||||||
|
Icon: WindowsIcon,
|
||||||
|
value: osName || kernel,
|
||||||
|
},
|
||||||
|
[Os.FreeBSD]: {
|
||||||
|
Icon: FreeBsdIcon,
|
||||||
|
value: osName || kernel,
|
||||||
|
label: osName ? kernel : undefined,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
let uptime: string
|
||||||
|
if (system.info.u < 3600) {
|
||||||
|
uptime = secondsToString(system.info.u, "minute")
|
||||||
|
} else if (system.info.u < 360000) {
|
||||||
|
uptime = secondsToString(system.info.u, "hour")
|
||||||
|
} else {
|
||||||
|
uptime = secondsToString(system.info.u, "day")
|
||||||
|
}
|
||||||
|
const info = [
|
||||||
|
{ value: getHostDisplayValue(system), Icon: GlobeIcon },
|
||||||
|
{
|
||||||
|
value: hostname,
|
||||||
|
Icon: MonitorIcon,
|
||||||
|
label: "Hostname",
|
||||||
|
// hide if hostname is same as host or name
|
||||||
|
hide: hostname === system.host || hostname === system.name,
|
||||||
|
},
|
||||||
|
{ value: uptime, Icon: ClockArrowUp, label: t`Uptime`, hide: !system.info.u },
|
||||||
|
osInfo[os],
|
||||||
|
{ value: arch, Icon: BinaryIcon, hide: !arch },
|
||||||
|
] as {
|
||||||
|
value: string | number | undefined
|
||||||
|
label?: string
|
||||||
|
Icon: React.ElementType
|
||||||
|
hide?: boolean
|
||||||
|
}[]
|
||||||
|
|
||||||
|
info.push({
|
||||||
|
value: `${cpuModel} (${cores}c${threads ? `/${threads}t` : ""})`,
|
||||||
|
Icon: CpuIcon,
|
||||||
|
hide: !cpuModel,
|
||||||
|
})
|
||||||
|
|
||||||
|
if (memory) {
|
||||||
|
const memValue = formatBytes(memory, false, undefined, false)
|
||||||
|
info.push({
|
||||||
|
value: `${toFixedFloat(memValue.value, memValue.value >= 10 ? 1 : 2)} ${memValue.unit}`,
|
||||||
|
Icon: MemoryStickIcon,
|
||||||
|
hide: !memory,
|
||||||
|
label: t`Memory`,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return info
|
||||||
|
}, [system, details, t])
|
||||||
|
|
||||||
|
let translatedStatus: string = system.status
|
||||||
|
if (system.status === SystemStatus.Up) {
|
||||||
|
translatedStatus = t({ message: "Up", comment: "Context: System is up" })
|
||||||
|
} else if (system.status === SystemStatus.Down) {
|
||||||
|
translatedStatus = t({ message: "Down", comment: "Context: System is down" })
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Card>
|
||||||
|
<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">
|
||||||
|
<TooltipProvider>
|
||||||
|
<Tooltip>
|
||||||
|
<TooltipTrigger asChild>
|
||||||
|
<div className="capitalize flex gap-2 items-center">
|
||||||
|
<span className={cn("relative flex h-3 w-3")}>
|
||||||
|
{system.status === SystemStatus.Up && (
|
||||||
|
<span
|
||||||
|
className="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"
|
||||||
|
style={{ animationDuration: "1.5s" }}
|
||||||
|
></span>
|
||||||
|
)}
|
||||||
|
<span
|
||||||
|
className={cn("relative inline-flex rounded-full h-3 w-3", {
|
||||||
|
"bg-green-500": system.status === SystemStatus.Up,
|
||||||
|
"bg-red-500": system.status === SystemStatus.Down,
|
||||||
|
"bg-primary/40": system.status === SystemStatus.Paused,
|
||||||
|
"bg-yellow-500": system.status === SystemStatus.Pending,
|
||||||
|
})}
|
||||||
|
></span>
|
||||||
|
</span>
|
||||||
|
{translatedStatus}
|
||||||
|
</div>
|
||||||
|
</TooltipTrigger>
|
||||||
|
{system.info.ct && (
|
||||||
|
<TooltipContent>
|
||||||
|
<div className="flex gap-1 items-center">
|
||||||
|
{system.info.ct === ConnectionType.WebSocket ? (
|
||||||
|
<WebSocketIcon className="size-4" />
|
||||||
|
) : (
|
||||||
|
<ChevronRightSquareIcon className="size-4" strokeWidth={2} />
|
||||||
|
)}
|
||||||
|
{connectionTypeLabels[system.info.ct as ConnectionType]}
|
||||||
|
</div>
|
||||||
|
</TooltipContent>
|
||||||
|
)}
|
||||||
|
</Tooltip>
|
||||||
|
</TooltipProvider>
|
||||||
|
|
||||||
|
{systemInfo.map(({ value, label, Icon, hide }) => {
|
||||||
|
if (hide || !value) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
const content = (
|
||||||
|
<div className="flex gap-1.5 items-center">
|
||||||
|
<Icon className="h-4 w-4" /> {value}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
return (
|
||||||
|
<div key={value} className="contents">
|
||||||
|
<Separator orientation="vertical" className="h-4 bg-primary/30" />
|
||||||
|
{label ? (
|
||||||
|
<TooltipProvider>
|
||||||
|
<Tooltip delayDuration={150}>
|
||||||
|
<TooltipTrigger asChild>{content}</TooltipTrigger>
|
||||||
|
<TooltipContent>{label}</TooltipContent>
|
||||||
|
</Tooltip>
|
||||||
|
</TooltipProvider>
|
||||||
|
) : (
|
||||||
|
content
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="xl:ms-auto flex items-center gap-2 max-sm:-mb-1">
|
||||||
|
<ChartTimeSelect className="w-full xl:w-40" agentVersion={chartData.agentVersion} />
|
||||||
|
<TooltipProvider delayDuration={100}>
|
||||||
|
<Tooltip>
|
||||||
|
<TooltipTrigger asChild>
|
||||||
|
<Button
|
||||||
|
aria-label={t`Toggle grid`}
|
||||||
|
variant="outline"
|
||||||
|
size="icon"
|
||||||
|
className="hidden xl:flex p-0 text-primary"
|
||||||
|
onClick={() => setGrid(!grid)}
|
||||||
|
>
|
||||||
|
{grid ? (
|
||||||
|
<LayoutGridIcon className="h-[1.2rem] w-[1.2rem] opacity-75" />
|
||||||
|
) : (
|
||||||
|
<Rows className="h-[1.3rem] w-[1.3rem] opacity-75" />
|
||||||
|
)}
|
||||||
|
</Button>
|
||||||
|
</TooltipTrigger>
|
||||||
|
<TooltipContent>{t`Toggle grid`}</TooltipContent>
|
||||||
|
</Tooltip>
|
||||||
|
</TooltipProvider>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Card>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -1,37 +1,64 @@
|
|||||||
import * as React from "react"
|
|
||||||
import { t } from "@lingui/core/macro"
|
import { t } from "@lingui/core/macro"
|
||||||
import {
|
import {
|
||||||
ColumnDef,
|
type ColumnDef,
|
||||||
ColumnFiltersState,
|
type ColumnFiltersState,
|
||||||
Column,
|
type Column,
|
||||||
|
type SortingState,
|
||||||
flexRender,
|
flexRender,
|
||||||
getCoreRowModel,
|
getCoreRowModel,
|
||||||
getFilteredRowModel,
|
getFilteredRowModel,
|
||||||
getSortedRowModel,
|
getSortedRowModel,
|
||||||
SortingState,
|
|
||||||
useReactTable,
|
useReactTable,
|
||||||
} from "@tanstack/react-table"
|
} from "@tanstack/react-table"
|
||||||
import { Activity, Box, Clock, HardDrive, HashIcon, CpuIcon, BinaryIcon, RotateCwIcon, LoaderCircleIcon, CheckCircle2Icon, XCircleIcon, ArrowLeftRightIcon } from "lucide-react"
|
import {
|
||||||
|
Activity,
|
||||||
|
Box,
|
||||||
|
Clock,
|
||||||
|
HardDrive,
|
||||||
|
BinaryIcon,
|
||||||
|
RotateCwIcon,
|
||||||
|
LoaderCircleIcon,
|
||||||
|
CheckCircle2Icon,
|
||||||
|
XCircleIcon,
|
||||||
|
ArrowLeftRightIcon,
|
||||||
|
MoreHorizontalIcon,
|
||||||
|
RefreshCwIcon,
|
||||||
|
ServerIcon,
|
||||||
|
Trash2Icon,
|
||||||
|
XIcon,
|
||||||
|
} from "lucide-react"
|
||||||
import { Card, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"
|
import { Card, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"
|
||||||
import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "@/components/ui/sheet"
|
import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "@/components/ui/sheet"
|
||||||
import { Input } from "@/components/ui/input"
|
import { Input } from "@/components/ui/input"
|
||||||
import {
|
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
||||||
Table,
|
|
||||||
TableBody,
|
|
||||||
TableCell,
|
|
||||||
TableHead,
|
|
||||||
TableHeader,
|
|
||||||
TableRow,
|
|
||||||
} from "@/components/ui/table"
|
|
||||||
import { Badge } from "@/components/ui/badge"
|
import { Badge } from "@/components/ui/badge"
|
||||||
import { Button } from "@/components/ui/button"
|
import { Button } from "@/components/ui/button"
|
||||||
import { pb } from "@/lib/api"
|
import { pb } from "@/lib/api"
|
||||||
import { SmartData, SmartAttribute } from "@/types"
|
import type { SmartDeviceRecord, SmartAttribute } from "@/types"
|
||||||
import { formatBytes, toFixedFloat, formatTemperature, cn, secondsToString } from "@/lib/utils"
|
import {
|
||||||
|
formatBytes,
|
||||||
|
toFixedFloat,
|
||||||
|
formatTemperature,
|
||||||
|
cn,
|
||||||
|
secondsToString,
|
||||||
|
hourWithSeconds,
|
||||||
|
formatShortDate,
|
||||||
|
} from "@/lib/utils"
|
||||||
import { Trans } from "@lingui/react/macro"
|
import { Trans } from "@lingui/react/macro"
|
||||||
|
import { useStore } from "@nanostores/react"
|
||||||
|
import { $allSystemsById } from "@/lib/stores"
|
||||||
import { ThermometerIcon } from "@/components/ui/icons"
|
import { ThermometerIcon } from "@/components/ui/icons"
|
||||||
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"
|
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"
|
||||||
import { Separator } from "@/components/ui/separator"
|
import { Separator } from "@/components/ui/separator"
|
||||||
|
import {
|
||||||
|
DropdownMenu,
|
||||||
|
DropdownMenuContent,
|
||||||
|
DropdownMenuItem,
|
||||||
|
DropdownMenuSeparator,
|
||||||
|
DropdownMenuTrigger,
|
||||||
|
} from "@/components/ui/dropdown-menu"
|
||||||
|
import { useCallback, useMemo, useEffect, useState } from "react"
|
||||||
|
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"
|
||||||
|
|
||||||
// Column definition for S.M.A.R.T. attributes table
|
// Column definition for S.M.A.R.T. attributes table
|
||||||
export const smartColumns: ColumnDef<SmartAttribute>[] = [
|
export const smartColumns: ColumnDef<SmartAttribute>[] = [
|
||||||
@@ -66,19 +93,19 @@ export const smartColumns: ColumnDef<SmartAttribute>[] = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export type DiskInfo = {
|
export type DiskInfo = {
|
||||||
|
id: string
|
||||||
|
system: string
|
||||||
device: string
|
device: string
|
||||||
model: string
|
model: string
|
||||||
serialNumber: string
|
|
||||||
firmwareVersion: string
|
|
||||||
capacity: string
|
capacity: string
|
||||||
status: string
|
status: string
|
||||||
temperature: number
|
temperature: number
|
||||||
deviceType: string
|
deviceType: string
|
||||||
powerOnHours?: number
|
powerOnHours?: number
|
||||||
powerCycles?: number
|
powerCycles?: number
|
||||||
|
attributes?: SmartAttribute[]
|
||||||
|
updated: string
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to format capacity display
|
// Function to format capacity display
|
||||||
@@ -87,38 +114,53 @@ function formatCapacity(bytes: number): string {
|
|||||||
return `${toFixedFloat(value, value >= 10 ? 1 : 2)} ${unit}`
|
return `${toFixedFloat(value, value >= 10 ? 1 : 2)} ${unit}`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to convert SmartData to DiskInfo
|
// Function to convert SmartDeviceRecord to DiskInfo
|
||||||
function convertSmartDataToDiskInfo(smartDataRecord: Record<string, SmartData>): DiskInfo[] {
|
function convertSmartDeviceRecordToDiskInfo(records: SmartDeviceRecord[]): DiskInfo[] {
|
||||||
const unknown = "Unknown"
|
const unknown = "Unknown"
|
||||||
return Object.entries(smartDataRecord).map(([key, smartData]) => ({
|
return records.map((record) => ({
|
||||||
device: smartData.dn || key,
|
id: record.id,
|
||||||
model: smartData.mn || unknown,
|
system: record.system,
|
||||||
serialNumber: smartData.sn || unknown,
|
device: record.name || unknown,
|
||||||
firmwareVersion: smartData.fv || unknown,
|
model: record.model || unknown,
|
||||||
capacity: smartData.c ? formatCapacity(smartData.c) : unknown,
|
serialNumber: record.serial || unknown,
|
||||||
status: smartData.s || unknown,
|
firmwareVersion: record.firmware || unknown,
|
||||||
temperature: smartData.t || 0,
|
capacity: record.capacity ? formatCapacity(record.capacity) : unknown,
|
||||||
deviceType: smartData.dt || unknown,
|
status: record.state || unknown,
|
||||||
// These fields need to be extracted from SmartAttribute if available
|
temperature: record.temp || 0,
|
||||||
powerOnHours: smartData.a?.find(attr => {
|
deviceType: record.type || unknown,
|
||||||
const name = attr.n.toLowerCase();
|
attributes: record.attributes,
|
||||||
return name.includes("poweronhours") || name.includes("power_on_hours");
|
updated: record.updated,
|
||||||
})?.rv,
|
powerOnHours: record.hours,
|
||||||
powerCycles: smartData.a?.find(attr => {
|
powerCycles: record.cycles,
|
||||||
const name = attr.n.toLowerCase();
|
|
||||||
return (name.includes("power") && name.includes("cycle")) || name.includes("startstopcycles");
|
|
||||||
})?.rv,
|
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const SMART_DEVICE_FIELDS = "id,system,name,model,state,capacity,temp,type,hours,cycles,updated"
|
||||||
|
|
||||||
export const columns: ColumnDef<DiskInfo>[] = [
|
export const columns: ColumnDef<DiskInfo>[] = [
|
||||||
|
{
|
||||||
|
id: "system",
|
||||||
|
accessorFn: (record) => record.system,
|
||||||
|
sortingFn: (a, b) => {
|
||||||
|
const allSystems = $allSystemsById.get()
|
||||||
|
const systemNameA = allSystems[a.original.system]?.name ?? ""
|
||||||
|
const systemNameB = allSystems[b.original.system]?.name ?? ""
|
||||||
|
return systemNameA.localeCompare(systemNameB)
|
||||||
|
},
|
||||||
|
header: ({ column }) => <HeaderButton column={column} name={t`System`} Icon={ServerIcon} />,
|
||||||
|
cell: ({ getValue }) => {
|
||||||
|
const allSystems = useStore($allSystemsById)
|
||||||
|
return <span className="ms-1.5 xl:w-30 block truncate">{allSystems[getValue() as string]?.name ?? ""}</span>
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "device",
|
accessorKey: "device",
|
||||||
sortingFn: (a, b) => a.original.device.localeCompare(b.original.device),
|
sortingFn: (a, b) => a.original.device.localeCompare(b.original.device),
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t`Device`} Icon={HardDrive} />,
|
header: ({ column }) => <HeaderButton column={column} name={t`Device`} Icon={HardDrive} />,
|
||||||
cell: ({ row }) => (
|
cell: ({ row }) => (
|
||||||
<div className="font-medium ms-1.5">{row.getValue("device")}</div>
|
<div className="font-medium max-w-40 truncate ms-1.5" title={row.getValue("device")}>
|
||||||
|
{row.getValue("device")}
|
||||||
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -126,7 +168,7 @@ export const columns: ColumnDef<DiskInfo>[] = [
|
|||||||
sortingFn: (a, b) => a.original.model.localeCompare(b.original.model),
|
sortingFn: (a, b) => a.original.model.localeCompare(b.original.model),
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t`Model`} Icon={Box} />,
|
header: ({ column }) => <HeaderButton column={column} name={t`Model`} Icon={Box} />,
|
||||||
cell: ({ row }) => (
|
cell: ({ row }) => (
|
||||||
<div className="max-w-50 truncate ms-1.5" title={row.getValue("model")}>
|
<div className="max-w-48 truncate ms-1.5" title={row.getValue("model")}>
|
||||||
{row.getValue("model")}
|
{row.getValue("model")}
|
||||||
</div>
|
</div>
|
||||||
),
|
),
|
||||||
@@ -134,18 +176,7 @@ export const columns: ColumnDef<DiskInfo>[] = [
|
|||||||
{
|
{
|
||||||
accessorKey: "capacity",
|
accessorKey: "capacity",
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t`Capacity`} Icon={BinaryIcon} />,
|
header: ({ column }) => <HeaderButton column={column} name={t`Capacity`} Icon={BinaryIcon} />,
|
||||||
cell: ({ getValue }) => (
|
cell: ({ getValue }) => <span className="ms-1.5">{getValue() as string}</span>,
|
||||||
<span className="ms-1.5">{getValue() as string}</span>
|
|
||||||
),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "temperature",
|
|
||||||
invertSorting: true,
|
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t`Temp`} Icon={ThermometerIcon} />,
|
|
||||||
cell: ({ getValue }) => {
|
|
||||||
const { value, unit } = formatTemperature(getValue() as number)
|
|
||||||
return <span className="ms-1.5">{`${value} ${unit}`}</span>
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "status",
|
accessorKey: "status",
|
||||||
@@ -154,11 +185,7 @@ export const columns: ColumnDef<DiskInfo>[] = [
|
|||||||
const status = getValue() as string
|
const status = getValue() as string
|
||||||
return (
|
return (
|
||||||
<div className="ms-1.5">
|
<div className="ms-1.5">
|
||||||
<Badge
|
<Badge variant={status === "PASSED" ? "success" : status === "FAILED" ? "danger" : "warning"}>{status}</Badge>
|
||||||
variant={status === "PASSED" ? "success" : status === "FAILED" ? "danger" : "warning"}
|
|
||||||
>
|
|
||||||
{status}
|
|
||||||
</Badge>
|
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
@@ -178,15 +205,13 @@ export const columns: ColumnDef<DiskInfo>[] = [
|
|||||||
{
|
{
|
||||||
accessorKey: "powerOnHours",
|
accessorKey: "powerOnHours",
|
||||||
invertSorting: true,
|
invertSorting: true,
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t({ message: "Power On", comment: "Power On Time" })} Icon={Clock} />,
|
header: ({ column }) => (
|
||||||
|
<HeaderButton column={column} name={t({ message: "Power On", comment: "Power On Time" })} Icon={Clock} />
|
||||||
|
),
|
||||||
cell: ({ getValue }) => {
|
cell: ({ getValue }) => {
|
||||||
const hours = (getValue() ?? 0) as number
|
const hours = (getValue() ?? 0) as number
|
||||||
if (!hours && hours !== 0) {
|
if (!hours && hours !== 0) {
|
||||||
return (
|
return <div className="text-sm text-muted-foreground ms-1.5">N/A</div>
|
||||||
<div className="text-sm text-muted-foreground ms-1.5">
|
|
||||||
N/A
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
const seconds = hours * 3600
|
const seconds = hours * 3600
|
||||||
return (
|
return (
|
||||||
@@ -200,34 +225,50 @@ export const columns: ColumnDef<DiskInfo>[] = [
|
|||||||
{
|
{
|
||||||
accessorKey: "powerCycles",
|
accessorKey: "powerCycles",
|
||||||
invertSorting: true,
|
invertSorting: true,
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t({ message: "Cycles", comment: "Power Cycles" })} Icon={RotateCwIcon} />,
|
header: ({ column }) => (
|
||||||
|
<HeaderButton column={column} name={t({ message: "Cycles", comment: "Power Cycles" })} Icon={RotateCwIcon} />
|
||||||
|
),
|
||||||
cell: ({ getValue }) => {
|
cell: ({ getValue }) => {
|
||||||
const cycles = getValue() as number | undefined
|
const cycles = getValue() as number | undefined
|
||||||
if (!cycles && cycles !== 0) {
|
if (!cycles && cycles !== 0) {
|
||||||
return (
|
return <div className="text-muted-foreground ms-1.5">N/A</div>
|
||||||
<div className="text-muted-foreground ms-1.5">
|
|
||||||
N/A
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
return <span className="ms-1.5">{cycles}</span>
|
return <span className="ms-1.5">{cycles.toLocaleString()}</span>
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "serialNumber",
|
accessorKey: "temperature",
|
||||||
sortingFn: (a, b) => a.original.serialNumber.localeCompare(b.original.serialNumber),
|
invertSorting: true,
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t`Serial Number`} Icon={HashIcon} />,
|
header: ({ column }) => <HeaderButton column={column} name={t`Temp`} Icon={ThermometerIcon} />,
|
||||||
cell: ({ getValue }) => (
|
cell: ({ getValue }) => {
|
||||||
<span className="ms-1.5">{getValue() as string}</span>
|
const { value, unit } = formatTemperature(getValue() as number)
|
||||||
),
|
return <span className="ms-1.5">{`${value} ${unit}`}</span>
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// accessorKey: "serialNumber",
|
||||||
|
// sortingFn: (a, b) => a.original.serialNumber.localeCompare(b.original.serialNumber),
|
||||||
|
// header: ({ column }) => <HeaderButton column={column} name={t`Serial Number`} Icon={HashIcon} />,
|
||||||
|
// cell: ({ getValue }) => <span className="ms-1.5">{getValue() as string}</span>,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// accessorKey: "firmwareVersion",
|
||||||
|
// sortingFn: (a, b) => a.original.firmwareVersion.localeCompare(b.original.firmwareVersion),
|
||||||
|
// header: ({ column }) => <HeaderButton column={column} name={t`Firmware`} Icon={CpuIcon} />,
|
||||||
|
// cell: ({ getValue }) => <span className="ms-1.5">{getValue() as string}</span>,
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
accessorKey: "firmwareVersion",
|
id: "updated",
|
||||||
sortingFn: (a, b) => a.original.firmwareVersion.localeCompare(b.original.firmwareVersion),
|
invertSorting: true,
|
||||||
header: ({ column }) => <HeaderButton column={column} name={t`Firmware`} Icon={CpuIcon} />,
|
accessorFn: (record) => record.updated,
|
||||||
cell: ({ getValue }) => (
|
header: ({ column }) => <HeaderButton column={column} name={t`Updated`} Icon={Clock} />,
|
||||||
<span className="ms-1.5">{getValue() as string}</span>
|
cell: ({ getValue }) => {
|
||||||
),
|
const timestamp = getValue() as string
|
||||||
|
// if today, use hourWithSeconds, otherwise use formatShortDate
|
||||||
|
const formatter =
|
||||||
|
new Date(timestamp).toDateString() === new Date().toDateString() ? hourWithSeconds : formatShortDate
|
||||||
|
return <span className="ms-1.5 tabular-nums">{formatter(timestamp)}</span>
|
||||||
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -235,7 +276,10 @@ function HeaderButton({ column, name, Icon }: { column: Column<DiskInfo>; name:
|
|||||||
const isSorted = column.getIsSorted()
|
const isSorted = column.getIsSorted()
|
||||||
return (
|
return (
|
||||||
<Button
|
<Button
|
||||||
className={cn("h-9 px-3 flex items-center gap-2 duration-50", isSorted && "bg-accent/70 light:bg-accent text-accent-foreground/90")}
|
className={cn(
|
||||||
|
"h-9 px-3 flex items-center gap-2 duration-50",
|
||||||
|
isSorted && "bg-accent/70 light:bg-accent text-accent-foreground/90"
|
||||||
|
)}
|
||||||
variant="ghost"
|
variant="ghost"
|
||||||
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
|
onClick={() => column.toggleSorting(column.getIsSorted() === "asc")}
|
||||||
>
|
>
|
||||||
@@ -245,39 +289,193 @@ function HeaderButton({ column, name, Icon }: { column: Column<DiskInfo>; name:
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function DisksTable({ systemId }: { systemId: string }) {
|
export default function DisksTable({ systemId }: { systemId?: string }) {
|
||||||
const [sorting, setSorting] = React.useState<SortingState>([{ id: "device", desc: false }])
|
const [sorting, setSorting] = useState<SortingState>([{ id: systemId ? "device" : "system", desc: false }])
|
||||||
const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([])
|
const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])
|
||||||
const [rowSelection, setRowSelection] = React.useState({})
|
const [rowSelection, setRowSelection] = useState({})
|
||||||
const [smartData, setSmartData] = React.useState<Record<string, SmartData> | undefined>(undefined)
|
const [smartDevices, setSmartDevices] = useState<SmartDeviceRecord[] | undefined>(undefined)
|
||||||
const [activeDisk, setActiveDisk] = React.useState<DiskInfo | null>(null)
|
const [activeDiskId, setActiveDiskId] = useState<string | null>(null)
|
||||||
const [sheetOpen, setSheetOpen] = React.useState(false)
|
const [sheetOpen, setSheetOpen] = useState(false)
|
||||||
|
const [rowActionState, setRowActionState] = useState<{ type: "refresh" | "delete"; id: string } | null>(null)
|
||||||
|
const [globalFilter, setGlobalFilter] = useState("")
|
||||||
|
|
||||||
const openSheet = (disk: DiskInfo) => {
|
const openSheet = (disk: DiskInfo) => {
|
||||||
setActiveDisk(disk)
|
setActiveDiskId(disk.id)
|
||||||
setSheetOpen(true)
|
setSheetOpen(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch smart data when component mounts or systemId changes
|
// Fetch smart devices from collection (without attributes to save bandwidth)
|
||||||
React.useEffect(() => {
|
const fetchSmartDevices = useCallback(() => {
|
||||||
if (systemId) {
|
pb.collection<SmartDeviceRecord>("smart_devices")
|
||||||
pb.send<Record<string, SmartData>>("/api/beszel/smart", { query: { system: systemId } })
|
.getFullList({
|
||||||
.then((data) => {
|
filter: systemId ? pb.filter("system = {:system}", { system: systemId }) : undefined,
|
||||||
setSmartData(data)
|
fields: SMART_DEVICE_FIELDS,
|
||||||
})
|
})
|
||||||
.catch(() => setSmartData({}))
|
.then((records) => {
|
||||||
|
setSmartDevices(records)
|
||||||
|
})
|
||||||
|
.catch(() => setSmartDevices([]))
|
||||||
|
}, [systemId])
|
||||||
|
|
||||||
|
// Fetch smart devices when component mounts or systemId changes
|
||||||
|
useEffect(() => {
|
||||||
|
fetchSmartDevices()
|
||||||
|
}, [fetchSmartDevices])
|
||||||
|
|
||||||
|
// Subscribe to live updates so rows add/remove without manual refresh/filtering
|
||||||
|
useEffect(() => {
|
||||||
|
let unsubscribe: (() => void) | undefined
|
||||||
|
const pbOptions = systemId
|
||||||
|
? { fields: SMART_DEVICE_FIELDS, filter: pb.filter("system = {:system}", { system: systemId }) }
|
||||||
|
: { fields: SMART_DEVICE_FIELDS }
|
||||||
|
|
||||||
|
;(async () => {
|
||||||
|
try {
|
||||||
|
unsubscribe = await pb.collection("smart_devices").subscribe(
|
||||||
|
"*",
|
||||||
|
(event) => {
|
||||||
|
const record = event.record as SmartDeviceRecord
|
||||||
|
setSmartDevices((currentDevices) => {
|
||||||
|
const devices = currentDevices ?? []
|
||||||
|
const matchesSystemScope = !systemId || record.system === systemId
|
||||||
|
|
||||||
|
if (event.action === "delete") {
|
||||||
|
return devices.filter((device) => device.id !== record.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!matchesSystemScope) {
|
||||||
|
// Record moved out of scope; ensure it disappears locally.
|
||||||
|
return devices.filter((device) => device.id !== record.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const existingIndex = devices.findIndex((device) => device.id === record.id)
|
||||||
|
if (existingIndex === -1) {
|
||||||
|
return [record, ...devices]
|
||||||
|
}
|
||||||
|
|
||||||
|
const next = [...devices]
|
||||||
|
next[existingIndex] = record
|
||||||
|
return next
|
||||||
|
})
|
||||||
|
},
|
||||||
|
pbOptions
|
||||||
|
)
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Failed to subscribe to SMART device updates:", error)
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
|
||||||
|
return () => {
|
||||||
|
unsubscribe?.()
|
||||||
}
|
}
|
||||||
}, [systemId])
|
}, [systemId])
|
||||||
|
|
||||||
// Convert SmartData to DiskInfo, if no data use empty array
|
const handleRowRefresh = useCallback(
|
||||||
const diskData = React.useMemo(() => {
|
async (disk: DiskInfo) => {
|
||||||
return smartData ? convertSmartDataToDiskInfo(smartData) : []
|
if (!disk.system) return
|
||||||
}, [smartData])
|
setRowActionState({ type: "refresh", id: disk.id })
|
||||||
|
try {
|
||||||
|
await pb.send("/api/beszel/smart/refresh", {
|
||||||
|
method: "POST",
|
||||||
|
query: { system: disk.system },
|
||||||
|
})
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Failed to refresh SMART device:", error)
|
||||||
|
} finally {
|
||||||
|
setRowActionState((state) => (state?.id === disk.id ? null : state))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[fetchSmartDevices]
|
||||||
|
)
|
||||||
|
|
||||||
|
const handleDeleteDevice = useCallback(async (disk: DiskInfo) => {
|
||||||
|
setRowActionState({ type: "delete", id: disk.id })
|
||||||
|
try {
|
||||||
|
await pb.collection("smart_devices").delete(disk.id)
|
||||||
|
// setSmartDevices((current) => current?.filter((device) => device.id !== disk.id))
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Failed to delete SMART device:", error)
|
||||||
|
} finally {
|
||||||
|
setRowActionState((state) => (state?.id === disk.id ? null : state))
|
||||||
|
}
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
const actionColumn = useMemo<ColumnDef<DiskInfo>>(
|
||||||
|
() => ({
|
||||||
|
id: "actions",
|
||||||
|
enableSorting: false,
|
||||||
|
header: () => (
|
||||||
|
<span className="sr-only">
|
||||||
|
<Trans>Actions</Trans>
|
||||||
|
</span>
|
||||||
|
),
|
||||||
|
cell: ({ row }) => {
|
||||||
|
const disk = row.original
|
||||||
|
const isRowRefreshing = rowActionState?.id === disk.id && rowActionState.type === "refresh"
|
||||||
|
const isRowDeleting = rowActionState?.id === disk.id && rowActionState.type === "delete"
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="flex justify-end">
|
||||||
|
<DropdownMenu>
|
||||||
|
<DropdownMenuTrigger asChild>
|
||||||
|
<Button
|
||||||
|
variant="ghost"
|
||||||
|
size="icon"
|
||||||
|
className="size-10"
|
||||||
|
onClick={(event) => event.stopPropagation()}
|
||||||
|
onMouseDown={(event) => event.stopPropagation()}
|
||||||
|
>
|
||||||
|
<span className="sr-only">
|
||||||
|
<Trans>Open menu</Trans>
|
||||||
|
</span>
|
||||||
|
<MoreHorizontalIcon className="w-5" />
|
||||||
|
</Button>
|
||||||
|
</DropdownMenuTrigger>
|
||||||
|
<DropdownMenuContent align="end" onClick={(event) => event.stopPropagation()}>
|
||||||
|
<DropdownMenuItem
|
||||||
|
onClick={(event) => {
|
||||||
|
event.stopPropagation()
|
||||||
|
handleRowRefresh(disk)
|
||||||
|
}}
|
||||||
|
disabled={isRowRefreshing || isRowDeleting}
|
||||||
|
>
|
||||||
|
<RefreshCwIcon className={cn("me-2.5 size-4", isRowRefreshing && "animate-spin")} />
|
||||||
|
<Trans>Refresh</Trans>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
<DropdownMenuSeparator />
|
||||||
|
<DropdownMenuItem
|
||||||
|
onClick={(event) => {
|
||||||
|
event.stopPropagation()
|
||||||
|
handleDeleteDevice(disk)
|
||||||
|
}}
|
||||||
|
disabled={isRowDeleting}
|
||||||
|
>
|
||||||
|
<Trash2Icon className="me-2.5 size-4" />
|
||||||
|
<Trans>Delete</Trans>
|
||||||
|
</DropdownMenuItem>
|
||||||
|
</DropdownMenuContent>
|
||||||
|
</DropdownMenu>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
[handleRowRefresh, handleDeleteDevice, rowActionState]
|
||||||
|
)
|
||||||
|
|
||||||
|
// Filter columns based on whether systemId is provided
|
||||||
|
const tableColumns = useMemo(() => {
|
||||||
|
const baseColumns = systemId ? columns.filter((col) => col.id !== "system") : columns
|
||||||
|
return [...baseColumns, actionColumn]
|
||||||
|
}, [systemId, actionColumn])
|
||||||
|
|
||||||
|
// Convert SmartDeviceRecord to DiskInfo
|
||||||
|
const diskData = useMemo(() => {
|
||||||
|
return smartDevices ? convertSmartDeviceRecordToDiskInfo(smartDevices) : []
|
||||||
|
}, [smartDevices])
|
||||||
|
|
||||||
const table = useReactTable({
|
const table = useReactTable({
|
||||||
data: diskData,
|
data: diskData,
|
||||||
columns: columns,
|
columns: tableColumns,
|
||||||
onSortingChange: setSorting,
|
onSortingChange: setSorting,
|
||||||
onColumnFiltersChange: setColumnFilters,
|
onColumnFiltersChange: setColumnFilters,
|
||||||
getCoreRowModel: getCoreRowModel(),
|
getCoreRowModel: getCoreRowModel(),
|
||||||
@@ -288,10 +486,26 @@ export default function DisksTable({ systemId }: { systemId: string }) {
|
|||||||
sorting,
|
sorting,
|
||||||
columnFilters,
|
columnFilters,
|
||||||
rowSelection,
|
rowSelection,
|
||||||
|
globalFilter,
|
||||||
|
},
|
||||||
|
onGlobalFilterChange: setGlobalFilter,
|
||||||
|
globalFilterFn: (row, _columnId, filterValue) => {
|
||||||
|
const disk = row.original
|
||||||
|
const systemName = $allSystemsById.get()[disk.system]?.name ?? ""
|
||||||
|
const device = disk.device ?? ""
|
||||||
|
const model = disk.model ?? ""
|
||||||
|
const status = disk.status ?? ""
|
||||||
|
const type = disk.deviceType ?? ""
|
||||||
|
const searchString = `${systemName} ${device} ${model} ${status} ${type}`.toLowerCase()
|
||||||
|
return (filterValue as string)
|
||||||
|
.toLowerCase()
|
||||||
|
.split(" ")
|
||||||
|
.every((term) => searchString.includes(term))
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!diskData.length && !columnFilters.length) {
|
// Hide the table on system pages if there's no data, but always show on global page
|
||||||
|
if (systemId && !diskData.length && !columnFilters.length) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,21 +515,31 @@ export default function DisksTable({ systemId }: { systemId: string }) {
|
|||||||
<CardHeader className="p-0 mb-4">
|
<CardHeader className="p-0 mb-4">
|
||||||
<div className="grid md:flex gap-5 w-full items-end">
|
<div className="grid md:flex gap-5 w-full items-end">
|
||||||
<div className="px-2 sm:px-1">
|
<div className="px-2 sm:px-1">
|
||||||
<CardTitle className="mb-2">
|
<CardTitle className="mb-2">S.M.A.R.T.</CardTitle>
|
||||||
S.M.A.R.T.
|
|
||||||
</CardTitle>
|
|
||||||
<CardDescription className="flex">
|
<CardDescription className="flex">
|
||||||
<Trans>Click on a device to view more information.</Trans>
|
<Trans>Click on a device to view more information.</Trans>
|
||||||
</CardDescription>
|
</CardDescription>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="relative ms-auto w-full max-w-full md:w-64">
|
||||||
<Input
|
<Input
|
||||||
placeholder={t`Filter...`}
|
placeholder={t`Filter...`}
|
||||||
value={(table.getColumn("device")?.getFilterValue() as string) ?? ""}
|
value={globalFilter}
|
||||||
onChange={(event) =>
|
onChange={(event) => setGlobalFilter(event.target.value)}
|
||||||
table.getColumn("device")?.setFilterValue(event.target.value)
|
className="px-4 w-full max-w-full md:w-64"
|
||||||
}
|
|
||||||
className="ms-auto px-4 w-full max-w-full md:w-64"
|
|
||||||
/>
|
/>
|
||||||
|
{globalFilter && (
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="ghost"
|
||||||
|
size="icon"
|
||||||
|
aria-label={t`Clear`}
|
||||||
|
className="absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7 text-muted-foreground"
|
||||||
|
onClick={() => setGlobalFilter("")}
|
||||||
|
>
|
||||||
|
<XIcon className="h-4 w-4" />
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<div className="rounded-md border text-nowrap">
|
<div className="rounded-md border text-nowrap">
|
||||||
@@ -326,12 +550,7 @@ export default function DisksTable({ systemId }: { systemId: string }) {
|
|||||||
{headerGroup.headers.map((header) => {
|
{headerGroup.headers.map((header) => {
|
||||||
return (
|
return (
|
||||||
<TableHead key={header.id} className="px-2">
|
<TableHead key={header.id} className="px-2">
|
||||||
{header.isPlaceholder
|
{header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext())}
|
||||||
? null
|
|
||||||
: flexRender(
|
|
||||||
header.column.columnDef.header,
|
|
||||||
header.getContext()
|
|
||||||
)}
|
|
||||||
</TableHead>
|
</TableHead>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
@@ -349,22 +568,19 @@ export default function DisksTable({ systemId }: { systemId: string }) {
|
|||||||
>
|
>
|
||||||
{row.getVisibleCells().map((cell) => (
|
{row.getVisibleCells().map((cell) => (
|
||||||
<TableCell key={cell.id} className="md:ps-5">
|
<TableCell key={cell.id} className="md:ps-5">
|
||||||
{flexRender(
|
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
||||||
cell.column.columnDef.cell,
|
|
||||||
cell.getContext()
|
|
||||||
)}
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
))}
|
))}
|
||||||
</TableRow>
|
</TableRow>
|
||||||
))
|
))
|
||||||
) : (
|
) : (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell
|
<TableCell colSpan={tableColumns.length} className="h-24 text-center">
|
||||||
colSpan={columns.length}
|
{smartDevices ? (
|
||||||
className="h-24 text-center"
|
t`No results.`
|
||||||
>
|
) : (
|
||||||
{smartData ? t`No results.` : <LoaderCircleIcon className="animate-spin size-10 opacity-60 mx-auto" />}
|
<LoaderCircleIcon className="animate-spin size-10 opacity-60 mx-auto" />
|
||||||
|
)}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
)}
|
)}
|
||||||
@@ -372,28 +588,53 @@ export default function DisksTable({ systemId }: { systemId: string }) {
|
|||||||
</Table>
|
</Table>
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
<DiskSheet disk={activeDisk} smartData={smartData?.[activeDisk?.serialNumber ?? ""]} open={sheetOpen} onOpenChange={setSheetOpen} />
|
<DiskSheet diskId={activeDiskId} open={sheetOpen} onOpenChange={setSheetOpen} />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function DiskSheet({ disk, smartData, open, onOpenChange }: { disk: DiskInfo | null; smartData?: SmartData; open: boolean; onOpenChange: (open: boolean) => void }) {
|
function DiskSheet({
|
||||||
if (!disk) return null
|
diskId,
|
||||||
|
open,
|
||||||
|
onOpenChange,
|
||||||
|
}: {
|
||||||
|
diskId: string | null
|
||||||
|
open: boolean
|
||||||
|
onOpenChange: (open: boolean) => void
|
||||||
|
}) {
|
||||||
|
const [disk, setDisk] = useState<SmartDeviceRecord | null>(null)
|
||||||
|
const [isLoading, setIsLoading] = useState(false)
|
||||||
|
|
||||||
const smartAttributes = smartData?.a || []
|
// Fetch full device record (including attributes) when sheet opens
|
||||||
|
useEffect(() => {
|
||||||
|
if (!diskId) {
|
||||||
|
setDisk(null)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// Only fetch when opening, not when closing (keeps data visible during close animation)
|
||||||
|
if (!open) return
|
||||||
|
setIsLoading(true)
|
||||||
|
pb.collection<SmartDeviceRecord>("smart_devices")
|
||||||
|
.getOne(diskId)
|
||||||
|
.then(setDisk)
|
||||||
|
.catch(() => setDisk(null))
|
||||||
|
.finally(() => setIsLoading(false))
|
||||||
|
}, [open, diskId])
|
||||||
|
|
||||||
|
const smartAttributes = disk?.attributes || []
|
||||||
|
|
||||||
// Find all attributes where when failed is not empty
|
// Find all attributes where when failed is not empty
|
||||||
const failedAttributes = smartAttributes.filter(attr => attr.wf && attr.wf.trim() !== '')
|
const failedAttributes = smartAttributes.filter((attr) => attr.wf && attr.wf.trim() !== "")
|
||||||
|
|
||||||
// Filter columns to only show those that have values in at least one row
|
// Filter columns to only show those that have values in at least one row
|
||||||
const visibleColumns = React.useMemo(() => {
|
const visibleColumns = useMemo(() => {
|
||||||
return smartColumns.filter(column => {
|
return smartColumns.filter((column) => {
|
||||||
const accessorKey = (column as any).accessorKey as keyof SmartAttribute
|
const accessorKey = "accessorKey" in column ? (column.accessorKey as keyof SmartAttribute | undefined) : undefined
|
||||||
if (!accessorKey) {
|
if (!accessorKey) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
// Check if any row has a non-empty value for this column
|
// Check if any row has a non-empty value for this column
|
||||||
return smartAttributes.some(attr => {
|
return smartAttributes.some((attr) => {
|
||||||
return attr[accessorKey] !== undefined
|
return attr[accessorKey] !== undefined
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -405,27 +646,60 @@ function DiskSheet({ disk, smartData, open, onOpenChange }: { disk: DiskInfo | n
|
|||||||
getCoreRowModel: getCoreRowModel(),
|
getCoreRowModel: getCoreRowModel(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const unknown = "Unknown"
|
||||||
|
const deviceName = disk?.name || unknown
|
||||||
|
const model = disk?.model || unknown
|
||||||
|
const capacity = disk?.capacity ? formatCapacity(disk.capacity) : unknown
|
||||||
|
const serialNumber = disk?.serial || unknown
|
||||||
|
const firmwareVersion = disk?.firmware || unknown
|
||||||
|
const status = disk?.state || unknown
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Sheet open={open} onOpenChange={onOpenChange}>
|
<Sheet open={open} onOpenChange={onOpenChange}>
|
||||||
<SheetContent className="w-full sm:max-w-220 gap-0">
|
<SheetContent className="w-full sm:max-w-220 gap-0">
|
||||||
<SheetHeader className="mb-0 border-b">
|
<SheetHeader className="mb-0 border-b">
|
||||||
<SheetTitle><Trans>S.M.A.R.T. Details</Trans> - {disk.device}</SheetTitle>
|
<SheetTitle>
|
||||||
|
<Trans>S.M.A.R.T. Details</Trans> - {deviceName}
|
||||||
|
</SheetTitle>
|
||||||
<SheetDescription className="flex flex-wrap items-center gap-x-2 gap-y-1">
|
<SheetDescription className="flex flex-wrap items-center gap-x-2 gap-y-1">
|
||||||
{disk.model} <Separator orientation="vertical" className="h-2.5 bg-muted-foreground opacity-70" />
|
{model}
|
||||||
{disk.serialNumber}
|
<Separator orientation="vertical" className="h-2.5 bg-muted-foreground opacity-70" />
|
||||||
|
{capacity}
|
||||||
|
<Separator orientation="vertical" className="h-2.5 bg-muted-foreground opacity-70" />
|
||||||
|
<Tooltip>
|
||||||
|
<TooltipTrigger asChild>
|
||||||
|
<span>{serialNumber}</span>
|
||||||
|
</TooltipTrigger>
|
||||||
|
<TooltipContent>
|
||||||
|
<Trans>Serial Number</Trans>
|
||||||
|
</TooltipContent>
|
||||||
|
</Tooltip>
|
||||||
|
<Separator orientation="vertical" className="h-2.5 bg-muted-foreground opacity-70" />
|
||||||
|
<Tooltip>
|
||||||
|
<TooltipTrigger asChild>
|
||||||
|
<span>{firmwareVersion}</span>
|
||||||
|
</TooltipTrigger>
|
||||||
|
<TooltipContent>
|
||||||
|
<Trans>Firmware</Trans>
|
||||||
|
</TooltipContent>
|
||||||
|
</Tooltip>
|
||||||
</SheetDescription>
|
</SheetDescription>
|
||||||
</SheetHeader>
|
</SheetHeader>
|
||||||
<div className="flex-1 overflow-auto p-4 flex flex-col gap-4">
|
<div className="flex-1 overflow-auto p-4 flex flex-col gap-4">
|
||||||
<Alert className="pb-3">
|
{isLoading ? (
|
||||||
{smartData?.s === "PASSED" ? (
|
<div className="flex justify-center py-8">
|
||||||
<CheckCircle2Icon className="size-4" />
|
<LoaderCircleIcon className="animate-spin size-10 opacity-60" />
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<XCircleIcon className="size-4" />
|
<>
|
||||||
)}
|
<Alert className="pb-3">
|
||||||
<AlertTitle><Trans>S.M.A.R.T. Self-Test</Trans>: {smartData?.s}</AlertTitle>
|
{status === "PASSED" ? <CheckCircle2Icon className="size-4" /> : <XCircleIcon className="size-4" />}
|
||||||
|
<AlertTitle>
|
||||||
|
<Trans>S.M.A.R.T. Self-Test</Trans>: {status}
|
||||||
|
</AlertTitle>
|
||||||
{failedAttributes.length > 0 && (
|
{failedAttributes.length > 0 && (
|
||||||
<AlertDescription>
|
<AlertDescription>
|
||||||
<Trans>Failed Attributes:</Trans> {failedAttributes.map(attr => attr.n).join(", ")}
|
<Trans>Failed Attributes:</Trans> {failedAttributes.map((attr) => attr.n).join(", ")}
|
||||||
</AlertDescription>
|
</AlertDescription>
|
||||||
)}
|
)}
|
||||||
</Alert>
|
</Alert>
|
||||||
@@ -439,10 +713,7 @@ function DiskSheet({ disk, smartData, open, onOpenChange }: { disk: DiskInfo | n
|
|||||||
<TableHead key={header.id}>
|
<TableHead key={header.id}>
|
||||||
{header.isPlaceholder
|
{header.isPlaceholder
|
||||||
? null
|
? null
|
||||||
: flexRender(
|
: flexRender(header.column.columnDef.header, header.getContext())}
|
||||||
header.column.columnDef.header,
|
|
||||||
header.getContext()
|
|
||||||
)}
|
|
||||||
</TableHead>
|
</TableHead>
|
||||||
))}
|
))}
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@@ -451,23 +722,17 @@ function DiskSheet({ disk, smartData, open, onOpenChange }: { disk: DiskInfo | n
|
|||||||
<TableBody>
|
<TableBody>
|
||||||
{table.getRowModel().rows.map((row) => {
|
{table.getRowModel().rows.map((row) => {
|
||||||
// Check if the attribute is failed
|
// Check if the attribute is failed
|
||||||
const isFailedAttribute = row.original.wf && row.original.wf.trim() !== '';
|
const isFailedAttribute = row.original.wf && row.original.wf.trim() !== ""
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TableRow
|
<TableRow key={row.id} className={isFailedAttribute ? "text-red-600 dark:text-red-400" : ""}>
|
||||||
key={row.id}
|
|
||||||
className={isFailedAttribute ? "text-red-600 dark:text-red-400" : ""}
|
|
||||||
>
|
|
||||||
{row.getVisibleCells().map((cell) => (
|
{row.getVisibleCells().map((cell) => (
|
||||||
<TableCell key={cell.id}>
|
<TableCell key={cell.id}>
|
||||||
{flexRender(
|
{flexRender(cell.column.columnDef.cell, cell.getContext())}
|
||||||
cell.column.columnDef.cell,
|
|
||||||
cell.getContext()
|
|
||||||
)}
|
|
||||||
</TableCell>
|
</TableCell>
|
||||||
))}
|
))}
|
||||||
</TableRow>
|
</TableRow>
|
||||||
);
|
)
|
||||||
})}
|
})}
|
||||||
</TableBody>
|
</TableBody>
|
||||||
</Table>
|
</Table>
|
||||||
@@ -477,6 +742,8 @@ function DiskSheet({ disk, smartData, open, onOpenChange }: { disk: DiskInfo | n
|
|||||||
<Trans>No S.M.A.R.T. attributes available for this device.</Trans>
|
<Trans>No S.M.A.R.T. attributes available for this device.</Trans>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</SheetContent>
|
</SheetContent>
|
||||||
</Sheet>
|
</Sheet>
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ function SystemdSheet({
|
|||||||
setDetails(details)
|
setDetails(details)
|
||||||
} else {
|
} else {
|
||||||
setDetails(null)
|
setDetails(null)
|
||||||
setError(t`No systemd details returned`)
|
setError(t`No results found.`)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
@@ -362,12 +362,12 @@ function SystemdSheet({
|
|||||||
{hasCurrent ? current : notAvailable}
|
{hasCurrent ? current : notAvailable}
|
||||||
{hasMax && (
|
{hasMax && (
|
||||||
<span className="text-muted-foreground ms-1.5">
|
<span className="text-muted-foreground ms-1.5">
|
||||||
{t`(limit: ${max})`}
|
{`(${t`limit`}: ${max})`}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
{max === null && (
|
{max === null && (
|
||||||
<span className="text-muted-foreground ms-1.5">
|
<span className="text-muted-foreground ms-1.5">
|
||||||
{t`(limit: unlimited)`}
|
{`(${t`limit`}: ${t`Unlimited`.toLowerCase()})`}
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
</>
|
</>
|
||||||
@@ -436,6 +436,8 @@ function SystemdSheet({
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const capitalize = (str: string) => `${str.charAt(0).toUpperCase()}${str.slice(1).toLowerCase()}`
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Sheet open={sheetOpen} onOpenChange={setSheetOpen}>
|
<Sheet open={sheetOpen} onOpenChange={setSheetOpen}>
|
||||||
<SheetContent className="w-full sm:max-w-220 p-6 overflow-y-auto">
|
<SheetContent className="w-full sm:max-w-220 p-6 overflow-y-auto">
|
||||||
@@ -466,10 +468,10 @@ function SystemdSheet({
|
|||||||
<tbody>
|
<tbody>
|
||||||
{renderRow("name", t`Name`, service.name, true)}
|
{renderRow("name", t`Name`, service.name, true)}
|
||||||
{renderRow("description", t`Description`, details?.Description, true)}
|
{renderRow("description", t`Description`, details?.Description, true)}
|
||||||
{renderRow("loadState", t`Load State`, details?.LoadState, true)}
|
{renderRow("loadState", t`Load state`, details?.LoadState, true)}
|
||||||
{renderRow(
|
{renderRow(
|
||||||
"bootState",
|
"bootState",
|
||||||
t`Boot State`,
|
t`Boot state`,
|
||||||
<div className="flex items-center">
|
<div className="flex items-center">
|
||||||
{details?.UnitFileState}
|
{details?.UnitFileState}
|
||||||
{details?.UnitFilePreset && (
|
{details?.UnitFilePreset && (
|
||||||
@@ -478,8 +480,8 @@ function SystemdSheet({
|
|||||||
</div>,
|
</div>,
|
||||||
true
|
true
|
||||||
)}
|
)}
|
||||||
{renderRow("unitFile", t`Unit File`, details?.FragmentPath, true)}
|
{renderRow("unitFile", t`Unit file`, details?.FragmentPath, true)}
|
||||||
{renderRow("active", t`Active State`, activeStateValue, true)}
|
{renderRow("active", t`Active state`, activeStateValue, true)}
|
||||||
{renderRow("status", t`Status`, statusTextValue, true)}
|
{renderRow("status", t`Status`, statusTextValue, true)}
|
||||||
{renderRow(
|
{renderRow(
|
||||||
"documentation",
|
"documentation",
|
||||||
@@ -501,12 +503,12 @@ function SystemdSheet({
|
|||||||
<table className="w-full text-sm">
|
<table className="w-full text-sm">
|
||||||
<tbody>
|
<tbody>
|
||||||
{renderRow("mainPid", t`Main PID`, mainPidValue, true)}
|
{renderRow("mainPid", t`Main PID`, mainPidValue, true)}
|
||||||
{renderRow("execMainPid", t`Exec Main PID`, execMainPidValue)}
|
{renderRow("execMainPid", t`Exec main PID`, execMainPidValue)}
|
||||||
{renderRow("tasks", t`Tasks`, tasks, true)}
|
{renderRow("tasks", t`Tasks`, tasks, true)}
|
||||||
{renderRow("cpuTime", t`CPU Time`, cpuTime)}
|
{renderRow("cpuTime", t`CPU time`, cpuTime)}
|
||||||
{renderRow("memory", t`Memory`, memoryCurrent, true)}
|
{renderRow("memory", t`Memory`, memoryCurrent, true)}
|
||||||
{renderRow("memoryPeak", t`Memory Peak`, memoryPeak)}
|
{renderRow("memoryPeak", capitalize(t`Memory Peak`), memoryPeak)}
|
||||||
{renderRow("memoryLimit", t`Memory Limit`, memoryLimit)}
|
{renderRow("memoryLimit", t`Memory limit`, memoryLimit)}
|
||||||
{renderRow("restarts", t`Restarts`, restartsValue, true)}
|
{renderRow("restarts", t`Restarts`, restartsValue, true)}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -534,7 +536,7 @@ function SystemdSheet({
|
|||||||
)}
|
)}
|
||||||
{renderRow(
|
{renderRow(
|
||||||
"requiredBy",
|
"requiredBy",
|
||||||
t`Required By`,
|
t`Required by`,
|
||||||
Array.isArray(details?.RequiredBy) && details.RequiredBy.length > 0
|
Array.isArray(details?.RequiredBy) && details.RequiredBy.length > 0
|
||||||
? details.RequiredBy.join(", ")
|
? details.RequiredBy.join(", ")
|
||||||
: undefined
|
: undefined
|
||||||
@@ -565,7 +567,7 @@ function SystemdSheet({
|
|||||||
)}
|
)}
|
||||||
{renderRow(
|
{renderRow(
|
||||||
"triggeredBy",
|
"triggeredBy",
|
||||||
t`Triggered By`,
|
t`Triggered by`,
|
||||||
Array.isArray(details?.TriggeredBy) && details.TriggeredBy.length > 0
|
Array.isArray(details?.TriggeredBy) && details.TriggeredBy.length > 0
|
||||||
? details.TriggeredBy.join(", ")
|
? details.TriggeredBy.join(", ")
|
||||||
: undefined
|
: undefined
|
||||||
@@ -582,11 +584,11 @@ function SystemdSheet({
|
|||||||
<div className="border rounded-md">
|
<div className="border rounded-md">
|
||||||
<table className="w-full text-sm">
|
<table className="w-full text-sm">
|
||||||
<tbody>
|
<tbody>
|
||||||
{renderRow("activeSince", t`Became Active`, activeEnterTimestamp)}
|
{renderRow("activeSince", t`Became active`, activeEnterTimestamp)}
|
||||||
{service.state !== ServiceStatus.Active &&
|
{service.state !== ServiceStatus.Active &&
|
||||||
renderRow("lastActive", t`Exited Active`, activeExitTimestamp)}
|
renderRow("lastActive", t`Exited active`, activeExitTimestamp)}
|
||||||
{renderRow("inactiveSince", t`Became Inactive`, inactiveEnterTimestamp)}
|
{renderRow("inactiveSince", t`Became inactive`, inactiveEnterTimestamp)}
|
||||||
{renderRow("execMainStart", t`Process Started`, execMainStartTimestamp)}
|
{renderRow("execMainStart", t`Process started`, execMainStartTimestamp)}
|
||||||
{/* {renderRow("invocationId", t`Invocation ID`, details?.InvocationID)} */}
|
{/* {renderRow("invocationId", t`Invocation ID`, details?.InvocationID)} */}
|
||||||
{/* {renderRow("freezerState", t`Freezer State`, details?.FreezerState)} */}
|
{/* {renderRow("freezerState", t`Freezer State`, details?.FreezerState)} */}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -601,9 +603,9 @@ function SystemdSheet({
|
|||||||
<div className="border rounded-md">
|
<div className="border rounded-md">
|
||||||
<table className="w-full text-sm">
|
<table className="w-full text-sm">
|
||||||
<tbody>
|
<tbody>
|
||||||
{renderRow("canStart", t`Can Start`, details?.CanStart ? t`Yes` : t`No`)}
|
{renderRow("canStart", t`Can start`, details?.CanStart ? t`Yes` : t`No`)}
|
||||||
{renderRow("canStop", t`Can Stop`, details?.CanStop ? t`Yes` : t`No`)}
|
{renderRow("canStop", t`Can stop`, details?.CanStop ? t`Yes` : t`No`)}
|
||||||
{renderRow("canReload", t`Can Reload`, details?.CanReload ? t`Yes` : t`No`)}
|
{renderRow("canReload", t`Can reload`, details?.CanReload ? t`Yes` : t`No`)}
|
||||||
{/* {renderRow("refuseManualStart", t`Refuse Manual Start`, details?.RefuseManualStart ? t`Yes` : t`No`)}
|
{/* {renderRow("refuseManualStart", t`Refuse Manual Start`, details?.RefuseManualStart ? t`Yes` : t`No`)}
|
||||||
{renderRow("refuseManualStop", t`Refuse Manual Stop`, details?.RefuseManualStop ? t`Yes` : t`No`)} */}
|
{renderRow("refuseManualStop", t`Refuse Manual Stop`, details?.RefuseManualStop ? t`Yes` : t`No`)} */}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/** biome-ignore-all lint/correctness/useHookAtTopLevel: Hooks live inside memoized column definitions */
|
||||||
import { t } from "@lingui/core/macro"
|
import { t } from "@lingui/core/macro"
|
||||||
import { Trans, useLingui } from "@lingui/react/macro"
|
import { Trans, useLingui } from "@lingui/react/macro"
|
||||||
import { useStore } from "@nanostores/react"
|
import { useStore } from "@nanostores/react"
|
||||||
@@ -16,12 +17,14 @@ import {
|
|||||||
PenBoxIcon,
|
PenBoxIcon,
|
||||||
PlayCircleIcon,
|
PlayCircleIcon,
|
||||||
ServerIcon,
|
ServerIcon,
|
||||||
|
TerminalSquareIcon,
|
||||||
Trash2Icon,
|
Trash2Icon,
|
||||||
WifiIcon,
|
WifiIcon,
|
||||||
} from "lucide-react"
|
} from "lucide-react"
|
||||||
import { memo, useMemo, useRef, useState } from "react"
|
import { memo, useMemo, useRef, useState } from "react"
|
||||||
|
import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/tooltip"
|
||||||
import { isReadOnlyUser, pb } from "@/lib/api"
|
import { isReadOnlyUser, pb } from "@/lib/api"
|
||||||
import { ConnectionType, connectionTypeLabels, MeterState, SystemStatus } from "@/lib/enums"
|
import { BatteryState, ConnectionType, connectionTypeLabels, MeterState, SystemStatus } from "@/lib/enums"
|
||||||
import { $longestSystemNameLen, $userSettings } from "@/lib/stores"
|
import { $longestSystemNameLen, $userSettings } from "@/lib/stores"
|
||||||
import {
|
import {
|
||||||
cn,
|
cn,
|
||||||
@@ -32,6 +35,7 @@ import {
|
|||||||
getMeterState,
|
getMeterState,
|
||||||
parseSemVer,
|
parseSemVer,
|
||||||
} from "@/lib/utils"
|
} from "@/lib/utils"
|
||||||
|
import { batteryStateTranslations } from "@/lib/i18n"
|
||||||
import type { SystemRecord } from "@/types"
|
import type { SystemRecord } from "@/types"
|
||||||
import { SystemDialog } from "../add-system"
|
import { SystemDialog } from "../add-system"
|
||||||
import AlertButton from "../alerts/alert-button"
|
import AlertButton from "../alerts/alert-button"
|
||||||
@@ -55,7 +59,18 @@ import {
|
|||||||
DropdownMenuSeparator,
|
DropdownMenuSeparator,
|
||||||
DropdownMenuTrigger,
|
DropdownMenuTrigger,
|
||||||
} from "../ui/dropdown-menu"
|
} from "../ui/dropdown-menu"
|
||||||
import { EthernetIcon, GpuIcon, HourglassIcon, ThermometerIcon, WebSocketIcon } from "../ui/icons"
|
import {
|
||||||
|
BatteryMediumIcon,
|
||||||
|
EthernetIcon,
|
||||||
|
GpuIcon,
|
||||||
|
HourglassIcon,
|
||||||
|
ThermometerIcon,
|
||||||
|
WebSocketIcon,
|
||||||
|
BatteryHighIcon,
|
||||||
|
BatteryLowIcon,
|
||||||
|
PlugChargingIcon,
|
||||||
|
BatteryFullIcon,
|
||||||
|
} from "../ui/icons"
|
||||||
|
|
||||||
const STATUS_COLORS = {
|
const STATUS_COLORS = {
|
||||||
[SystemStatus.Up]: "bg-green-500",
|
[SystemStatus.Up]: "bg-green-500",
|
||||||
@@ -68,7 +83,7 @@ const STATUS_COLORS = {
|
|||||||
* @param viewMode - "table" or "grid"
|
* @param viewMode - "table" or "grid"
|
||||||
* @returns - Column definitions for the systems table
|
* @returns - Column definitions for the systems table
|
||||||
*/
|
*/
|
||||||
export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnDef<SystemRecord>[] {
|
export function SystemsTableColumns(viewMode: "table" | "grid"): ColumnDef<SystemRecord>[] {
|
||||||
return [
|
return [
|
||||||
{
|
{
|
||||||
// size: 200,
|
// size: 200,
|
||||||
@@ -133,7 +148,7 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
header: sortableHeader,
|
header: sortableHeader,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorFn: ({ info }) => info.cpu,
|
accessorFn: ({ info }) => info.cpu || undefined,
|
||||||
id: "cpu",
|
id: "cpu",
|
||||||
name: () => t`CPU`,
|
name: () => t`CPU`,
|
||||||
cell: TableCellWithMeter,
|
cell: TableCellWithMeter,
|
||||||
@@ -142,7 +157,7 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
// accessorKey: "info.mp",
|
// accessorKey: "info.mp",
|
||||||
accessorFn: ({ info }) => info.mp,
|
accessorFn: ({ info }) => info.mp || undefined,
|
||||||
id: "memory",
|
id: "memory",
|
||||||
name: () => t`Memory`,
|
name: () => t`Memory`,
|
||||||
cell: TableCellWithMeter,
|
cell: TableCellWithMeter,
|
||||||
@@ -150,15 +165,15 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
header: sortableHeader,
|
header: sortableHeader,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorFn: ({ info }) => info.dp,
|
accessorFn: ({ info }) => info.dp || undefined,
|
||||||
id: "disk",
|
id: "disk",
|
||||||
name: () => t`Disk`,
|
name: () => t`Disk`,
|
||||||
cell: TableCellWithMeter,
|
cell: DiskCellWithMultiple,
|
||||||
Icon: HardDriveIcon,
|
Icon: HardDriveIcon,
|
||||||
header: sortableHeader,
|
header: sortableHeader,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorFn: ({ info }) => info.g,
|
accessorFn: ({ info }) => info.g || undefined,
|
||||||
id: "gpu",
|
id: "gpu",
|
||||||
name: () => "GPU",
|
name: () => "GPU",
|
||||||
cell: TableCellWithMeter,
|
cell: TableCellWithMeter,
|
||||||
@@ -171,9 +186,9 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
const sum = info.la?.reduce((acc, curr) => acc + curr, 0)
|
const sum = info.la?.reduce((acc, curr) => acc + curr, 0)
|
||||||
// TODO: remove this in future release in favor of la array
|
// TODO: remove this in future release in favor of la array
|
||||||
if (!sum) {
|
if (!sum) {
|
||||||
return (info.l1 ?? 0) + (info.l5 ?? 0) + (info.l15 ?? 0)
|
return (info.l1 ?? 0) + (info.l5 ?? 0) + (info.l15 ?? 0) || undefined
|
||||||
}
|
}
|
||||||
return sum
|
return sum || undefined
|
||||||
},
|
},
|
||||||
name: () => t({ message: "Load Avg", comment: "Short label for load average" }),
|
name: () => t({ message: "Load Avg", comment: "Short label for load average" }),
|
||||||
size: 0,
|
size: 0,
|
||||||
@@ -216,7 +231,7 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorFn: ({ info }) => info.bb || (info.b || 0) * 1024 * 1024,
|
accessorFn: ({ info }) => info.bb || (info.b || 0) * 1024 * 1024 || undefined,
|
||||||
id: "net",
|
id: "net",
|
||||||
name: () => t`Net`,
|
name: () => t`Net`,
|
||||||
size: 0,
|
size: 0,
|
||||||
@@ -228,7 +243,7 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
if (sys.status === SystemStatus.Paused) {
|
if (sys.status === SystemStatus.Paused) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
const { value, unit } = formatBytes(info.getValue() as number, true, userSettings.unitNet, false)
|
const { value, unit } = formatBytes((info.getValue() || 0) as number, true, userSettings.unitNet, false)
|
||||||
return (
|
return (
|
||||||
<span className="tabular-nums whitespace-nowrap">
|
<span className="tabular-nums whitespace-nowrap">
|
||||||
{decimalString(value, value >= 100 ? 1 : 2)} {unit}
|
{decimalString(value, value >= 100 ? 1 : 2)} {unit}
|
||||||
@@ -258,11 +273,95 @@ export default function SystemsTableColumns(viewMode: "table" | "grid"): ColumnD
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
accessorFn: ({ info }) => info.bat?.[0],
|
||||||
|
id: "battery",
|
||||||
|
name: () => t({ message: "Bat", comment: "Battery label in systems table header" }),
|
||||||
|
size: 70,
|
||||||
|
Icon: BatteryMediumIcon,
|
||||||
|
header: sortableHeader,
|
||||||
|
hideSort: true,
|
||||||
|
cell(info) {
|
||||||
|
const [pct, state] = info.row.original.info.bat ?? []
|
||||||
|
if (pct === undefined) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
const iconColor = pct < 10 ? "text-red-500" : pct < 25 ? "text-yellow-500" : "text-muted-foreground"
|
||||||
|
|
||||||
|
let Icon = PlugChargingIcon
|
||||||
|
|
||||||
|
if (state !== BatteryState.Charging) {
|
||||||
|
if (pct < 25) {
|
||||||
|
Icon = BatteryLowIcon
|
||||||
|
} else if (pct < 75) {
|
||||||
|
Icon = BatteryMediumIcon
|
||||||
|
} else if (pct < 95) {
|
||||||
|
Icon = BatteryHighIcon
|
||||||
|
} else {
|
||||||
|
Icon = BatteryFullIcon
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const stateLabel =
|
||||||
|
state !== undefined ? (batteryStateTranslations[state as BatteryState]?.() ?? undefined) : undefined
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Link
|
||||||
|
tabIndex={-1}
|
||||||
|
href={getPagePath($router, "system", { id: info.row.original.id })}
|
||||||
|
className="flex items-center gap-1 tabular-nums tracking-tight relative z-10"
|
||||||
|
title={stateLabel}
|
||||||
|
>
|
||||||
|
<Icon className={cn("size-3.5", iconColor)} />
|
||||||
|
<span className="min-w-10">{pct}%</span>
|
||||||
|
</Link>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
accessorFn: ({ info }) => info.sv?.[0],
|
||||||
|
id: "services",
|
||||||
|
name: () => t`Services`,
|
||||||
|
size: 50,
|
||||||
|
Icon: TerminalSquareIcon,
|
||||||
|
header: sortableHeader,
|
||||||
|
hideSort: true,
|
||||||
|
sortingFn: (a, b) => {
|
||||||
|
// sort priorities: 1) failed services, 2) total services
|
||||||
|
const [totalCountA, numFailedA] = a.original.info.sv ?? [0, 0]
|
||||||
|
const [totalCountB, numFailedB] = b.original.info.sv ?? [0, 0]
|
||||||
|
if (numFailedA !== numFailedB) {
|
||||||
|
return numFailedA - numFailedB
|
||||||
|
}
|
||||||
|
return totalCountA - totalCountB
|
||||||
|
},
|
||||||
|
cell(info) {
|
||||||
|
const sys = info.row.original
|
||||||
|
const [totalCount, numFailed] = sys.info.sv ?? [0, 0]
|
||||||
|
if (sys.status !== SystemStatus.Up || totalCount === 0) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<span className="tabular-nums whitespace-nowrap flex gap-1.5 items-center">
|
||||||
|
<span
|
||||||
|
className={cn("block size-2 rounded-full", {
|
||||||
|
[STATUS_COLORS[SystemStatus.Down]]: numFailed > 0,
|
||||||
|
[STATUS_COLORS[SystemStatus.Up]]: numFailed === 0,
|
||||||
|
})}
|
||||||
|
/>
|
||||||
|
{totalCount}{" "}
|
||||||
|
<span className="text-muted-foreground text-sm -ms-0.5">
|
||||||
|
({t`Failed`.toLowerCase()}: {numFailed})
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
accessorFn: ({ info }) => info.v,
|
accessorFn: ({ info }) => info.v,
|
||||||
id: "agent",
|
id: "agent",
|
||||||
name: () => t`Agent`,
|
name: () => t`Agent`,
|
||||||
// invertSorting: true,
|
|
||||||
size: 50,
|
size: 50,
|
||||||
Icon: WifiIcon,
|
Icon: WifiIcon,
|
||||||
hideSort: true,
|
hideSort: true,
|
||||||
@@ -354,6 +453,101 @@ function TableCellWithMeter(info: CellContext<SystemRecord, unknown>) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function DiskCellWithMultiple(info: CellContext<SystemRecord, unknown>) {
|
||||||
|
const { info: sysInfo, status, id } = info.row.original
|
||||||
|
const extraFs = Object.entries(sysInfo.efs ?? {})
|
||||||
|
|
||||||
|
if (extraFs.length === 0) {
|
||||||
|
return TableCellWithMeter(info)
|
||||||
|
}
|
||||||
|
|
||||||
|
const rootDiskPct = sysInfo.dp
|
||||||
|
|
||||||
|
// sort extra disks by percentage descending
|
||||||
|
extraFs.sort((a, b) => b[1] - a[1])
|
||||||
|
|
||||||
|
function getIndicatorColor(pct: number) {
|
||||||
|
const threshold = getMeterState(pct)
|
||||||
|
return (
|
||||||
|
(status !== SystemStatus.Up && STATUS_COLORS.paused) ||
|
||||||
|
(threshold === MeterState.Good && STATUS_COLORS.up) ||
|
||||||
|
(threshold === MeterState.Warn && STATUS_COLORS.pending) ||
|
||||||
|
STATUS_COLORS.down
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getMeterClass(pct: number) {
|
||||||
|
return cn("h-full", getIndicatorColor(pct))
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extra disk indicators (max 3 dots - one per state if any disk exists in range)
|
||||||
|
const stateColors = [STATUS_COLORS.up, STATUS_COLORS.pending, STATUS_COLORS.down]
|
||||||
|
const extraDiskIndicators =
|
||||||
|
status !== SystemStatus.Up
|
||||||
|
? []
|
||||||
|
: [...new Set(extraFs.map(([, pct]) => getMeterState(pct)))].sort().map((state) => stateColors[state])
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Tooltip>
|
||||||
|
<TooltipTrigger asChild>
|
||||||
|
<Link
|
||||||
|
href={getPagePath($router, "system", { id })}
|
||||||
|
tabIndex={-1}
|
||||||
|
className="flex flex-col gap-0.5 w-full relative z-10"
|
||||||
|
>
|
||||||
|
<div className="flex gap-2 items-center tabular-nums tracking-tight">
|
||||||
|
<span className="min-w-8 shrink-0">{decimalString(rootDiskPct, rootDiskPct >= 10 ? 1 : 2)}%</span>
|
||||||
|
<span className="flex-1 min-w-8 flex items-center gap-0.5 px-1 justify-end bg-muted h-[1em] rounded-sm overflow-hidden relative">
|
||||||
|
{/* Root disk */}
|
||||||
|
<span
|
||||||
|
className={cn("absolute inset-0", getMeterClass(rootDiskPct))}
|
||||||
|
style={{ width: `${rootDiskPct}%` }}
|
||||||
|
></span>
|
||||||
|
{/* Extra disk indicators */}
|
||||||
|
{extraDiskIndicators.map((color) => (
|
||||||
|
<span
|
||||||
|
key={color}
|
||||||
|
className={cn("size-1.5 rounded-full shrink-0 outline-[0.5px] outline-muted", color)}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</Link>
|
||||||
|
</TooltipTrigger>
|
||||||
|
<TooltipContent side="right" className="max-w-xs pb-2">
|
||||||
|
<div className="grid gap-1">
|
||||||
|
<div className="grid gap-0.5">
|
||||||
|
<div className="text-[0.65rem] text-muted-foreground uppercase tracking-wide tabular-nums">
|
||||||
|
<Trans context="Root disk label">Root</Trans>
|
||||||
|
</div>
|
||||||
|
<div className="flex gap-2 items-center tabular-nums text-xs">
|
||||||
|
<span className="min-w-7">{decimalString(rootDiskPct, rootDiskPct >= 10 ? 1 : 2)}%</span>
|
||||||
|
<span className="flex-1 min-w-12 grid bg-muted h-2.5 rounded-sm overflow-hidden">
|
||||||
|
<span className={getMeterClass(rootDiskPct)} style={{ width: `${rootDiskPct}%` }}></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{extraFs.map(([name, pct]) => {
|
||||||
|
return (
|
||||||
|
<div key={name} className="grid gap-0.5">
|
||||||
|
<div className="text-[0.65rem] max-w-40 text-muted-foreground uppercase tracking-wide truncate">
|
||||||
|
{name}
|
||||||
|
</div>
|
||||||
|
<div className="flex gap-2 items-center tabular-nums text-xs">
|
||||||
|
<span className="min-w-7">{decimalString(pct, pct >= 10 ? 1 : 2)}%</span>
|
||||||
|
<span className="flex-1 min-w-12 grid bg-muted h-2.5 rounded-sm overflow-hidden">
|
||||||
|
<span className={getMeterClass(pct)} style={{ width: `${pct}%` }}></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</TooltipContent>
|
||||||
|
</Tooltip>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
export function IndicatorDot({ system, className }: { system: SystemRecord; className?: ClassValue }) {
|
export function IndicatorDot({ system, className }: { system: SystemRecord; className?: ClassValue }) {
|
||||||
className ||= STATUS_COLORS[system.status as keyof typeof STATUS_COLORS] || ""
|
className ||= STATUS_COLORS[system.status as keyof typeof STATUS_COLORS] || ""
|
||||||
return (
|
return (
|
||||||
@@ -463,5 +657,5 @@ export const ActionsButton = memo(({ system }: { system: SystemRecord }) => {
|
|||||||
</AlertDialog>
|
</AlertDialog>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}, [id, status, host, name, t, deleteOpen, editOpen])
|
}, [id, status, host, name, system, t, deleteOpen, editOpen])
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import {
|
|||||||
LayoutGridIcon,
|
LayoutGridIcon,
|
||||||
LayoutListIcon,
|
LayoutListIcon,
|
||||||
Settings2Icon,
|
Settings2Icon,
|
||||||
|
XIcon,
|
||||||
} from "lucide-react"
|
} from "lucide-react"
|
||||||
import { memo, useEffect, useMemo, useRef, useState } from "react"
|
import { memo, useEffect, useMemo, useRef, useState } from "react"
|
||||||
import { Button } from "@/components/ui/button"
|
import { Button } from "@/components/ui/button"
|
||||||
@@ -47,7 +48,7 @@ import type { SystemRecord } from "@/types"
|
|||||||
import AlertButton from "../alerts/alert-button"
|
import AlertButton from "../alerts/alert-button"
|
||||||
import { $router, Link } from "../router"
|
import { $router, Link } from "../router"
|
||||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../ui/card"
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../ui/card"
|
||||||
import SystemsTableColumns, { ActionsButton, IndicatorDot } from "./systems-table-columns"
|
import { SystemsTableColumns, ActionsButton, IndicatorDot } from "./systems-table-columns"
|
||||||
|
|
||||||
type ViewMode = "table" | "grid"
|
type ViewMode = "table" | "grid"
|
||||||
type StatusFilter = "all" | SystemRecord["status"]
|
type StatusFilter = "all" | SystemRecord["status"]
|
||||||
@@ -60,7 +61,7 @@ export default function SystemsTable() {
|
|||||||
const upSystems = $upSystems.get()
|
const upSystems = $upSystems.get()
|
||||||
const pausedSystems = $pausedSystems.get()
|
const pausedSystems = $pausedSystems.get()
|
||||||
const { i18n, t } = useLingui()
|
const { i18n, t } = useLingui()
|
||||||
const [filter, setFilter] = useState<string>()
|
const [filter, setFilter] = useState<string>("")
|
||||||
const [statusFilter, setStatusFilter] = useState<StatusFilter>("all")
|
const [statusFilter, setStatusFilter] = useState<StatusFilter>("all")
|
||||||
const [sorting, setSorting] = useBrowserStorage<SortingState>(
|
const [sorting, setSorting] = useBrowserStorage<SortingState>(
|
||||||
"sortMode",
|
"sortMode",
|
||||||
@@ -145,7 +146,26 @@ export default function SystemsTable() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="flex gap-2 ms-auto w-full md:w-80">
|
<div className="flex gap-2 ms-auto w-full md:w-80">
|
||||||
<Input placeholder={t`Filter...`} onChange={(e) => setFilter(e.target.value)} className="px-4" />
|
<div className="relative flex-1">
|
||||||
|
<Input
|
||||||
|
placeholder={t`Filter...`}
|
||||||
|
onChange={(e) => setFilter(e.target.value)}
|
||||||
|
value={filter}
|
||||||
|
className="ps-4 pe-10 w-full"
|
||||||
|
/>
|
||||||
|
{filter && (
|
||||||
|
<Button
|
||||||
|
type="button"
|
||||||
|
variant="ghost"
|
||||||
|
size="icon"
|
||||||
|
aria-label={t`Clear`}
|
||||||
|
className="absolute right-1 top-1/2 -translate-y-1/2 h-7 w-7 text-muted-foreground"
|
||||||
|
onClick={() => setFilter("")}
|
||||||
|
>
|
||||||
|
<XIcon className="h-4 w-4" />
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
<DropdownMenuTrigger asChild>
|
<DropdownMenuTrigger asChild>
|
||||||
<Button variant="outline">
|
<Button variant="outline">
|
||||||
@@ -278,6 +298,7 @@ export default function SystemsTable() {
|
|||||||
upSystemsLength,
|
upSystemsLength,
|
||||||
downSystemsLength,
|
downSystemsLength,
|
||||||
pausedSystemsLength,
|
pausedSystemsLength,
|
||||||
|
filter,
|
||||||
])
|
])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import * as RechartsPrimitive from "recharts"
|
|||||||
import { chartTimeData, cn } from "@/lib/utils"
|
import { chartTimeData, cn } from "@/lib/utils"
|
||||||
import type { ChartData } from "@/types"
|
import type { ChartData } from "@/types"
|
||||||
import { Separator } from "./separator"
|
import { Separator } from "./separator"
|
||||||
|
import { AxisDomain } from "recharts/types/util/types"
|
||||||
|
|
||||||
// Format: { THEME_NAME: CSS_SELECTOR }
|
// Format: { THEME_NAME: CSS_SELECTOR }
|
||||||
const THEMES = { light: "", dark: ".dark" } as const
|
const THEMES = { light: "", dark: ".dark" } as const
|
||||||
@@ -454,3 +455,15 @@ export {
|
|||||||
xAxis,
|
xAxis,
|
||||||
// ChartStyle,
|
// ChartStyle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function pinnedAxisDomain(): AxisDomain {
|
||||||
|
return [0, (dataMax: number) => {
|
||||||
|
if (dataMax > 10) {
|
||||||
|
return Math.round(dataMax)
|
||||||
|
}
|
||||||
|
if (dataMax > 1) {
|
||||||
|
return Math.round(dataMax / 0.1) * 0.1
|
||||||
|
}
|
||||||
|
return dataMax
|
||||||
|
}]
|
||||||
|
}
|
||||||
@@ -131,6 +131,7 @@ export function HourglassIcon(props: SVGProps<SVGSVGElement>) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apache 2.0 https://github.com/Templarian/MaterialDesign/blob/master/LICENSE
|
||||||
export function WebSocketIcon(props: SVGProps<SVGSVGElement>) {
|
export function WebSocketIcon(props: SVGProps<SVGSVGElement>) {
|
||||||
return (
|
return (
|
||||||
<svg viewBox="0 0 256 193" {...props} fill="currentColor">
|
<svg viewBox="0 0 256 193" {...props} fill="currentColor">
|
||||||
@@ -139,3 +140,48 @@ export function WebSocketIcon(props: SVGProps<SVGSVGElement>) {
|
|||||||
</svg>
|
</svg>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apache 2.0 https://github.com/Templarian/MaterialDesign/blob/master/LICENSE
|
||||||
|
export function BatteryMediumIcon(props: SVGProps<SVGSVGElement>) {
|
||||||
|
return (
|
||||||
|
<svg viewBox="0 0 24 24" {...props} fill="currentColor">
|
||||||
|
<path d="M16 13H8V6h8m.67-2H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apache 2.0 https://github.com/Templarian/MaterialDesign/blob/master/LICENSE
|
||||||
|
export function BatteryLowIcon(props: SVGProps<SVGSVGElement>) {
|
||||||
|
return (
|
||||||
|
<svg viewBox="0 0 24 24" {...props} fill="currentColor">
|
||||||
|
<path d="M16 20H8V6h8m.67-2H15V2H9v2H7.33C6.6 4 6 4.6 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34c.74 0 1.33-.59 1.33-1.33V5.33C18 4.6 17.4 4 16.67 4M15 16H9v3h6zm0-4.5H9v3h6z" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apache 2.0 https://github.com/Templarian/MaterialDesign/blob/master/LICENSE
|
||||||
|
export function BatteryHighIcon(props: SVGProps<SVGSVGElement>) {
|
||||||
|
return (
|
||||||
|
<svg viewBox="0 0 24 24" {...props} fill="currentColor">
|
||||||
|
<path d="M16 9H8V6h8m.67-2H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apache 2.0 https://github.com/Templarian/MaterialDesign/blob/master/LICENSE
|
||||||
|
export function BatteryFullIcon(props: SVGProps<SVGSVGElement>) {
|
||||||
|
return (
|
||||||
|
<svg viewBox="0 0 24 24" {...props} fill="currentColor">
|
||||||
|
<path d="M16.67 4H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://github.com/phosphor-icons/core (MIT license)
|
||||||
|
export function PlugChargingIcon(props: SVGProps<SVGSVGElement>) {
|
||||||
|
return (
|
||||||
|
<svg viewBox="0 0 256 256" {...props} fill="currentColor">
|
||||||
|
<path d="M224,48H180V16a12,12,0,0,0-24,0V48H100V16a12,12,0,0,0-24,0V48H32.55C24.4,48,20,54.18,20,60A12,12,0,0,0,32,72H44v92a44.05,44.05,0,0,0,44,44h28v32a12,12,0,0,0,24,0V208h28a44.05,44.05,0,0,0,44-44V72h12a12,12,0,0,0,0-24ZM188,164a20,20,0,0,1-20,20H88a20,20,0,0,1-20-20V72H188Zm-85.86-29.17a12,12,0,0,1-1.38-11l12-32a12,12,0,1,1,22.48,8.42L129.32,116H144a12,12,0,0,1,11.24,16.21l-12,32a12,12,0,0,1-22.48-8.42L126.68,140H112A12,12,0,0,1,102.14,134.83Z" />
|
||||||
|
</svg>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
--table-header: hsl(225, 6%, 97%);
|
--table-header: hsl(225, 6%, 97%);
|
||||||
--chart-saturation: 65%;
|
--chart-saturation: 65%;
|
||||||
--chart-lightness: 50%;
|
--chart-lightness: 50%;
|
||||||
|
--container: 1500px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark {
|
.dark {
|
||||||
@@ -116,7 +117,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@layer utilities {
|
@layer utilities {
|
||||||
|
|
||||||
/* Fonts */
|
/* Fonts */
|
||||||
@supports (font-variation-settings: normal) {
|
@supports (font-variation-settings: normal) {
|
||||||
:root {
|
:root {
|
||||||
@@ -141,6 +141,7 @@
|
|||||||
|
|
||||||
body {
|
body {
|
||||||
@apply bg-background text-foreground;
|
@apply bg-background text-foreground;
|
||||||
|
font-variant-ligatures: no-contextual;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
@@ -149,7 +150,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
@utility container {
|
@utility container {
|
||||||
@apply max-w-370 mx-auto px-4;
|
max-width: var(--container);
|
||||||
|
@apply mx-auto px-4;
|
||||||
}
|
}
|
||||||
|
|
||||||
@utility link {
|
@utility link {
|
||||||
@@ -159,10 +161,6 @@
|
|||||||
@utility ns-dialog {
|
@utility ns-dialog {
|
||||||
/* New system dialog width */
|
/* New system dialog width */
|
||||||
min-width: 30.3rem;
|
min-width: 30.3rem;
|
||||||
|
|
||||||
:where(:lang(zh), :lang(zh-CN), :lang(ko)) & {
|
|
||||||
min-width: 27.9rem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.recharts-tooltip-wrapper {
|
.recharts-tooltip-wrapper {
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import { t } from "@lingui/core/macro"
|
import { t } from "@lingui/core/macro"
|
||||||
import { CpuIcon, HardDriveIcon, HourglassIcon, MemoryStickIcon, ServerIcon, ThermometerIcon } from "lucide-react"
|
import { CpuIcon, HardDriveIcon, MemoryStickIcon, ServerIcon } from "lucide-react"
|
||||||
import type { RecordSubscription } from "pocketbase"
|
import type { RecordSubscription } from "pocketbase"
|
||||||
import { EthernetIcon, GpuIcon } from "@/components/ui/icons"
|
import { EthernetIcon, GpuIcon } from "@/components/ui/icons"
|
||||||
import { $alerts } from "@/lib/stores"
|
import { $alerts } from "@/lib/stores"
|
||||||
import type { AlertInfo, AlertRecord } from "@/types"
|
import type { AlertInfo, AlertRecord } from "@/types"
|
||||||
import { pb } from "./api"
|
import { pb } from "./api"
|
||||||
|
import { ThermometerIcon, BatteryMediumIcon, HourglassIcon } from "@/components/ui/icons"
|
||||||
|
|
||||||
/** Alert info for each alert type */
|
/** Alert info for each alert type */
|
||||||
export const alertInfo: Record<string, AlertInfo> = {
|
export const alertInfo: Record<string, AlertInfo> = {
|
||||||
@@ -83,6 +84,14 @@ export const alertInfo: Record<string, AlertInfo> = {
|
|||||||
step: 0.1,
|
step: 0.1,
|
||||||
desc: () => t`Triggers when 15 minute load average exceeds a threshold`,
|
desc: () => t`Triggers when 15 minute load average exceeds a threshold`,
|
||||||
},
|
},
|
||||||
|
Battery: {
|
||||||
|
name: () => t`Battery`,
|
||||||
|
unit: "%",
|
||||||
|
icon: BatteryMediumIcon,
|
||||||
|
desc: () => t`Triggers when battery charge drops below a threshold`,
|
||||||
|
start: 20,
|
||||||
|
invert: true,
|
||||||
|
},
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
/** Helper to manage user alerts */
|
/** Helper to manage user alerts */
|
||||||
|
|||||||
@@ -94,11 +94,6 @@ export default [
|
|||||||
label: "Português",
|
label: "Português",
|
||||||
e: "🇧🇷",
|
e: "🇧🇷",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
lang: "tr",
|
|
||||||
label: "Türkçe",
|
|
||||||
e: "🇹🇷",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
lang: "ru",
|
lang: "ru",
|
||||||
label: "Русский",
|
label: "Русский",
|
||||||
@@ -109,11 +104,21 @@ export default [
|
|||||||
label: "Slovenščina",
|
label: "Slovenščina",
|
||||||
e: "🇸🇮",
|
e: "🇸🇮",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
lang: "sr",
|
||||||
|
label: "Српски",
|
||||||
|
e: "🇷🇸",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
lang: "sv",
|
lang: "sv",
|
||||||
label: "Svenska",
|
label: "Svenska",
|
||||||
e: "🇸🇪",
|
e: "🇸🇪",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
lang: "tr",
|
||||||
|
label: "Türkçe",
|
||||||
|
e: "🇹🇷",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
lang: "uk",
|
lang: "uk",
|
||||||
label: "Українська",
|
label: "Українська",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: ar\n"
|
"Language: ar\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-30 21:52\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Arabic\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"
|
"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"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 دقائق"
|
msgstr "5 دقائق"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "إجراءات"
|
msgstr "إجراءات"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "نشط"
|
msgstr "نشط"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "نشط"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "التنبيهات النشطة"
|
msgstr "التنبيهات النشطة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "الحالة النشطة"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "إضافة {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "إضافة <0>نظام</0>"
|
msgstr "إضافة <0>نظام</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "إضافة نظام جديد"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "إضافة نظام"
|
msgstr "إضافة نظام"
|
||||||
@@ -110,11 +119,19 @@ msgstr "إضافة رابط"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "تعديل خيارات العرض للرسوم البيانية."
|
msgstr "تعديل خيارات العرض للرسوم البيانية."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "تعديل عرض التخطيط الرئيسي"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "مسؤول"
|
msgstr "مسؤول"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "بعد"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "وكيل"
|
msgstr "وكيل"
|
||||||
@@ -139,6 +156,7 @@ msgstr "جميع الحاويات"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "عرض النطاق الترددي"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "البطارية"
|
msgstr "البطارية"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "أصبح نشطًا"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "أصبح غير نشط"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "قبل"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "يدعم بيزيل بروتوكول OpenID Connect والعديد من مزوّدي المصادقة عبر بروتوكول OAuth2."
|
msgstr "يدعم بيزيل بروتوكول OpenID Connect والعديد من مزوّدي المصادقة عبر بروتوكول OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "ثنائي"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "بت (كيلوبت/ثانية، ميجابت/ثانية، جيجابت/ثانية)"
|
msgstr "بت (كيلوبت/ثانية، ميجابت/ثانية، جيجابت/ثانية)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "حالة التمهيد"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "بايت (كيلوبايت/ثانية، ميجابايت/ثانية، ج
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "ذاكرة التخزين المؤقت / المخازن المؤقتة"
|
msgstr "ذاكرة التخزين المؤقت / المخازن المؤقتة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "يمكن إعادة التحميل"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "يمكن البدء"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "يمكن الإيقاف"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "إلغاء"
|
msgstr "إلغاء"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "القدرات"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "السعة"
|
msgstr "السعة"
|
||||||
@@ -276,6 +327,12 @@ msgstr "تحقق من السجلات لمزيد من التفاصيل."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "تحقق من خدمة الإشعارات الخاصة بك"
|
msgstr "تحقق من خدمة الإشعارات الخاصة بك"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "مسح"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "انقر على حاوية لعرض مزيد من المعلومات."
|
msgstr "انقر على حاوية لعرض مزيد من المعلومات."
|
||||||
@@ -306,6 +363,10 @@ msgstr "هيئ التنبيهات الواردة"
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "تأكيد كلمة المرور"
|
msgstr "تأكيد كلمة المرور"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "التعارضات"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "الاتصال مقطوع"
|
msgstr "الاتصال مقطوع"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "نسخ YAML"
|
msgstr "نسخ YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "المعالج"
|
msgstr "المعالج"
|
||||||
@@ -374,6 +436,14 @@ msgstr "المعالج"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "نوى المعالج"
|
msgstr "نوى المعالج"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "ذروة المعالج"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "وقت المعالج"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "تفصيل وقت المعالج"
|
msgstr "تفصيل وقت المعالج"
|
||||||
@@ -385,6 +455,10 @@ msgstr "تفصيل وقت المعالج"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "استخدام وحدة المعالجة المركزية"
|
msgstr "استخدام وحدة المعالجة المركزية"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "إنشاء"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "إنشاء حساب"
|
msgstr "إنشاء حساب"
|
||||||
@@ -416,15 +490,18 @@ msgstr "الحالة الحالية"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "الدورات"
|
msgstr "الدورات"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "لوحة التحكم"
|
msgid "Daily"
|
||||||
|
msgstr "يوميًا"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "الفترة الزمنية الافتراضية"
|
msgstr "الفترة الزمنية الافتراضية"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "حذف"
|
msgstr "حذف"
|
||||||
@@ -433,6 +510,10 @@ msgstr "حذف"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "حذف البصمة"
|
msgstr "حذف البصمة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "الوصف"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "التفاصيل"
|
msgstr "التفاصيل"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "إدخال/إخراج الشبكة للدوكر"
|
msgstr "إدخال/إخراج الشبكة للدوكر"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "التوثيق"
|
msgstr "التوثيق"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "تنزيل"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "المدة"
|
msgstr "المدة"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "تعديل"
|
msgstr "تعديل"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "إشعارات البريد الإشباكي"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "فارغة"
|
msgstr "فارغة"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "وقت النهاية"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "أدخل عنوان البريد الإشباكي لإعادة تعيين كلمة المرور"
|
msgstr "أدخل عنوان البريد الإشباكي لإعادة تعيين كلمة المرور"
|
||||||
@@ -540,7 +632,10 @@ msgstr "أدخل كلمة المرور لمرة واحدة الخاصة بك."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "خطأ"
|
msgstr "خطأ"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "خطأ"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "يتجاوز {0}{1} في آخر {2, plural, one {# دقيقة} other {# دقائق}}"
|
msgstr "يتجاوز {0}{1} في آخر {2, plural, one {# دقيقة} other {# دقائق}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "معرف العملية الرئيسي للتنفيذ"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "سيتم حذف الأنظمة الحالية غير المعرفة في <0>config.yml</0>. يرجى عمل نسخ احتياطية بانتظام."
|
msgstr "سيتم حذف الأنظمة الحالية غير المعرفة في <0>config.yml</0>. يرجى عمل نسخ احتياطية بانتظام."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "خرج نشطًا"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "تصدير"
|
msgstr "تصدير"
|
||||||
@@ -571,6 +674,10 @@ msgstr "تصدير تكوين الأنظمة الحالية الخاصة بك."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "فهرنهايت (°ف)"
|
msgstr "فهرنهايت (°ف)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "فشل"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "السمات الفاشلة:"
|
msgstr "السمات الفاشلة:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "فشل في المصادقة"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "فشل في حفظ الإعدادات"
|
msgstr "فشل في حفظ الإعدادات"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "فشل في إرسال إشعار الاختبار"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "فشل في تحديث التنبيه"
|
msgstr "فشل في تحديث التنبيه"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "فشل: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "تصفية..."
|
msgstr "تصفية..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "ممتلئة"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "عام"
|
msgstr "عام"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "عالمي"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "محركات GPU"
|
msgstr "محركات GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "محركات GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "استهلاك طاقة وحدة معالجة الرسوميات"
|
msgstr "استهلاك طاقة وحدة معالجة الرسوميات"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "استخدام وحدة معالجة الرسوميات"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "شبكة"
|
msgstr "شبكة"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "صورة"
|
msgstr "صورة"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "غير نشط"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "عنوان البريد الإشباكي غير صالح."
|
msgstr "عنوان البريد الإشباكي غير صالح."
|
||||||
@@ -690,6 +816,19 @@ msgstr "اللغة"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "التخطيط"
|
msgstr "التخطيط"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "عرض التخطيط"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "دورة الحياة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "الحد"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "متوسط التحميل"
|
msgstr "متوسط التحميل"
|
||||||
@@ -711,6 +850,14 @@ msgstr "متوسط التحميل 5 دقائق"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "متوسط التحميل"
|
msgstr "متوسط التحميل"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "حالة التحميل"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "جاري التحميل..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "تسجيل الخروج"
|
msgstr "تسجيل الخروج"
|
||||||
@@ -734,6 +881,10 @@ msgstr "السجلات"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "هل تبحث عن مكان لإنشاء التنبيهات؟ انقر على أيقونات الجرس <0/> في جدول الأنظمة."
|
msgstr "هل تبحث عن مكان لإنشاء التنبيهات؟ انقر على أيقونات الجرس <0/> في جدول الأنظمة."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "معرف العملية الرئيسي"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "إدارة تفضيلات العرض والإشعارات."
|
msgstr "إدارة تفضيلات العرض والإشعارات."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "الحد الأقصى دقيقة"
|
msgstr "الحد الأقصى دقيقة"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "الذاكرة"
|
msgstr "الذاكرة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "حد الذاكرة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "ذروة الذاكرة"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "الموديل"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "الاسم"
|
msgstr "الاسم"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "حركة مرور الشبكة للواجهات العامة"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "وحدة الشبكة"
|
msgstr "وحدة الشبكة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "لا"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "لم يتم العثور على نتائج."
|
msgstr "لم يتم العثور على نتائج."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "لم يتم العثور على نتائج."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "لا توجد نتائج."
|
msgstr "لا توجد نتائج."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "دعم OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "في كل إعادة تشغيل، سيتم تحديث الأنظمة في قاعدة البيانات لتتطابق مع الأنظمة المعرفة في الملف."
|
msgstr "في كل إعادة تشغيل، سيتم تحديث الأنظمة في قاعدة البيانات لتتطابق مع الأنظمة المعرفة في الملف."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "مرة واحدة"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "كلمة مرور لمرة واحدة"
|
msgstr "كلمة مرور لمرة واحدة"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "فتح القائمة"
|
msgstr "فتح القائمة"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "أخرى"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "الكتابة فوق التنبيهات الحالية"
|
msgstr "الكتابة فوق التنبيهات الحالية"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "يجب أن تكون كلمة المرور أقل من 72 بايت."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "تم استلام طلب إعادة تعيين كلمة المرور"
|
msgstr "تم استلام طلب إعادة تعيين كلمة المرور"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "الماضي"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "إيقاف مؤقت"
|
msgstr "إيقاف مؤقت"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "الاستخدام الدقيق في الوقت المسجل"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "اللغة المفضلة"
|
msgstr "اللغة المفضلة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "تم بدء العملية"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "المفتاح العام"
|
msgstr "المفتاح العام"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "ساعات الهدوء"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "تم الاستلام"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "تحديث"
|
msgstr "تحديث"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "العلاقات"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "طلب كلمة مرور لمرة واحدة"
|
msgstr "طلب كلمة مرور لمرة واحدة"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "طلب كلمة مرور لمرة واحدة"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "طلب OTP"
|
msgstr "طلب OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "مطلوب من قبل"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "يتطلب"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "إعادة تعيين كلمة المرور"
|
msgstr "إعادة تعيين كلمة المرور"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "إعادة تعيين كلمة المرور"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "تم حلها"
|
msgstr "تم حلها"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "إعادة التشغيل"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "استئناف"
|
msgstr "استئناف"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "الجذر"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "تدوير الرمز المميز"
|
msgstr "تدوير الرمز المميز"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "تدوير الرمز المميز"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "صفوف لكل صفحة"
|
msgstr "صفوف لكل صفحة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "مقاييس وقت التشغيل"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "تفاصيل S.M.A.R.T."
|
msgstr "تفاصيل S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "حفظ الإعدادات"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "احفظ النظام"
|
msgstr "احفظ النظام"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "جدولة"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "جدولة ساعات الهدوء حيث لن يتم إرسال الإشعارات، مثل أثناء فترات الصيانة."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "جدولة ساعات الهدوء حيث لن يتم إرسال الإشعارات."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "بحث"
|
msgstr "بحث"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "البحث عن الأنظمة أو الإعدادات..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "راجع <0>إعدادات الإشعارات</0> لتكوين كيفية تلقي التنبيهات."
|
msgstr "راجع <0>إعدادات الإشعارات</0> لتكوين كيفية تلقي التنبيهات."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "تحديد {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "تم الإرسال"
|
msgstr "تم الإرسال"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "تم الإرسال"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "الرقم التسلسلي"
|
msgstr "الرقم التسلسلي"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "تفاصيل الخدمة"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "الخدمات"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "تعيين عتبات النسبة المئوية لألوان العداد."
|
msgstr "تعيين عتبات النسبة المئوية لألوان العداد."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "إعدادات SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "الترتيب حسب"
|
msgstr "الترتيب حسب"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "وقت البدء"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "الحالة"
|
msgstr "الحالة"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "الحالة"
|
msgstr "الحالة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "الحالة الفرعية"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "مساحة التبديل المستخدمة من قبل النظام"
|
msgstr "مساحة التبديل المستخدمة من قبل النظام"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "مساحة التبديل المستخدمة من قبل النظام"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "استخدام التبديل"
|
msgstr "استخدام التبديل"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "النظام"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "متوسط تحميل النظام مع مرور الوقت"
|
msgstr "متوسط تحميل النظام مع مرور الوقت"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "خدمات systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "الأنظمة"
|
msgstr "الأنظمة"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "يمكن إدارة الأنظمة في ملف <0>config.yml</0> داخ
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "جدول"
|
msgstr "جدول"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "المهام"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "إجمالي البيانات المستلمة لكل واجهة"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "إجمالي البيانات المرسلة لكل واجهة"
|
msgstr "إجمالي البيانات المرسلة لكل واجهة"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "الإجمالي: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "تم التفعيل بواسطة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "المحفزات"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "يتم التفعيل عندما يتجاوز متوسط التحميل لمدة دقيقة واحدة عتبة معينة"
|
msgstr "يتم التفعيل عندما يتجاوز متوسط التحميل لمدة دقيقة واحدة عتبة معينة"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "يتم التفعيل عندما يتجاوز الجمع بين الصع
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "يتم التفعيل عندما يتجاوز استخدام وحدة المعالجة المركزية عتبة معينة"
|
msgstr "يتم التفعيل عندما يتجاوز استخدام وحدة المعالجة المركزية عتبة معينة"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "يتم التفعيل عندما يتجاوز استخدام وحدة معالجة الرسوميات عتبة معينة"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "يتم التفعيل عندما يتجاوز استخدام الذاكرة عتبة معينة"
|
msgstr "يتم التفعيل عندما يتجاوز استخدام الذاكرة عتبة معينة"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "يتم التفعيل عندما يتغير الحالة بين التش
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "يتم التفعيل عندما يتجاوز استخدام أي قرص عتبة معينة"
|
msgstr "يتم التفعيل عندما يتجاوز استخدام أي قرص عتبة معينة"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "النوع"
|
msgstr "النوع"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "ملف الوحدة"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "رمز مميز عالمي"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "غير معروفة"
|
msgstr "غير معروفة"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "غير محدود"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "قيد التشغيل"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "قيد التشغيل ({upSystemsLength})"
|
msgstr "قيد التشغيل ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "تحديث"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "تم التحديث"
|
msgstr "تم التحديث"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "يتم التحديث كل 10 دقائق."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "رفع"
|
msgstr "رفع"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "في انتظار وجود سجلات كافية للعرض"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "هل تريد مساعدتنا في تحسين ترجماتنا؟ تحقق من <0>Crowdin</0> لمزيد من التفاصيل."
|
msgstr "هل تريد مساعدتنا في تحسين ترجماتنا؟ تحقق من <0>Crowdin</0> لمزيد من التفاصيل."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "يريد"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "تحذير (%)"
|
msgstr "تحذير (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "تكوين YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "تكوين YAML"
|
msgstr "تكوين YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "نعم"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "تم تحديث إعدادات المستخدم الخاصة بك."
|
msgstr "تم تحديث إعدادات المستخدم الخاصة بك."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: bg\n"
|
"Language: bg\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-20 21:37\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Bulgarian\n"
|
"Language-Team: Bulgarian\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 минути"
|
msgstr "5 минути"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Действия"
|
msgstr "Действия"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Активен"
|
msgstr "Активен"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Активен"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Активни тревоги"
|
msgstr "Активни тревоги"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Активно състояние"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Добави {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Добави <0>Система</0>"
|
msgstr "Добави <0>Система</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Добави нова система"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Добави система"
|
msgstr "Добави система"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Добави URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Настрой опциите за показване на диаграмите."
|
msgstr "Настрой опциите за показване на диаграмите."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Настройка ширината на основния макет"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Администратор"
|
msgstr "Администратор"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "След"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Агент"
|
msgstr "Агент"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Всички контейнери"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Bandwidth на мрежата"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Батерия"
|
msgstr "Батерия"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Стана активен"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Стана неактивен"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Преди"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel поддържа OpenID Connect и много други OAuth2 доставчици за удостоверяване."
|
msgstr "Beszel поддържа OpenID Connect и много други OAuth2 доставчици за удостоверяване."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Двоичен код"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Бита (Kbps, Mbps, Gbps)"
|
msgstr "Бита (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Състояние при зареждане"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Байта (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Кеш / Буфери"
|
msgstr "Кеш / Буфери"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Може да се презареди"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Може да се стартира"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Може да се спре"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Откажи"
|
msgstr "Откажи"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Възможности"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Капацитет"
|
msgstr "Капацитет"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Провери log-овете за повече информация."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Провери услугата си за удостоверяване"
|
msgstr "Провери услугата си за удостоверяване"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Изчисти"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Кликнете върху контейнер, за да видите повече информация."
|
msgstr "Кликнете върху контейнер, за да видите повече информация."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Настрой как получаваш нотификации за т
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Потвърди парола"
|
msgstr "Потвърди парола"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Конфликти"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Връзката е прекъсната"
|
msgstr "Връзката е прекъсната"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Копирай YAML"
|
msgstr "Копирай YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "Процесор"
|
msgstr "Процесор"
|
||||||
@@ -374,6 +436,14 @@ msgstr "Процесор"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU ядра"
|
msgstr "CPU ядра"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Пик на CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Време на CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Разбивка на времето на CPU"
|
msgstr "Разбивка на времето на CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Разбивка на времето на CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Употреба на процесор"
|
msgstr "Употреба на процесор"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Създай"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Създай акаунт"
|
msgstr "Създай акаунт"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Текущо състояние"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Цикли"
|
msgstr "Цикли"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Табло"
|
msgid "Daily"
|
||||||
|
msgstr "Дневно"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Времеви диапазон по подразбиране"
|
msgstr "Времеви диапазон по подразбиране"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Изтрий"
|
msgstr "Изтрий"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Изтрий"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Изтрий пръстов отпечатък"
|
msgstr "Изтрий пръстов отпечатък"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Описание"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Подробности"
|
msgstr "Подробности"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Мрежов I/O използван от docker"
|
msgstr "Мрежов I/O използван от docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Документация"
|
msgstr "Документация"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Изтегляне"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Продължителност"
|
msgstr "Продължителност"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Редактирай"
|
msgstr "Редактирай"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Имейл нотификации"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Празна"
|
msgstr "Празна"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Крайно време"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Въведи имейл адрес за да нулираш паролата"
|
msgstr "Въведи имейл адрес за да нулираш паролата"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Въведете Вашата еднократна парола."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Грешка"
|
msgstr "Грешка"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Грешка"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Надвишава {0}{1} в последните {2, plural, one {# минута} other {# минути}}"
|
msgstr "Надвишава {0}{1} в последните {2, plural, one {# минута} other {# минути}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Съществуващи системи които не са дефинирани в <0>config.yml</0> ще бъдат изтрити. Моля прави чести архиви."
|
msgstr "Съществуващи системи които не са дефинирани в <0>config.yml</0> ще бъдат изтрити. Моля прави чести архиви."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Излезе активно"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Експортиране"
|
msgstr "Експортиране"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Експортирай конфигурацията на системи
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Фаренхайт (°F)"
|
msgstr "Фаренхайт (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Неуспешно"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Неуспешни атрибути:"
|
msgstr "Неуспешни атрибути:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Неуспешно удостоверяване"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Неуспешно запазване на настройки"
|
msgstr "Неуспешно запазване на настройки"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Неуспешно изпрати тестова нотификация"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Неуспешно обнови тревога"
|
msgstr "Неуспешно обнови тревога"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Неуспешни: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Филтрирай..."
|
msgstr "Филтрирай..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Пълна"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Общо"
|
msgstr "Общо"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Глобален"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU двигатели"
|
msgstr "GPU двигатели"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU двигатели"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Консумация на ток от графична карта"
|
msgstr "Консумация на ток от графична карта"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Употреба на GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Мрежово"
|
msgstr "Мрежово"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Образ"
|
msgstr "Образ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Неактивен"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Невалиден имейл адрес."
|
msgstr "Невалиден имейл адрес."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Език"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Подреждане"
|
msgstr "Подреждане"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Ширина на макета"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Жизнен цикъл"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "лимит"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Средно натоварване"
|
msgstr "Средно натоварване"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Средно натоварване 5 минути"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Средно натоварване"
|
msgstr "Средно натоварване"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Състояние на зареждане"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Зареждане..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Изход"
|
msgstr "Изход"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Логове"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Търсиш къде да създадеш тревоги? Натисни емотиконата за звънец <0/> в таблицата за системи."
|
msgstr "Търсиш къде да създадеш тревоги? Натисни емотиконата за звънец <0/> в таблицата за системи."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Управление на предпочитанията за показване и уведомяване."
|
msgstr "Управление на предпочитанията за показване и уведомяване."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Максимум 1 минута"
|
msgstr "Максимум 1 минута"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Памет"
|
msgstr "Памет"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Лимит на памет"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Пик на памет"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Модел"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Име"
|
msgstr "Име"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Мрежов трафик на публични интерфейси"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Единица за измерване на скорост"
|
msgstr "Единица за измерване на скорост"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Не"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Няма намерени резултати."
|
msgstr "Няма намерени резултати."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Няма намерени резултати."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Няма резултати."
|
msgstr "Няма резултати."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Поддръжка на OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "На всеки рестарт, системите в датабазата ще бъдат обновени да съвпадат със системите зададени във файла."
|
msgstr "На всеки рестарт, системите в датабазата ще бъдат обновени да съвпадат със системите зададени във файла."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Еднократен"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Еднократна парола"
|
msgstr "Еднократна парола"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Отвори менюто"
|
msgstr "Отвори менюто"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Други"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Презапиши съществуващи тревоги"
|
msgstr "Презапиши съществуващи тревоги"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Паролата трябва да е по-малка от 72 байта
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Получено е искането за нулиране на паролата"
|
msgstr "Получено е искането за нулиране на паролата"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Минал"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Пауза"
|
msgstr "Пауза"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Точно използване в записаното време"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Предпочитан език"
|
msgstr "Предпочитан език"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Процесът стартира"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Публичен ключ"
|
msgstr "Публичен ключ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Тихи часове"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Получени"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Опресни"
|
msgstr "Опресни"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Връзки"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Заявка за еднократна парола"
|
msgstr "Заявка за еднократна парола"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Заявка за еднократна парола"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Заявка OTP"
|
msgstr "Заявка OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Изисква се от"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Изисква"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Нулиране на парола"
|
msgstr "Нулиране на парола"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Нулиране на парола"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Решен"
|
msgstr "Решен"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Рестартирания"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Възобнови"
|
msgstr "Възобнови"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Корен"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Пресъздаване на идентификатора"
|
msgstr "Пресъздаване на идентификатора"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Пресъздаване на идентификатора"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Редове на страница"
|
msgstr "Редове на страница"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Метрики на изпълнение"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. Детайли"
|
msgstr "S.M.A.R.T. Детайли"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Запази настройките"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Запази система"
|
msgstr "Запази система"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "График"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Планирай тихи часове, когато няма да се изпращат известия, като например по време на периоди на поддръжка."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Планирай тихи часове, когато няма да се изпращат известия."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Търси"
|
msgstr "Търси"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Търси за системи или настройки..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Виж <0>настройките за нотификациите</0> за да конфигурираш как получаваш тревоги."
|
msgstr "Виж <0>настройките за нотификациите</0> за да конфигурираш как получаваш тревоги."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Избери {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Изпратени"
|
msgstr "Изпратени"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Изпратени"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Сериен номер"
|
msgstr "Сериен номер"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Детайли на услугата"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Услуги"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Задайте процентни прагове за цветовете на измервателните уреди."
|
msgstr "Задайте процентни прагове за цветовете на измервателните уреди."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Настройки за SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Сортиране по"
|
msgstr "Сортиране по"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Начален час"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Състояние"
|
msgstr "Състояние"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Статус"
|
msgstr "Статус"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Подсъстояние"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Изполван swap от системата"
|
msgstr "Изполван swap от системата"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Изполван swap от системата"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Използване на swap"
|
msgstr "Използване на swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Система"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Средно натоварване на системата във времето"
|
msgstr "Средно натоварване на системата във времето"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Услуги на systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Системи"
|
msgstr "Системи"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Системите могат да бъдат управлявани в
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Таблица"
|
msgstr "Таблица"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Задачи"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Общо получени данни за всеки интерфейс"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Общо изпратени данни за всеки интерфейс"
|
msgstr "Общо изпратени данни за всеки интерфейс"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Общо: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Активиран от"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Активатори"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Задейства се, когато употребата на паметта за 1 минута надвиши зададен праг"
|
msgstr "Задейства се, когато употребата на паметта за 1 минута надвиши зададен праг"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Задейства се, когато комбинираното кач
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Задейства се, когато употребата на процесора надвиши зададен праг"
|
msgstr "Задейства се, когато употребата на процесора надвиши зададен праг"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Задейства се, когато използването на GPU надвиши праг"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Задейства се, когато употребата на паметта надвиши зададен праг"
|
msgstr "Задейства се, когато употребата на паметта надвиши зададен праг"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Задейства се, когато статуса превключв
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Задейства се, когато употребата на някой диск надивши зададен праг"
|
msgstr "Задейства се, когато употребата на някой диск надивши зададен праг"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Тип"
|
msgstr "Тип"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Файл на единица"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Универсален тоукън"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Неизвестна"
|
msgstr "Неизвестна"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Неограничено"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Нагоре"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Нагоре ({upSystemsLength})"
|
msgstr "Нагоре ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Актуализирай"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Актуализирано"
|
msgstr "Актуализирано"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Актуализира се на всеки 10 минути."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Качване"
|
msgstr "Качване"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Изчаква се за достатъчно записи за пока
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Искаш да помогнеш да направиш преводите още по-добри? Провери нашия <0>Crowdin</0> за повече детайли."
|
msgstr "Искаш да помогнеш да направиш преводите още по-добри? Провери нашия <0>Crowdin</0> за повече детайли."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Иска"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Предупреждение (%)"
|
msgstr "Предупреждение (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML конфигурация"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML конфигурация"
|
msgstr "YAML конфигурация"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Да"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Настройките за потребителя ти са обновени."
|
msgstr "Настройките за потребителя ти са обновени."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Czech\n"
|
"Language-Team: Czech\n"
|
||||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||||
@@ -43,7 +43,7 @@ msgstr "1 hodina"
|
|||||||
#. Load average
|
#. Load average
|
||||||
#: src/components/charts/load-average-chart.tsx
|
#: src/components/charts/load-average-chart.tsx
|
||||||
msgid "1 min"
|
msgid "1 min"
|
||||||
msgstr ""
|
msgstr "1 min"
|
||||||
|
|
||||||
#: src/lib/utils.ts
|
#: src/lib/utils.ts
|
||||||
msgid "1 minute"
|
msgid "1 minute"
|
||||||
@@ -60,7 +60,7 @@ msgstr "12 hodin"
|
|||||||
#. Load average
|
#. Load average
|
||||||
#: src/components/charts/load-average-chart.tsx
|
#: src/components/charts/load-average-chart.tsx
|
||||||
msgid "15 min"
|
msgid "15 min"
|
||||||
msgstr ""
|
msgstr "15 min"
|
||||||
|
|
||||||
#: src/lib/utils.ts
|
#: src/lib/utils.ts
|
||||||
msgid "24 hours"
|
msgid "24 hours"
|
||||||
@@ -73,16 +73,19 @@ msgstr "30 dní"
|
|||||||
#. Load average
|
#. Load average
|
||||||
#: src/components/charts/load-average-chart.tsx
|
#: src/components/charts/load-average-chart.tsx
|
||||||
msgid "5 min"
|
msgid "5 min"
|
||||||
msgstr ""
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Akce"
|
msgstr "Akce"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktivní"
|
msgstr "Aktivní"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktivní"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktivní výstrahy"
|
msgstr "Aktivní výstrahy"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktivní stav"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Přidat {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Přidat <0>Systém</0>"
|
msgstr "Přidat <0>Systém</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Přidat nový systém"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Přidat systém"
|
msgstr "Přidat systém"
|
||||||
@@ -110,14 +119,22 @@ msgstr "Přidat URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Upravit možnosti zobrazení pro grafy."
|
msgstr "Upravit možnosti zobrazení pro grafy."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Upravit šířku hlavního rozvržení"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrátor"
|
msgstr "Administrátor"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Po"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr ""
|
msgstr "Agent"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
@@ -139,6 +156,7 @@ msgstr "Všechny kontejnery"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Přenos"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Baterie"
|
msgstr "Baterie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Stal se aktivním"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Stal se neaktivním"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Před"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel podporuje OpenID Connect a mnoho poskytovatelů OAuth2 ověřování."
|
msgstr "Beszel podporuje OpenID Connect a mnoho poskytovatelů OAuth2 ověřování."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binární"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bity (Kbps, Mbps, Gbps)"
|
msgstr "Bity (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Stav zavádění"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Byty (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / vyrovnávací paměť"
|
msgstr "Cache / vyrovnávací paměť"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Může znovu načíst"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Může spustit"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Může zastavit"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Zrušit"
|
msgstr "Zrušit"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Schopnosti"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapacita"
|
msgstr "Kapacita"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Pro více informací zkontrolujte logy."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Zkontrolujte službu upozornění"
|
msgstr "Zkontrolujte službu upozornění"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Vymazat"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Klikněte na kontejner pro zobrazení dalších informací."
|
msgstr "Klikněte na kontejner pro zobrazení dalších informací."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Konfigurace způsobu přijímání upozornění."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Potvrdit heslo"
|
msgstr "Potvrdit heslo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konflikty"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Připojení je nedostupné"
|
msgstr "Připojení je nedostupné"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Kopírovat YAML"
|
msgstr "Kopírovat YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "Procesor"
|
msgstr "Procesor"
|
||||||
@@ -374,6 +436,14 @@ msgstr "Procesor"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU jádra"
|
msgstr "CPU jádra"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Špička CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Čas CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Rozdělení času CPU"
|
msgstr "Rozdělení času CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Rozdělení času CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Využití procesoru"
|
msgstr "Využití procesoru"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Vytvořit"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Vytvořit účet"
|
msgstr "Vytvořit účet"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Aktuální stav"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cykly"
|
msgstr "Cykly"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Přehled"
|
msgid "Daily"
|
||||||
|
msgstr "Denně"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Výchozí doba"
|
msgstr "Výchozí doba"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Odstranit"
|
msgstr "Odstranit"
|
||||||
@@ -433,9 +510,13 @@ msgstr "Odstranit"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Smazat identifikátor"
|
msgstr "Smazat identifikátor"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Popis"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr ""
|
msgstr "Detail"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Device"
|
msgid "Device"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Síťové I/O Dockeru"
|
msgstr "Síťové I/O Dockeru"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentace"
|
msgstr "Dokumentace"
|
||||||
|
|
||||||
@@ -504,16 +586,21 @@ msgstr "Stažení"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Doba trvání"
|
msgstr "Doba trvání"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Upravit"
|
msgstr "Upravit"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Upravit {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
msgid "Email"
|
msgid "Email"
|
||||||
msgstr ""
|
msgstr "E-mail"
|
||||||
|
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
msgid "Email notifications"
|
msgid "Email notifications"
|
||||||
@@ -524,6 +611,11 @@ msgstr "Emailová upozornění"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Prázdná"
|
msgstr "Prázdná"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Čas ukončení"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Zadejte e-mailovou adresu pro obnovu hesla"
|
msgstr "Zadejte e-mailovou adresu pro obnovu hesla"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Zadejte Vaše jednorázové heslo."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Chyba"
|
msgstr "Chyba"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Chyba"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Překračuje {0}{1} za {2, plural, one {poslední # minutu} few {poslední # minuty} other {posledních # minut}}"
|
msgstr "Překračuje {0}{1} za {2, plural, one {poslední # minutu} few {poslední # minuty} other {posledních # minut}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Hlavní PID spuštění"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Stávající systémy, které nejsou definovány v <0>config.yml</0>, budou odstraněny. Provádějte pravidelné zálohování."
|
msgstr "Stávající systémy, které nejsou definovány v <0>config.yml</0>, budou odstraněny. Provádějte pravidelné zálohování."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Ukončeno aktivně"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exportovat"
|
msgstr "Exportovat"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exportovat aktuální konfiguraci systémů."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheita (°F)"
|
msgstr "Fahrenheita (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Selhalo"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Neúspěšné atributy:"
|
msgstr "Neúspěšné atributy:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Ověření se nezdařilo"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Nepodařilo se uložit nastavení"
|
msgstr "Nepodařilo se uložit nastavení"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Nepodařilo se odeslat testovací oznámení"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Nepodařilo se aktualizovat upozornění"
|
msgstr "Nepodařilo se aktualizovat upozornění"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Neúspěšné: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtr..."
|
msgstr "Filtr..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Plná"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Obecné"
|
msgstr "Obecné"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globální"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU enginy"
|
msgstr "GPU enginy"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU enginy"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Spotřeba energie GPU"
|
msgstr "Spotřeba energie GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Využití GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Mřížka"
|
msgstr "Mřížka"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Obraz"
|
msgstr "Obraz"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Neaktivní"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Neplatná e-mailová adresa."
|
msgstr "Neplatná e-mailová adresa."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Jazyk"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Rozvržení"
|
msgstr "Rozvržení"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Šířka rozvržení"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Životní cyklus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Průměrné vytížení"
|
msgstr "Průměrné vytížení"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Průměrná zátěž 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Prům. zatížení"
|
msgstr "Prům. zatížení"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Stav načtení"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Načítání..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Odhlásit"
|
msgstr "Odhlásit"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Logy"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Hledáte místo kde vytvářet upozornění? Klikněte na ikonu zvonku <0/> v systémové tabulce."
|
msgstr "Hledáte místo kde vytvářet upozornění? Klikněte na ikonu zvonku <0/> v systémové tabulce."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Hlavní PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Správa nastavení zobrazení a oznámení."
|
msgstr "Správa nastavení zobrazení a oznámení."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Max. 1 min"
|
msgstr "Max. 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Paměť"
|
msgstr "Paměť"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Limit paměti"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Špička paměti"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr ""
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Název"
|
msgstr "Název"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Síťový provoz veřejných rozhraní"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Síťová jednotka"
|
msgstr "Síťová jednotka"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Ne"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Nenalezeny žádné výskyty."
|
msgstr "Nenalezeny žádné výskyty."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Nenalezeny žádné výskyty."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Žádné výsledky."
|
msgstr "Žádné výsledky."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Podpora OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Při každém restartu budou systémy v databázi aktualizovány tak, aby odpovídaly systémům definovaným v souboru."
|
msgstr "Při každém restartu budou systémy v databázi aktualizovány tak, aby odpovídaly systémům definovaným v souboru."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Jednorázové"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Jednorázové heslo"
|
msgstr "Jednorázové heslo"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Otevřít menu"
|
msgstr "Otevřít menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Jiné"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Přepsat existující upozornění"
|
msgstr "Přepsat existující upozornění"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Heslo musí být menší než 72 bytů."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Žádost o obnovu hesla byla přijata"
|
msgstr "Žádost o obnovu hesla byla přijata"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Minulé"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pozastavit"
|
msgstr "Pozastavit"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Přesné využití v zaznamenaném čase"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Upřednostňovaný jazyk"
|
msgstr "Upřednostňovaný jazyk"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proces spuštěn"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Veřejný klíč"
|
msgstr "Veřejný klíč"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Tiché hodiny"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Přijato"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aktualizovat"
|
msgstr "Aktualizovat"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Vztahy"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Požádat o jednorázové heslo"
|
msgstr "Požádat o jednorázové heslo"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Požádat o jednorázové heslo"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Požádat OTP"
|
msgstr "Požádat OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Vyžadováno službou"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Vyžaduje"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Obnovit heslo"
|
msgstr "Obnovit heslo"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Obnovit heslo"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Vyřešeno"
|
msgstr "Vyřešeno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Restarty"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Pokračovat"
|
msgstr "Pokračovat"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Kořenový"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Změnit token"
|
msgstr "Změnit token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Změnit token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Řádků na stránku"
|
msgstr "Řádků na stránku"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Metriky běhu"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. Detaily"
|
msgstr "S.M.A.R.T. Detaily"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Uložit nastavení"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Uložit systém"
|
msgstr "Uložit systém"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Plán"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Naplánujte tiché hodiny, kdy se nebudou odesílat oznámení, například během období údržby."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Naplánujte tiché hodiny, kdy se nebudou odesílat oznámení."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Hledat"
|
msgstr "Hledat"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Hledat systémy nebo nastavení..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Podívejte se na <0>nastavení upozornění</0> pro nastavení toho, jak přijímáte upozornění."
|
msgstr "Podívejte se na <0>nastavení upozornění</0> pro nastavení toho, jak přijímáte upozornění."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Vybrat {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Odeslat"
|
msgstr "Odeslat"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Odeslat"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Sériové číslo"
|
msgstr "Sériové číslo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Detaily služby"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Služby"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Nastavte procentuální prahové hodnoty pro barvy měřičů."
|
msgstr "Nastavte procentuální prahové hodnoty pro barvy měřičů."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Nastavení SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Seřadit podle"
|
msgstr "Seřadit podle"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Čas začátku"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Stav"
|
msgstr "Stav"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Stav"
|
msgstr "Stav"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Podstav"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap prostor využívaný systémem"
|
msgstr "Swap prostor využívaný systémem"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Swap prostor využívaný systémem"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap využití"
|
msgstr "Swap využití"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Systém"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Průměry zatížení systému v průběhu času"
|
msgstr "Průměry zatížení systému v průběhu času"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Služby systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systémy"
|
msgstr "Systémy"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Systémy lze spravovat v souboru <0>config.yml</0> uvnitř datového adr
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabulka"
|
msgstr "Tabulka"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Úlohy"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Celkový přijatý objem dat pro každé rozhraní"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Celkový odeslaný objem dat pro každé rozhraní"
|
msgstr "Celkový odeslaný objem dat pro každé rozhraní"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Celkem: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Spuštěno službou"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Spouštěče"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Spustí se, když využití paměti během 1 minuty překročí prahovou hodnotu"
|
msgstr "Spustí se, když využití paměti během 1 minuty překročí prahovou hodnotu"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Spustí se, když kombinace up/down překročí prahovou hodnotu"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Spustí se, když využití procesoru překročí prahovou hodnotu"
|
msgstr "Spustí se, když využití procesoru překročí prahovou hodnotu"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Spustí se, když využití GPU překročí prahovou hodnotu"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Spustí se, když využití paměti překročí prahovou hodnotu"
|
msgstr "Spustí se, když využití paměti překročí prahovou hodnotu"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Spouští se, když se změní dostupnost"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Spustí se, když využití disku překročí prahovou hodnotu"
|
msgstr "Spustí se, když využití disku překročí prahovou hodnotu"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Typ"
|
msgstr "Typ"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Soubor jednotky"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Univerzální token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Neznámá"
|
msgstr "Neznámá"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Neomezeno"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Funkční"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Funkční ({upSystemsLength})"
|
msgstr "Funkční ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aktualizovat"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Aktualizováno"
|
msgstr "Aktualizováno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Aktualizováno každých 10 minut."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Odeslání"
|
msgstr "Odeslání"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Čeká se na dostatek záznamů k zobrazení"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Chcete nám pomoci s našimi překlady ještě lépe? Podívejte se na <0>Crowdin</0> pro více informací."
|
msgstr "Chcete nám pomoci s našimi překlady ještě lépe? Podívejte se na <0>Crowdin</0> pro více informací."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Chce"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Varování (%)"
|
msgstr "Varování (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML konfigurace"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML konfigurace"
|
msgstr "YAML konfigurace"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Ano"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Vaše uživatelská nastavení byla aktualizována."
|
msgstr "Vaše uživatelská nastavení byla aktualizována."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: da\n"
|
"Language: da\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Danish\n"
|
"Language-Team: Danish\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 minutter"
|
msgstr "5 minutter"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Handlinger"
|
msgstr "Handlinger"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktiv"
|
msgstr "Aktiv"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktiv"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktive Alarmer"
|
msgstr "Aktive Alarmer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktiv tilstand"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Tilføj {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Tilføj <0>System</0>"
|
msgstr "Tilføj <0>System</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Tilføj nyt system"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Tilføj system"
|
msgstr "Tilføj system"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Tilføj URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Juster visningsindstillinger for diagrammer."
|
msgstr "Juster visningsindstillinger for diagrammer."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Juster bredden af hovedlayoutet"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrator"
|
msgstr "Administrator"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Efter"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Alle containere"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Båndbredde"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batteri"
|
msgstr "Batteri"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Blev aktiv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Blev inaktiv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Før"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel understøtter OpenID Connect og mange OAuth2 godkendelsesudbydere."
|
msgstr "Beszel understøtter OpenID Connect og mange OAuth2 godkendelsesudbydere."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binær"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (Kbps, Mbps, Gbps)"
|
msgstr "Bits (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Opstartstilstand"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bytes (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / Buffere"
|
msgstr "Cache / Buffere"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Kan genindlæse"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Kan starte"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Kan stoppe"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Fortryd"
|
msgstr "Fortryd"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Funktioner"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapacitet"
|
msgstr "Kapacitet"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Tjek logfiler for flere detaljer."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Tjek din notifikationstjeneste"
|
msgstr "Tjek din notifikationstjeneste"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Ryd"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Klik på en container for at se mere information."
|
msgstr "Klik på en container for at se mere information."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Konfigurer hvordan du modtager advarselsmeddelelser."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Bekræft adgangskode"
|
msgstr "Bekræft adgangskode"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konflikter"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Forbindelsen er nede"
|
msgstr "Forbindelsen er nede"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Kopier YAML"
|
msgstr "Kopier YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU-kerner"
|
msgstr "CPU-kerner"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU Peak"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU-tidsfordeling"
|
msgstr "CPU-tidsfordeling"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU-tidsfordeling"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU forbrug"
|
msgstr "CPU forbrug"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Opret"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Opret konto"
|
msgstr "Opret konto"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Nuværende tilstand"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cykler"
|
msgstr "Cykler"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Oversigtspanel"
|
msgid "Daily"
|
||||||
|
msgstr "Dagligt"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Standard tidsperiode"
|
msgstr "Standard tidsperiode"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Slet"
|
msgstr "Slet"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Slet"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Slet fingeraftryk"
|
msgstr "Slet fingeraftryk"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Beskrivelse"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Detalje"
|
msgstr "Detalje"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker Netværk I/O"
|
msgstr "Docker Netværk I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentation"
|
msgstr "Dokumentation"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Hent ned"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Varighed"
|
msgstr "Varighed"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Rediger"
|
msgstr "Rediger"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Rediger {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Email-notifikationer"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Tom"
|
msgstr "Tom"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Sluttid"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Indtast e-mailadresse for at nulstille adgangskoden"
|
msgstr "Indtast e-mailadresse for at nulstille adgangskoden"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Indtast din engangsadgangskode."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Fejl"
|
msgstr "Fejl"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Fejl"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Overskrider {0}{1} i sidste {2, plural, one {# minut} other {# minutter}}"
|
msgstr "Overskrider {0}{1} i sidste {2, plural, one {# minut} other {# minutter}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Eksisterende systemer ikke defineret i <0>config.yml</0> vil blive slettet. Opret venligst regelmæssige sikkerhedskopier."
|
msgstr "Eksisterende systemer ikke defineret i <0>config.yml</0> vil blive slettet. Opret venligst regelmæssige sikkerhedskopier."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Afsluttet aktiv"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Eksporter"
|
msgstr "Eksporter"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Eksporter din nuværende systemkonfiguration."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Mislykkedes"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Mislykkede attributter:"
|
msgstr "Mislykkede attributter:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Kunne ikke godkende"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Kunne ikke gemme indstillinger"
|
msgstr "Kunne ikke gemme indstillinger"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Afsendelse af testnotifikation mislykkedes"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Kunne ikke opdatere alarm"
|
msgstr "Kunne ikke opdatere alarm"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Mislykkedes: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filter..."
|
msgstr "Filter..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Fuldt opladt"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generelt"
|
msgstr "Generelt"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU-enheder"
|
msgstr "GPU-enheder"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU-enheder"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Gpu Strøm Træk"
|
msgstr "Gpu Strøm Træk"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU-forbrug"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Gitter"
|
msgstr "Gitter"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Billede"
|
msgstr "Billede"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inaktiv"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Ugyldig email adresse."
|
msgstr "Ugyldig email adresse."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Sprog"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Opstilling"
|
msgstr "Opstilling"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Layoutbredde"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Livscyklus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Belastning Gennemsnitlig"
|
msgstr "Belastning Gennemsnitlig"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Belastning Gennemsnitlig 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Belastning gns."
|
msgstr "Belastning gns."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Indlæsningstilstand"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Indlæser..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Log ud"
|
msgstr "Log ud"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Logs"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Leder du i stedet for efter hvor du kan oprette alarmer? Klik på klokken <0/> ikoner i system tabellen."
|
msgstr "Leder du i stedet for efter hvor du kan oprette alarmer? Klik på klokken <0/> ikoner i system tabellen."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Administrer display og notifikationsindstillinger."
|
msgstr "Administrer display og notifikationsindstillinger."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Maks. 1 min"
|
msgstr "Maks. 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Hukommelse"
|
msgstr "Hukommelse"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Hukommelsesgrænse"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Model"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Navn"
|
msgstr "Navn"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Netværkstrafik af offentlige grænseflader"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Netværksenhed"
|
msgstr "Netværksenhed"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nej"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Ingen resultater fundet."
|
msgstr "Ingen resultater fundet."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Ingen resultater fundet."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Ingen resultater."
|
msgstr "Ingen resultater."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "OAuth 2 / OIDC understøttelse"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Ved hver genstart vil systemer i databasen blive opdateret til at matche de systemer, der er defineret i filen."
|
msgstr "Ved hver genstart vil systemer i databasen blive opdateret til at matche de systemer, der er defineret i filen."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Engangs"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Engangsadgangskode"
|
msgstr "Engangsadgangskode"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Åbn menu"
|
msgstr "Åbn menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Andre"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Overskriv eksisterende alarmer"
|
msgstr "Overskriv eksisterende alarmer"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Adgangskoden skal være mindre end 72 bytes."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Anmodning om nulstilling af adgangskode modtaget"
|
msgstr "Anmodning om nulstilling af adgangskode modtaget"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Tidligere"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pause"
|
msgstr "Pause"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Præcis udnyttelse på det registrerede tidspunkt"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Foretrukket sprog"
|
msgstr "Foretrukket sprog"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proces startet"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Offentlig nøgle"
|
msgstr "Offentlig nøgle"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Stille timer"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Modtaget"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Opdater"
|
msgstr "Opdater"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relationer"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Anmod om engangsadgangskode"
|
msgstr "Anmod om engangsadgangskode"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Anmod om engangsadgangskode"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Anmod OTP"
|
msgstr "Anmod OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Kræves af"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Kræver"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Nulstil adgangskode"
|
msgstr "Nulstil adgangskode"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Nulstil adgangskode"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Løst"
|
msgstr "Løst"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Genstarter"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Genoptag"
|
msgstr "Genoptag"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Roter nøgle"
|
msgstr "Roter nøgle"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Roter nøgle"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Rækker per side"
|
msgstr "Rækker per side"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Køretidsmålinger"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T.-detaljer"
|
msgstr "S.M.A.R.T.-detaljer"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Gem indstillinger"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Gem system"
|
msgstr "Gem system"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Planlæg"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Planlæg stille timer hvor meddelelser ikke vil blive sendt, såsom under vedligeholdelsesperioder."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Planlæg stille timer hvor meddelelser ikke vil blive sendt."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Søg"
|
msgstr "Søg"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Søg efter systemer eller indstillinger..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Se <0>meddelelsesindstillinger</0> for at konfigurere, hvordan du modtager alarmer."
|
msgstr "Se <0>meddelelsesindstillinger</0> for at konfigurere, hvordan du modtager alarmer."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Vælg {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Sendt"
|
msgstr "Sendt"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Sendt"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Serienummer"
|
msgstr "Serienummer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Tjenestedetaljer"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Tjenester"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Indstil procentvise tærskler for målerfarver."
|
msgstr "Indstil procentvise tærskler for målerfarver."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP-indstillinger"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sorter efter"
|
msgstr "Sorter efter"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Starttid"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Tilstand"
|
msgstr "Tilstand"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Undertilstand"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap plads brugt af systemet"
|
msgstr "Swap plads brugt af systemet"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Swap plads brugt af systemet"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap forbrug"
|
msgstr "Swap forbrug"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "System"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Gennemsnitlig system belastning over tid"
|
msgstr "Gennemsnitlig system belastning over tid"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systemer"
|
msgstr "Systemer"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Systemer kan være administreres i filen <0>config.yml</0> i din datamap
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabel"
|
msgstr "Tabel"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Opgaver"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Samlet modtaget data for hver interface"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Samlet sendt data for hver interface"
|
msgstr "Samlet sendt data for hver interface"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "I alt: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Udløst af"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Udløsere"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Udløser når 1 minut belastning gennemsnit overstiger en tærskel"
|
msgstr "Udløser når 1 minut belastning gennemsnit overstiger en tærskel"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Udløses når de kombinerede op/ned overstiger en tærskel"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Udløser når CPU-forbrug overstiger en tærskel"
|
msgstr "Udløser når CPU-forbrug overstiger en tærskel"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Udløses når GPU-brug overstiger en grænse"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Udløser når hukommelsesforbruget overstiger en tærskel"
|
msgstr "Udløser når hukommelsesforbruget overstiger en tærskel"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Udløser når status skifter mellem op og ned"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Udløser når brugen af en disk overstiger en tærskel"
|
msgstr "Udløser når brugen af en disk overstiger en tærskel"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Universalnøgle"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Ukendt"
|
msgstr "Ukendt"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Oppe"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Oppe ({upSystemsLength})"
|
msgstr "Oppe ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Opdater"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Opdateret"
|
msgstr "Opdateret"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Opdateret hver 10. minut."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Overfør"
|
msgstr "Overfør"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Venter på nok posteringer til at vise"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Vil du hjælpe os med at gøre vores oversættelser endnu bedre? Tjek <0>Crowdin</0> for flere detaljer."
|
msgstr "Vil du hjælpe os med at gøre vores oversættelser endnu bedre? Tjek <0>Crowdin</0> for flere detaljer."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Ønsker"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Advarsel (%)"
|
msgstr "Advarsel (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML Konfiguration"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML Konfiguration"
|
msgstr "YAML Konfiguration"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Ja"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Dine brugerindstillinger er opdateret."
|
msgstr "Dine brugerindstillinger er opdateret."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 22:59\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 Min"
|
msgstr "5 Min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Aktionen"
|
msgstr "Aktionen"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktiv"
|
msgstr "Aktiv"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktiv"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktive Warnungen"
|
msgstr "Aktive Warnungen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktiver Zustand"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "{foo} hinzufügen"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "<0>System</0> hinzufügen"
|
msgstr "<0>System</0> hinzufügen"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Neues System hinzufügen"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "System hinzufügen"
|
msgstr "System hinzufügen"
|
||||||
@@ -110,11 +119,19 @@ msgstr "URL hinzufügen"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Anzeigeoptionen für Diagramme anpassen."
|
msgstr "Anzeigeoptionen für Diagramme anpassen."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Breite des Hauptlayouts anpassen"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Nach"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Alle Container"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Bandbreite"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batterie"
|
msgstr "Batterie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Wurde aktiv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Wurde inaktiv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Vor"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel unterstützt OpenID Connect und viele OAuth2-Authentifizierungsanbieter."
|
msgstr "Beszel unterstützt OpenID Connect und viele OAuth2-Authentifizierungsanbieter."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binär"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (Kbps, Mbps, Gbps)"
|
msgstr "Bits (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Boot-Zustand"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bytes (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / Puffer"
|
msgstr "Cache / Puffer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Kann neu laden"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Kann starten"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Kann stoppen"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Abbrechen"
|
msgstr "Abbrechen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Fähigkeiten"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapazität"
|
msgstr "Kapazität"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Überprüfe die Protokolle für weitere Details."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Überprüfe deinen Benachrichtigungsdienst"
|
msgstr "Überprüfe deinen Benachrichtigungsdienst"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Löschen"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Klicke auf einen Container, um weitere Informationen zu sehen."
|
msgstr "Klicke auf einen Container, um weitere Informationen zu sehen."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Konfiguriere, wie du Warnbenachrichtigungen erhältst."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Passwort bestätigen"
|
msgstr "Passwort bestätigen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konflikte"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Verbindung unterbrochen"
|
msgstr "Verbindung unterbrochen"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "YAML kopieren"
|
msgstr "YAML kopieren"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU-Kerne"
|
msgstr "CPU-Kerne"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU-Spitze"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU-Zeit"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU-Zeit-Aufschlüsselung"
|
msgstr "CPU-Zeit-Aufschlüsselung"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU-Zeit-Aufschlüsselung"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU-Auslastung"
|
msgstr "CPU-Auslastung"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Erstellen"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Konto erstellen"
|
msgstr "Konto erstellen"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Aktueller Zustand"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Zyklen"
|
msgstr "Zyklen"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Dashboard"
|
msgid "Daily"
|
||||||
|
msgstr "Täglich"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Standardzeitraum"
|
msgstr "Standardzeitraum"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Löschen"
|
msgstr "Löschen"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Löschen"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Fingerabdruck löschen"
|
msgstr "Fingerabdruck löschen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Beschreibung"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Details"
|
msgstr "Details"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker-Netzwerk-I/O"
|
msgstr "Docker-Netzwerk-I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentation"
|
msgstr "Dokumentation"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Herunterladen"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Dauer"
|
msgstr "Dauer"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Bearbeiten"
|
msgstr "Bearbeiten"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "{foo} bearbeiten"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "E-Mail-Benachrichtigungen"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Leer"
|
msgstr "Leer"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Endzeit"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "E-Mail-Adresse eingeben, um das Passwort zurückzusetzen"
|
msgstr "E-Mail-Adresse eingeben, um das Passwort zurückzusetzen"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Geben Sie Ihr Einmalpasswort ein."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Fehler"
|
msgstr "Fehler"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Fehler"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Überschreitet {0}{1} in den letzten {2, plural, one {# Minute} other {# Minuten}}"
|
msgstr "Überschreitet {0}{1} in den letzten {2, plural, one {# Minute} other {# Minuten}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Ausführungs-Haupt-PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Bestehende Systeme, die nicht in der <0>config.yml</0> definiert sind, werden gelöscht. Bitte mache regelmäßige Backups."
|
msgstr "Bestehende Systeme, die nicht in der <0>config.yml</0> definiert sind, werden gelöscht. Bitte mache regelmäßige Backups."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Beendet aktiv"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exportieren"
|
msgstr "Exportieren"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exportiere die aktuelle Systemkonfiguration."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Fehlgeschlagen"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Fehlgeschlagene Attribute:"
|
msgstr "Fehlgeschlagene Attribute:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Authentifizierung fehlgeschlagen"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Einstellungen konnten nicht gespeichert werden"
|
msgstr "Einstellungen konnten nicht gespeichert werden"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Testbenachrichtigung konnte nicht gesendet werden"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Warnung konnte nicht aktualisiert werden"
|
msgstr "Warnung konnte nicht aktualisiert werden"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Fehlgeschlagen: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filter..."
|
msgstr "Filter..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Voll"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Allgemein"
|
msgstr "Allgemein"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU-Engines"
|
msgstr "GPU-Engines"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU-Engines"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU-Leistungsaufnahme"
|
msgstr "GPU-Leistungsaufnahme"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU-Auslastung"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Raster"
|
msgstr "Raster"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Image"
|
msgstr "Image"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inaktiv"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Ungültige E-Mail-Adresse."
|
msgstr "Ungültige E-Mail-Adresse."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Sprache"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Anordnung"
|
msgstr "Anordnung"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Layoutbreite"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Lebenszyklus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "Limit"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Durchschnittliche Systemlast"
|
msgstr "Durchschnittliche Systemlast"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Durchschnittliche Systemlast 5 Min"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Systemlast"
|
msgstr "Systemlast"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Ladezustand"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Lädt..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Abmelden"
|
msgstr "Abmelden"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Protokolle"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Du möchtest neue Warnungen erstellen? Klicke dafür auf die Glocken-<0/>-Symbole in der Systemtabelle."
|
msgstr "Du möchtest neue Warnungen erstellen? Klicke dafür auf die Glocken-<0/>-Symbole in der Systemtabelle."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Haupt-PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Anzeige- und Benachrichtigungseinstellungen verwalten."
|
msgstr "Anzeige- und Benachrichtigungseinstellungen verwalten."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Max 1 Min"
|
msgstr "Max 1 Min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Arbeitsspeicher"
|
msgstr "Arbeitsspeicher"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Arbeitsspeicherlimit"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Arbeitsspeicher-Spitze"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modell"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Netzwerkverkehr der öffentlichen Schnittstellen"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Netzwerkeinheit"
|
msgstr "Netzwerkeinheit"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nein"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Keine Ergebnisse gefunden."
|
msgstr "Keine Ergebnisse gefunden."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Keine Ergebnisse gefunden."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Keine Ergebnisse."
|
msgstr "Keine Ergebnisse."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "OAuth 2 / OIDC-Unterstützung"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Bei jedem Neustart werden die Systeme in der Datenbank aktualisiert, um den in der Datei definierten Systemen zu entsprechen."
|
msgstr "Bei jedem Neustart werden die Systeme in der Datenbank aktualisiert, um den in der Datei definierten Systemen zu entsprechen."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Einmalig"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Einmalpasswort"
|
msgstr "Einmalpasswort"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Menü öffnen"
|
msgstr "Menü öffnen"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Andere"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Bestehende Warnungen überschreiben"
|
msgstr "Bestehende Warnungen überschreiben"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Das Passwort muss weniger als 72 Bytes lang sein."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Anfrage zum Zurücksetzen des Passworts erhalten"
|
msgstr "Anfrage zum Zurücksetzen des Passworts erhalten"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pause"
|
msgstr "Pause"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Genaue Nutzung zum aufgezeichneten Zeitpunkt"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Bevorzugte Sprache"
|
msgstr "Bevorzugte Sprache"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Prozess gestartet"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Öffentlicher Schlüssel"
|
msgstr "Öffentlicher Schlüssel"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Ruhezeiten"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Empfangen"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aktualisieren"
|
msgstr "Aktualisieren"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Beziehungen"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Einmalpasswort anfordern"
|
msgstr "Einmalpasswort anfordern"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Einmalpasswort anfordern"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "OTP anfordern"
|
msgstr "OTP anfordern"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Benötigt von"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Benötigt"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Passwort zurücksetzen"
|
msgstr "Passwort zurücksetzen"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Passwort zurücksetzen"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Gelöst"
|
msgstr "Gelöst"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Neustarts"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Fortsetzen"
|
msgstr "Fortsetzen"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Token rotieren"
|
msgstr "Token rotieren"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Token rotieren"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Zeilen pro Seite"
|
msgstr "Zeilen pro Seite"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Laufzeitmetriken"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T.-Details"
|
msgstr "S.M.A.R.T.-Details"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Einstellungen speichern"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "System speichern"
|
msgstr "System speichern"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Zeitplan"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Plane Ruhezeiten, in denen keine Benachrichtigungen gesendet werden, z. B. während Wartungszeiten."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Plane Ruhezeiten, in denen keine Benachrichtigungen gesendet werden."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Suche"
|
msgstr "Suche"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Nach Systemen oder Einstellungen suchen..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Siehe <0>Benachrichtigungseinstellungen</0>, um zu konfigurieren, wie du Warnungen erhältst."
|
msgstr "Siehe <0>Benachrichtigungseinstellungen</0>, um zu konfigurieren, wie du Warnungen erhältst."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Auswählen {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Gesendet"
|
msgstr "Gesendet"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Gesendet"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Seriennummer"
|
msgstr "Seriennummer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Servicedetails"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Dienste"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Prozentuale Schwellenwerte für Zählerfarben festlegen."
|
msgstr "Prozentuale Schwellenwerte für Zählerfarben festlegen."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP-Einstellungen"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sortieren nach"
|
msgstr "Sortieren nach"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Startzeit"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Unterzustand"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Vom System genutzter Swap-Speicher"
|
msgstr "Vom System genutzter Swap-Speicher"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Vom System genutzter Swap-Speicher"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap-Nutzung"
|
msgstr "Swap-Nutzung"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "System"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Systemlastdurchschnitt im Zeitverlauf"
|
msgstr "Systemlastdurchschnitt im Zeitverlauf"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd-Dienste"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systeme"
|
msgstr "Systeme"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Systeme können in einer <0>config.yml</0>-Datei im Datenverzeichnis ver
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabelle"
|
msgstr "Tabelle"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Aufgaben"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Empfangene Gesamtdatenmenge je Schnittstelle "
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Gesendete Gesamtdatenmenge je Schnittstelle"
|
msgstr "Gesendete Gesamtdatenmenge je Schnittstelle"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Gesamt: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Ausgelöst von"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Trigger"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Löst aus, wenn der Lastdurchschnitt der letzten Minute einen Schwellenwert überschreitet"
|
msgstr "Löst aus, wenn der Lastdurchschnitt der letzten Minute einen Schwellenwert überschreitet"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Löst aus, wenn die kombinierte Up- und Downloadrate einen Schwellenwert
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Löst aus, wenn die CPU-Auslastung einen Schwellenwert überschreitet"
|
msgstr "Löst aus, wenn die CPU-Auslastung einen Schwellenwert überschreitet"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Löst aus, wenn die GPU-Auslastung einen Schwellenwert überschreitet"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Löst aus, wenn die Arbeitsspeichernutzung einen Schwellenwert überschreitet"
|
msgstr "Löst aus, wenn die Arbeitsspeichernutzung einen Schwellenwert überschreitet"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Löst aus, wenn der Status zwischen online und offline wechselt"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Löst aus, wenn die Nutzung einer Festplatte einen Schwellenwert überschreitet"
|
msgstr "Löst aus, wenn die Nutzung einer Festplatte einen Schwellenwert überschreitet"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Typ"
|
msgstr "Typ"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Unit-Datei"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Universeller Token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Unbekannt"
|
msgstr "Unbekannt"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Unbegrenzt"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "aktiv"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "aktiv ({upSystemsLength})"
|
msgstr "aktiv ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aktualisieren"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Aktualisiert"
|
msgstr "Aktualisiert"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Alle 10 Minuten aktualisiert."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Hochladen"
|
msgstr "Hochladen"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Warten auf genügend Datensätze zur Anzeige"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Möchtest du uns helfen, unsere Übersetzungen noch besser zu machen? Schau dir <0>Crowdin</0> für weitere Details an."
|
msgstr "Möchtest du uns helfen, unsere Übersetzungen noch besser zu machen? Schau dir <0>Crowdin</0> für weitere Details an."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Möchte"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Warnung (%)"
|
msgstr "Warnung (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML-Konfiguration"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML-Konfiguration"
|
msgstr "YAML-Konfiguration"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Ja"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Deine Benutzereinstellungen wurden aktualisiert."
|
msgstr "Deine Benutzereinstellungen wurden aktualisiert."
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -71,13 +71,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Actions"
|
msgstr "Actions"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Active"
|
msgstr "Active"
|
||||||
|
|
||||||
@@ -85,14 +88,20 @@ msgstr "Active"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Active Alerts"
|
msgstr "Active Alerts"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Active state"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Add {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Add <0>System</0>"
|
msgstr "Add <0>System</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Add New System"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Add system"
|
msgstr "Add system"
|
||||||
@@ -105,11 +114,19 @@ msgstr "Add URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Adjust display options for charts."
|
msgstr "Adjust display options for charts."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Adjust the width of the main layout"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "After"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -134,6 +151,7 @@ msgstr "All Containers"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -195,6 +213,18 @@ msgstr "Bandwidth"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Battery"
|
msgstr "Battery"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Became active"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Became inactive"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Before"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgstr "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
@@ -212,6 +242,10 @@ msgstr "Binary"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (Kbps, Mbps, Gbps)"
|
msgstr "Bits (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Boot state"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -221,11 +255,28 @@ msgstr "Bytes (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / Buffers"
|
msgstr "Cache / Buffers"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Can reload"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Can start"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Can stop"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancel"
|
msgstr "Cancel"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Capabilities"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Capacity"
|
msgstr "Capacity"
|
||||||
@@ -271,6 +322,12 @@ msgstr "Check logs for more details."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Check your notification service"
|
msgstr "Check your notification service"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Clear"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Click on a container to view more information."
|
msgstr "Click on a container to view more information."
|
||||||
@@ -301,6 +358,10 @@ msgstr "Configure how you receive alert notifications."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Confirm password"
|
msgstr "Confirm password"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Conflicts"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Connection is down"
|
msgstr "Connection is down"
|
||||||
@@ -361,6 +422,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Copy YAML"
|
msgstr "Copy YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -369,6 +431,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU Cores"
|
msgstr "CPU Cores"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU Peak"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU time"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU Time Breakdown"
|
msgstr "CPU Time Breakdown"
|
||||||
@@ -380,6 +450,10 @@ msgstr "CPU Time Breakdown"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU Usage"
|
msgstr "CPU Usage"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Create"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Create account"
|
msgstr "Create account"
|
||||||
@@ -411,15 +485,18 @@ msgstr "Current state"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cycles"
|
msgstr "Cycles"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Dashboard"
|
msgid "Daily"
|
||||||
|
msgstr "Daily"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Default time period"
|
msgstr "Default time period"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Delete"
|
msgstr "Delete"
|
||||||
@@ -428,6 +505,10 @@ msgstr "Delete"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Delete fingerprint"
|
msgstr "Delete fingerprint"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Description"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Detail"
|
msgstr "Detail"
|
||||||
@@ -476,6 +557,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker Network I/O"
|
msgstr "Docker Network I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Documentation"
|
msgstr "Documentation"
|
||||||
|
|
||||||
@@ -499,11 +581,16 @@ msgstr "Download"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Duration"
|
msgstr "Duration"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Edit"
|
msgstr "Edit"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Edit {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -519,6 +606,11 @@ msgstr "Email notifications"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Empty"
|
msgstr "Empty"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "End Time"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Enter email address to reset password"
|
msgstr "Enter email address to reset password"
|
||||||
@@ -535,7 +627,10 @@ msgstr "Enter your one-time password."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Error"
|
msgstr "Error"
|
||||||
|
|
||||||
@@ -546,10 +641,18 @@ msgstr "Error"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgstr "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Exec main PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgstr "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Exited active"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Export"
|
msgstr "Export"
|
||||||
@@ -566,6 +669,10 @@ msgstr "Export your current systems configuration."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Failed"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Failed Attributes:"
|
msgstr "Failed Attributes:"
|
||||||
@@ -576,6 +683,7 @@ msgstr "Failed to authenticate"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Failed to save settings"
|
msgstr "Failed to save settings"
|
||||||
|
|
||||||
@@ -587,10 +695,16 @@ msgstr "Failed to send test notification"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Failed to update alert"
|
msgstr "Failed to update alert"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Failed: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filter..."
|
msgstr "Filter..."
|
||||||
@@ -628,6 +742,10 @@ msgstr "Full"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "General"
|
msgstr "General"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU Engines"
|
msgstr "GPU Engines"
|
||||||
@@ -636,6 +754,10 @@ msgstr "GPU Engines"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU Power Draw"
|
msgstr "GPU Power Draw"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU Usage"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Grid"
|
msgstr "Grid"
|
||||||
@@ -668,6 +790,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Image"
|
msgstr "Image"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inactive"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Invalid email address."
|
msgstr "Invalid email address."
|
||||||
@@ -685,6 +811,19 @@ msgstr "Language"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Layout"
|
msgstr "Layout"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Layout width"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Lifecycle"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "limit"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Load Average"
|
msgstr "Load Average"
|
||||||
@@ -706,6 +845,14 @@ msgstr "Load Average 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Load Avg"
|
msgstr "Load Avg"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Load state"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Loading..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Log Out"
|
msgstr "Log Out"
|
||||||
@@ -729,6 +876,10 @@ msgstr "Logs"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgstr "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Main PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Manage display and notification preferences."
|
msgstr "Manage display and notification preferences."
|
||||||
@@ -744,10 +895,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Max 1 min"
|
msgstr "Max 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Memory"
|
msgstr "Memory"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Memory limit"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Memory Peak"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -764,6 +926,8 @@ msgstr "Model"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
@@ -788,7 +952,14 @@ msgstr "Network traffic of public interfaces"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Network unit"
|
msgstr "Network unit"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "No"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "No results found."
|
msgstr "No results found."
|
||||||
|
|
||||||
@@ -797,6 +968,7 @@ msgstr "No results found."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "No results."
|
msgstr "No results."
|
||||||
|
|
||||||
@@ -823,12 +995,19 @@ msgstr "OAuth 2 / OIDC support"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgstr "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "One-time"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "One-time password"
|
msgstr "One-time password"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Open menu"
|
msgstr "Open menu"
|
||||||
@@ -845,6 +1024,7 @@ msgstr "Other"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Overwrite existing alerts"
|
msgstr "Overwrite existing alerts"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -877,6 +1057,10 @@ msgstr "Password must be less than 72 bytes."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Password reset request received"
|
msgstr "Password reset request received"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Past"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pause"
|
msgstr "Pause"
|
||||||
@@ -949,11 +1133,19 @@ msgstr "Precise utilization at the recorded time"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Preferred Language"
|
msgstr "Preferred Language"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Process started"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Public Key"
|
msgstr "Public Key"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Quiet Hours"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -966,9 +1158,14 @@ msgstr "Received"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Refresh"
|
msgstr "Refresh"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relationships"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Request a one-time password"
|
msgstr "Request a one-time password"
|
||||||
@@ -977,6 +1174,14 @@ msgstr "Request a one-time password"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Request OTP"
|
msgstr "Request OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Required by"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Requires"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Reset Password"
|
msgstr "Reset Password"
|
||||||
@@ -987,10 +1192,19 @@ msgstr "Reset Password"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Resolved"
|
msgstr "Resolved"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Restarts"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Resume"
|
msgstr "Resume"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Root"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Rotate token"
|
msgstr "Rotate token"
|
||||||
@@ -999,6 +1213,10 @@ msgstr "Rotate token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Rows per page"
|
msgstr "Rows per page"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Runtime Metrics"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. Details"
|
msgstr "S.M.A.R.T. Details"
|
||||||
@@ -1020,6 +1238,18 @@ msgstr "Save Settings"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Save system"
|
msgstr "Save system"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Schedule"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Schedule quiet hours where notifications will not be sent."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Search"
|
msgstr "Search"
|
||||||
@@ -1032,6 +1262,10 @@ msgstr "Search for systems or settings..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "See <0>notification settings</0> to configure how you receive alerts."
|
msgstr "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Select {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Sent"
|
msgstr "Sent"
|
||||||
@@ -1040,6 +1274,14 @@ msgstr "Sent"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Serial Number"
|
msgstr "Serial Number"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Service Details"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Services"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Set percentage thresholds for meter colors."
|
msgstr "Set percentage thresholds for meter colors."
|
||||||
@@ -1067,18 +1309,30 @@ msgstr "SMTP settings"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sort By"
|
msgstr "Sort By"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Start Time"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "State"
|
msgstr "State"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Sub State"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap space used by the system"
|
msgstr "Swap space used by the system"
|
||||||
@@ -1087,9 +1341,15 @@ msgstr "Swap space used by the system"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap Usage"
|
msgstr "Swap Usage"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1099,6 +1359,10 @@ msgstr "System"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "System load averages over time"
|
msgstr "System load averages over time"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd Services"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systems"
|
msgstr "Systems"
|
||||||
@@ -1111,6 +1375,10 @@ msgstr "Systems may be managed in a <0>config.yml</0> file inside your data dire
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Table"
|
msgstr "Table"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Tasks"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1207,6 +1475,19 @@ msgstr "Total data received for each interface"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Total data sent for each interface"
|
msgstr "Total data sent for each interface"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Total: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Triggered by"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Triggers"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Triggers when 1 minute load average exceeds a threshold"
|
msgstr "Triggers when 1 minute load average exceeds a threshold"
|
||||||
@@ -1231,6 +1512,10 @@ msgstr "Triggers when combined up/down exceeds a threshold"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Triggers when CPU usage exceeds a threshold"
|
msgstr "Triggers when CPU usage exceeds a threshold"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Triggers when GPU usage exceeds a threshold"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Triggers when memory usage exceeds a threshold"
|
msgstr "Triggers when memory usage exceeds a threshold"
|
||||||
@@ -1243,10 +1528,16 @@ msgstr "Triggers when status switches between up and down"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Triggers when usage of any disk exceeds a threshold"
|
msgstr "Triggers when usage of any disk exceeds a threshold"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Unit file"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1262,6 +1553,11 @@ msgstr "Universal token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Unknown"
|
msgstr "Unknown"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Unlimited"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1272,10 +1568,20 @@ msgstr "Up"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Up ({upSystemsLength})"
|
msgstr "Up ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Update"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Updated"
|
msgstr "Updated"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Updated every 10 minutes."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Upload"
|
msgstr "Upload"
|
||||||
@@ -1335,6 +1641,10 @@ msgstr "Waiting for enough records to display"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgstr "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Wants"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Warning (%)"
|
msgstr "Warning (%)"
|
||||||
@@ -1371,6 +1681,12 @@ msgstr "YAML Config"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML Configuration"
|
msgstr "YAML Configuration"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Yes"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Your user settings have been updated."
|
msgstr "Your user settings have been updated."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-11-04 22:13\n"
|
"PO-Revision-Date: 2025-12-01 23:32\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Acciones"
|
msgstr "Acciones"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Activo"
|
msgstr "Activo"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Activo"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Alertas activas"
|
msgstr "Alertas activas"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Estado activo"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Agregar {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Agregar <0>sistema</0>"
|
msgstr "Agregar <0>sistema</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Agregar nuevo sistema"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Agregar sistema"
|
msgstr "Agregar sistema"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Agregar URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Ajustar las opciones de visualización para los gráficos."
|
msgstr "Ajustar las opciones de visualización para los gráficos."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Ajustar el ancho del diseño principal"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrador"
|
msgstr "Administrador"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Después"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agente"
|
msgstr "Agente"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Todos los contenedores"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Ancho de banda"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batería"
|
msgstr "Batería"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Se activó"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Se desactivó"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Antes"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel admite OpenID Connect y muchos proveedores de autenticación OAuth2."
|
msgstr "Beszel admite OpenID Connect y muchos proveedores de autenticación OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binario"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (kbps, Mbps, Gbps)"
|
msgstr "Bits (kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Estado de arranque"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bytes (kB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Caché / Buffers"
|
msgstr "Caché / Buffers"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Puede recargarse"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Puede iniciarse"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Puede detenerse"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Capacidades"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Capacidad"
|
msgstr "Capacidad"
|
||||||
@@ -276,9 +327,15 @@ msgstr "Revisa los registros para más detalles."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Verifica tu servicio de notificaciones"
|
msgstr "Verifica tu servicio de notificaciones"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Haga clic en un contenedor para ver más información."
|
msgstr "Haz clic en un contenedor para ver más información."
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Click on a device to view more information."
|
msgid "Click on a device to view more information."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Configura cómo recibe las notificaciones de alertas."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Confirmar contraseña"
|
msgstr "Confirmar contraseña"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Conflictos"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "La conexión está caída"
|
msgstr "La conexión está caída"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Copiar YAML"
|
msgstr "Copiar YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "Núcleos de CPU"
|
msgstr "Núcleos de CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Pico de CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Tiempo de CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Desglose de tiempo de CPU"
|
msgstr "Desglose de tiempo de CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Desglose de tiempo de CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Uso de CPU"
|
msgstr "Uso de CPU"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Crear"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Crear cuenta"
|
msgstr "Crear cuenta"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Estado actual"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Ciclos"
|
msgstr "Ciclos"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Tablero"
|
msgid "Daily"
|
||||||
|
msgstr "Diariamente"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Periodo de tiempo predeterminado"
|
msgstr "Periodo de tiempo predeterminado"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Eliminar"
|
msgstr "Eliminar"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Eliminar"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Eliminar huella digital"
|
msgstr "Eliminar huella digital"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Descripción"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Detalle"
|
msgstr "Detalle"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "E/S de red de Docker"
|
msgstr "E/S de red de Docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Documentación"
|
msgstr "Documentación"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Descargar"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Duración"
|
msgstr "Duración"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Editar"
|
msgstr "Editar"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Editar {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Notificaciones por correo"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Vacía"
|
msgstr "Vacía"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Hora de finalización"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Ingresa la dirección de correo electrónico para restablecer la contraseña"
|
msgstr "Ingresa la dirección de correo electrónico para restablecer la contraseña"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Ingrese su contraseña de un solo uso."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Error"
|
msgstr "Error"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Error"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Excede {0}{1} en el último {2, plural, one {# minuto} other {# minutos}}"
|
msgstr "Excede {0}{1} en el último {2, plural, one {# minuto} other {# minutos}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "PID principal de ejecución"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Los sistemas existentes no definidos en <0>config.yml</0> serán eliminados. Por favor, haz copias de seguridad regularmente."
|
msgstr "Los sistemas existentes no definidos en <0>config.yml</0> serán eliminados. Por favor, haz copias de seguridad regularmente."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Salió activo"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exportar"
|
msgstr "Exportar"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exporta la configuración actual de sus sistemas."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Fallido"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Atributos fallidos:"
|
msgstr "Atributos fallidos:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Error al autenticar"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Error al guardar la configuración"
|
msgstr "Error al guardar la configuración"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Error al enviar la notificación de prueba"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Error al actualizar la alerta"
|
msgstr "Error al actualizar la alerta"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Fallidos: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtrar..."
|
msgstr "Filtrar..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Llena"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "General"
|
msgstr "General"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "Motores GPU"
|
msgstr "Motores GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "Motores GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Consumo de energía de la GPU"
|
msgstr "Consumo de energía de la GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Uso de GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Cuadrícula"
|
msgstr "Cuadrícula"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Imagen"
|
msgstr "Imagen"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inactivo"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Dirección de correo electrónico no válida."
|
msgstr "Dirección de correo electrónico no válida."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Idioma"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Diseño"
|
msgstr "Diseño"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Ancho del diseño"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Ciclo de vida"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "límite"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Carga media"
|
msgstr "Carga media"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Carga media 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Carga media"
|
msgstr "Carga media"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Estado de carga"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Cargando..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Cerrar sesión"
|
msgstr "Cerrar sesión"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Registros"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "¿Buscas dónde crear alertas? Haz clic en los iconos de campana <0/> en la tabla de sistemas."
|
msgstr "¿Buscas dónde crear alertas? Haz clic en los iconos de campana <0/> en la tabla de sistemas."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "PID principal"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Administrar preferencias de visualización y notificaciones."
|
msgstr "Administrar preferencias de visualización y notificaciones."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Máx. 1 min"
|
msgstr "Máx. 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Memoria"
|
msgstr "Memoria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Límite de memoria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Pico de memoria"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modelo"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nombre"
|
msgstr "Nombre"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Tráfico de red de interfaces públicas"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Unidad de red"
|
msgstr "Unidad de red"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "No"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "No se encontraron resultados."
|
msgstr "No se encontraron resultados."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "No se encontraron resultados."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Sin resultados."
|
msgstr "Sin resultados."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Soporte para OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "En cada reinicio, los sistemas en la base de datos se actualizarán para coincidir con los sistemas definidos en el archivo."
|
msgstr "En cada reinicio, los sistemas en la base de datos se actualizarán para coincidir con los sistemas definidos en el archivo."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Una vez"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Contraseña de un solo uso"
|
msgstr "Contraseña de un solo uso"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Abrir menú"
|
msgstr "Abrir menú"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Otro"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Sobrescribir alertas existentes"
|
msgstr "Sobrescribir alertas existentes"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "La contraseña debe ser menor de 72 bytes."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Solicitud de restablecimiento de contraseña recibida"
|
msgstr "Solicitud de restablecimiento de contraseña recibida"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Pasado"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pausar"
|
msgstr "Pausar"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Utilización precisa en el momento registrado"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Idioma preferido"
|
msgstr "Idioma preferido"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proceso iniciado"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Clave pública"
|
msgstr "Clave pública"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Horas de silencio"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Recibido"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualizar"
|
msgstr "Actualizar"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relaciones"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Solicitar contraseña de un solo uso"
|
msgstr "Solicitar contraseña de un solo uso"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Solicitar contraseña de un solo uso"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Solicitar OTP"
|
msgstr "Solicitar OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Requerido por"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Requiere"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Restablecer contraseña"
|
msgstr "Restablecer contraseña"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Restablecer contraseña"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Resuelto"
|
msgstr "Resuelto"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Reinicios"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Reanudar"
|
msgstr "Reanudar"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Raíz"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Rotar token"
|
msgstr "Rotar token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Rotar token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Filas por página"
|
msgstr "Filas por página"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Métricas de tiempo de ejecución"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "Detalles S.M.A.R.T."
|
msgstr "Detalles S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Guardar configuración"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Guardar sistema"
|
msgstr "Guardar sistema"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Programar"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Programe horas de silencio donde no se enviarán notificaciones, como durante períodos de mantenimiento."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Programe horas de silencio donde no se enviarán notificaciones."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Buscar"
|
msgstr "Buscar"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Buscar sistemas o configuraciones..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Consulta <0>configuración de notificaciones</0> para configurar cómo recibe alertas."
|
msgstr "Consulta <0>configuración de notificaciones</0> para configurar cómo recibe alertas."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Seleccionar {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Enviado"
|
msgstr "Enviado"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Enviado"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Número de serie"
|
msgstr "Número de serie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Detalles del servicio"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Servicios"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Establecer umbrales de porcentaje para los colores de los medidores."
|
msgstr "Establecer umbrales de porcentaje para los colores de los medidores."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Configuración SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar por"
|
msgstr "Ordenar por"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Hora de inicio"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Estado"
|
msgstr "Estado"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Estado"
|
msgstr "Estado"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Subestado"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Espacio de swap utilizado por el sistema"
|
msgstr "Espacio de swap utilizado por el sistema"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Espacio de swap utilizado por el sistema"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Uso de swap"
|
msgstr "Uso de swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Sistema"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Promedios de carga del sistema a lo largo del tiempo"
|
msgstr "Promedios de carga del sistema a lo largo del tiempo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Servicios de systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Sistemas"
|
msgstr "Sistemas"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Los sistemas pueden ser gestionados en un archivo <0>config.yml</0> dent
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabla"
|
msgstr "Tabla"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Tareas"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Datos totales recibidos por cada interfaz"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Datos totales enviados por cada interfaz"
|
msgstr "Datos totales enviados por cada interfaz"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Total: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Activado por"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Activadores"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Se activa cuando la carga media de 1 minuto supera un umbral"
|
msgstr "Se activa cuando la carga media de 1 minuto supera un umbral"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Se activa cuando la suma de subida/bajada supera un umbral"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Se activa cuando el uso de CPU supera un umbral"
|
msgstr "Se activa cuando el uso de CPU supera un umbral"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Se activa cuando el uso de GPU supera un umbral"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Se activa cuando el uso de memoria supera un umbral"
|
msgstr "Se activa cuando el uso de memoria supera un umbral"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Se activa cuando el estado cambia entre activo e inactivo"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Se activa cuando el uso de cualquier disco supera un umbral"
|
msgstr "Se activa cuando el uso de cualquier disco supera un umbral"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Tipo"
|
msgstr "Tipo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Archivo de unidad"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Token universal"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Desconocida"
|
msgstr "Desconocida"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Ilimitado"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Activo"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Activo ({upSystemsLength})"
|
msgstr "Activo ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Actualizar"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Actualizado"
|
msgstr "Actualizado"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Actualizado cada 10 minutos."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Cargar"
|
msgstr "Cargar"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Esperando suficientes registros para mostrar"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "¿Quieres ayudar a mejorar nuestras traducciones? Consulta <0>Crowdin</0> para más detalles."
|
msgstr "¿Quieres ayudar a mejorar nuestras traducciones? Consulta <0>Crowdin</0> para más detalles."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Desea"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Advertencia (%)"
|
msgstr "Advertencia (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "Configuración YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "Configuración YAML"
|
msgstr "Configuración YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Sí"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Tu configuración de usuario ha sido actualizada."
|
msgstr "Tu configuración de usuario ha sido actualizada."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: fa\n"
|
"Language: fa\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Persian\n"
|
"Language-Team: Persian\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "۵ دقیقه"
|
msgstr "۵ دقیقه"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "عملیات"
|
msgstr "عملیات"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "فعال"
|
msgstr "فعال"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "فعال"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr " هشدارهای فعال"
|
msgstr " هشدارهای فعال"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "وضعیت فعال"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "افزودن {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "افزودن <0>سیستم</0>"
|
msgstr "افزودن <0>سیستم</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "افزودن سیستم جدید"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "افزودن سیستم"
|
msgstr "افزودن سیستم"
|
||||||
@@ -110,11 +119,19 @@ msgstr "افزودن آدرس اینترنتی"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "تنظیم گزینههای نمایش برای نمودارها."
|
msgstr "تنظیم گزینههای نمایش برای نمودارها."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "تنظیم عرض چیدمان اصلی"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "مدیر"
|
msgstr "مدیر"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "بعد از"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "عامل"
|
msgstr "عامل"
|
||||||
@@ -139,6 +156,7 @@ msgstr "همه کانتینرها"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "پهنای باند"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "باتری"
|
msgstr "باتری"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "فعال شد"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "غیرفعال شد"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "قبل از"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "بِزل از OpenID Connect و بسیاری از ارائهدهندگان احراز هویت OAuth2 پشتیبانی میکند."
|
msgstr "بِزل از OpenID Connect و بسیاری از ارائهدهندگان احراز هویت OAuth2 پشتیبانی میکند."
|
||||||
@@ -217,6 +247,10 @@ msgstr "دودویی"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "بیت (کیلوبیت بر ثانیه، مگابیت بر ثانیه، گیگابیت بر ثانیه)"
|
msgstr "بیت (کیلوبیت بر ثانیه، مگابیت بر ثانیه، گیگابیت بر ثانیه)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "وضعیت بوت"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "بایت (کیلوبایت بر ثانیه، مگابایت بر ثان
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "حافظه پنهان / بافرها"
|
msgstr "حافظه پنهان / بافرها"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "میتواند بارگذاری مجدد شود"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "میتواند شروع شود"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "میتواند متوقف شود"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "لغو"
|
msgstr "لغو"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "قابلیتها"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "ظرفیت"
|
msgstr "ظرفیت"
|
||||||
@@ -276,6 +327,12 @@ msgstr "برای جزئیات بیشتر، لاگها را بررسی کنی
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "سرویس اطلاعرسانی خود را بررسی کنید"
|
msgstr "سرویس اطلاعرسانی خود را بررسی کنید"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "برای مشاهده اطلاعات بیشتر روی کانتینر کلیک کنید."
|
msgstr "برای مشاهده اطلاعات بیشتر روی کانتینر کلیک کنید."
|
||||||
@@ -306,6 +363,10 @@ msgstr "نحوه دریافت هشدارهای اطلاعرسانی را پی
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "تأیید رمز عبور"
|
msgstr "تأیید رمز عبور"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "تعارضها"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "اتصال قطع است"
|
msgstr "اتصال قطع است"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "کپی YAML"
|
msgstr "کپی YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "پردازنده"
|
msgstr "پردازنده"
|
||||||
@@ -374,6 +436,14 @@ msgstr "پردازنده"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "هستههای CPU"
|
msgstr "هستههای CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "حداکثر CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "زمان CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "تجزیه زمان CPU"
|
msgstr "تجزیه زمان CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "تجزیه زمان CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "میزان استفاده از پردازنده"
|
msgstr "میزان استفاده از پردازنده"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "ایجاد"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "ایجاد حساب کاربری"
|
msgstr "ایجاد حساب کاربری"
|
||||||
@@ -416,15 +490,18 @@ msgstr "وضعیت فعلی"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "چرخهها"
|
msgstr "چرخهها"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "داشبورد"
|
msgid "Daily"
|
||||||
|
msgstr "روزانه"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "بازه زمانی پیشفرض"
|
msgstr "بازه زمانی پیشفرض"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "حذف"
|
msgstr "حذف"
|
||||||
@@ -433,6 +510,10 @@ msgstr "حذف"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "حذف اثر انگشت"
|
msgstr "حذف اثر انگشت"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "توضیحات"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "جزئیات"
|
msgstr "جزئیات"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "ورودی/خروجی شبکه داکر"
|
msgstr "ورودی/خروجی شبکه داکر"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "مستندات"
|
msgstr "مستندات"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "دانلود"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "مدت زمان"
|
msgstr "مدت زمان"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "ویرایش"
|
msgstr "ویرایش"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "ویرایش {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "اعلانهای ایمیلی"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "خالی"
|
msgstr "خالی"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "زمان پایان"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "آدرس ایمیل را برای بازنشانی رمز عبور وارد کنید"
|
msgstr "آدرس ایمیل را برای بازنشانی رمز عبور وارد کنید"
|
||||||
@@ -540,7 +632,10 @@ msgstr "رمز عبور یکبار مصرف خود را وارد کنید."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "خطا"
|
msgstr "خطا"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "خطا"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "در {2, plural, one {# دقیقه} other {# دقیقه}} گذشته از {0}{1} بیشتر است"
|
msgstr "در {2, plural, one {# دقیقه} other {# دقیقه}} گذشته از {0}{1} بیشتر است"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "سیستمهای موجود که در <0>config.yml</0> تعریف نشدهاند حذف خواهند شد. لطفاً به طور منظم پشتیبانگیری کنید."
|
msgstr "سیستمهای موجود که در <0>config.yml</0> تعریف نشدهاند حذف خواهند شد. لطفاً به طور منظم پشتیبانگیری کنید."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "خروج فعال"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "خروجی گرفتن"
|
msgstr "خروجی گرفتن"
|
||||||
@@ -571,6 +674,10 @@ msgstr "پیکربندی سیستمهای فعلی خود را خارج کن
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "فارنهایت (°F)"
|
msgstr "فارنهایت (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "ناموفق"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "ویژگیهای ناموفق:"
|
msgstr "ویژگیهای ناموفق:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "احراز هویت ناموفق بود"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "ذخیره تنظیمات ناموفق بود"
|
msgstr "ذخیره تنظیمات ناموفق بود"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "ارسال اعلان آزمایشی ناموفق بود"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "بهروزرسانی هشدار ناموفق بود"
|
msgstr "بهروزرسانی هشدار ناموفق بود"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "ناموفق: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "فیلتر..."
|
msgstr "فیلتر..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "پر"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "عمومی"
|
msgstr "عمومی"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "جهانی"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "موتورهای GPU"
|
msgstr "موتورهای GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "موتورهای GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "مصرف برق پردازنده گرافیکی"
|
msgstr "مصرف برق پردازنده گرافیکی"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "میزان استفاده از GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "جدول"
|
msgstr "جدول"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "تصویر"
|
msgstr "تصویر"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "غیرفعال"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "آدرس ایمیل نامعتبر است."
|
msgstr "آدرس ایمیل نامعتبر است."
|
||||||
@@ -690,6 +816,19 @@ msgstr "زبان"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "طرحبندی"
|
msgstr "طرحبندی"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "عرض چیدمان"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "چرخه حیات"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "میانگین بار"
|
msgstr "میانگین بار"
|
||||||
@@ -711,6 +850,14 @@ msgstr "میانگین بار ۵ دقیقه"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "میانگین بار"
|
msgstr "میانگین بار"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "وضعیت بارگذاری"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "در حال بارگذاری..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "خروج"
|
msgstr "خروج"
|
||||||
@@ -734,6 +881,10 @@ msgstr "لاگها"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "به دنبال جایی برای ایجاد هشدار هستید؟ روی آیکونهای زنگ <0/> در جدول سیستمها کلیک کنید."
|
msgstr "به دنبال جایی برای ایجاد هشدار هستید؟ روی آیکونهای زنگ <0/> در جدول سیستمها کلیک کنید."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "مدیریت تنظیمات نمایش و اعلانها."
|
msgstr "مدیریت تنظیمات نمایش و اعلانها."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "حداکثر ۱ دقیقه"
|
msgstr "حداکثر ۱ دقیقه"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "حافظه"
|
msgstr "حافظه"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "محدودیت حافظه"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "حداکثر حافظه"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "مدل"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "نام"
|
msgstr "نام"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "ترافیک شبکه رابطهای عمومی"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "واحد شبکه"
|
msgstr "واحد شبکه"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "خیر"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "هیچ نتیجهای یافت نشد."
|
msgstr "هیچ نتیجهای یافت نشد."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "هیچ نتیجهای یافت نشد."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "نتیجهای یافت نشد."
|
msgstr "نتیجهای یافت نشد."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "پشتیبانی از OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "در هر بار راهاندازی مجدد، سیستمهای موجود در پایگاه داده با سیستمهای تعریف شده در فایل مطابقت داده میشوند."
|
msgstr "در هر بار راهاندازی مجدد، سیستمهای موجود در پایگاه داده با سیستمهای تعریف شده در فایل مطابقت داده میشوند."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "یکبار مصرف"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "رمز عبور یکبار مصرف"
|
msgstr "رمز عبور یکبار مصرف"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "باز کردن منو"
|
msgstr "باز کردن منو"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "سایر"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "بازنویسی هشدارهای موجود"
|
msgstr "بازنویسی هشدارهای موجود"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "رمز عبور باید کمتر از ۷۲ بایت باشد."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "درخواست بازنشانی رمز عبور دریافت شد"
|
msgstr "درخواست بازنشانی رمز عبور دریافت شد"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "گذشته"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "توقف"
|
msgstr "توقف"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "میزان دقیق استفاده در زمان ثبت شده"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "زبان ترجیحی"
|
msgstr "زبان ترجیحی"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "فرآیند شروع شد"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "کلید عمومی"
|
msgstr "کلید عمومی"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "ساعات آرام"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "دریافت شد"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "تازهسازی"
|
msgstr "تازهسازی"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "روابط"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "درخواست رمز عبور یکبار مصرف"
|
msgstr "درخواست رمز عبور یکبار مصرف"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "درخواست رمز عبور یکبار مصرف"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "درخواست OTP"
|
msgstr "درخواست OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "مورد نیاز توسط"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "نیازمند"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "بازنشانی رمز عبور"
|
msgstr "بازنشانی رمز عبور"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "بازنشانی رمز عبور"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "حل شده"
|
msgstr "حل شده"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "راهاندازی مجدد"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "ادامه"
|
msgstr "ادامه"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "چرخش توکن"
|
msgstr "چرخش توکن"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "چرخش توکن"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "ردیف در هر صفحه"
|
msgstr "ردیف در هر صفحه"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "معیارهای زمان اجرا"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "جزئیات S.M.A.R.T"
|
msgstr "جزئیات S.M.A.R.T"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "ذخیره تنظیمات"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "ذخیره سیستم"
|
msgstr "ذخیره سیستم"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "برنامهریزی"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "برنامهریزی ساعات آرام که در آن اعلانها ارسال نخواهند شد، مانند در طول دورههای تعمیر و نگهداری."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "برنامهریزی ساعات آرام که در آن اعلانها ارسال نخواهند شد."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "جستجو"
|
msgstr "جستجو"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "جستجو برای سیستمها یا تنظیمات..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "برای پیکربندی نحوه دریافت هشدارها، به <0>تنظیمات اعلان</0> مراجعه کنید."
|
msgstr "برای پیکربندی نحوه دریافت هشدارها، به <0>تنظیمات اعلان</0> مراجعه کنید."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "انتخاب {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "ارسال شد"
|
msgstr "ارسال شد"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "ارسال شد"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "شماره سریال"
|
msgstr "شماره سریال"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "جزئیات سرویس"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "سرویسها"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "آستانه های درصدی را برای رنگ های متر تنظیم کنید."
|
msgstr "آستانه های درصدی را برای رنگ های متر تنظیم کنید."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "تنظیمات SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "مرتبسازی بر اساس"
|
msgstr "مرتبسازی بر اساس"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "زمان شروع"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "وضعیت"
|
msgstr "وضعیت"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "وضعیت"
|
msgstr "وضعیت"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "وضعیت فرعی"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "فضای Swap استفاده شده توسط سیستم"
|
msgstr "فضای Swap استفاده شده توسط سیستم"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "فضای Swap استفاده شده توسط سیستم"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "میزان استفاده از Swap"
|
msgstr "میزان استفاده از Swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "سیستم"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "میانگین بار سیستم در طول زمان"
|
msgstr "میانگین بار سیستم در طول زمان"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "خدمات Systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "سیستمها"
|
msgstr "سیستمها"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "سیستمها ممکن است در یک فایل <0>config.yml</0>
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "جدول"
|
msgstr "جدول"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "وظایف"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "دادههای کل دریافت شده برای هر رابط"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "دادههای کل ارسال شده برای هر رابط"
|
msgstr "دادههای کل ارسال شده برای هر رابط"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "کل: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "فعال شده توسط"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "محرکها"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "هنگامی که میانگین بار ۱ دقیقهای از یک آستانه فراتر رود، فعال میشود"
|
msgstr "هنگامی که میانگین بار ۱ دقیقهای از یک آستانه فراتر رود، فعال میشود"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "هنگامی که مجموع بالا/پایین از یک آستانه
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "هنگامی که میزان استفاده از CPU از یک آستانه فراتر رود، فعال میشود"
|
msgstr "هنگامی که میزان استفاده از CPU از یک آستانه فراتر رود، فعال میشود"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "هنگامی که میزان استفاده از GPU از یک آستانه فراتر رود، فعال میشود"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "هنگامی که میزان استفاده از حافظه از یک آستانه فراتر رود، فعال میشود"
|
msgstr "هنگامی که میزان استفاده از حافظه از یک آستانه فراتر رود، فعال میشود"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "هنگامی که وضعیت بین بالا و پایین تغییر م
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "هنگامی که استفاده از هر دیسکی از یک آستانه فراتر رود، فعال میشود"
|
msgstr "هنگامی که استفاده از هر دیسکی از یک آستانه فراتر رود، فعال میشود"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "نوع"
|
msgstr "نوع"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "توکن جهانی"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "ناشناخته"
|
msgstr "ناشناخته"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "نامحدود"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "فعال"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "فعال ({upSystemsLength})"
|
msgstr "فعال ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "بهروزرسانی"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "بهروزرسانی شد"
|
msgstr "بهروزرسانی شد"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "هر ۱۰ دقیقه بهروزرسانی میشود."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "آپلود"
|
msgstr "آپلود"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "در انتظار رکوردهای کافی برای نمایش"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "میخواهید به ما کمک کنید تا ترجمههای خود را بهتر کنیم؟ برای جزئیات بیشتر به <0>Crowdin</0> مراجعه کنید."
|
msgstr "میخواهید به ما کمک کنید تا ترجمههای خود را بهتر کنیم؟ برای جزئیات بیشتر به <0>Crowdin</0> مراجعه کنید."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "میخواهد"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "هشدار (%)"
|
msgstr "هشدار (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "پیکربندی YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "پیکربندی YAML"
|
msgstr "پیکربندی YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "بله"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "تنظیمات کاربری شما بهروزرسانی شد."
|
msgstr "تنظیمات کاربری شما بهروزرسانی شد."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 22:59\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: French\n"
|
"Language-Team: French\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
@@ -34,7 +34,7 @@ msgstr "{count, plural, one {{countString} heure} other {{countString} heures}}"
|
|||||||
|
|
||||||
#: src/lib/utils.ts
|
#: src/lib/utils.ts
|
||||||
msgid "{count, plural, one {{countString} minute} few {{countString} minutes} many {{countString} minutes} other {{countString} minutes}}"
|
msgid "{count, plural, one {{countString} minute} few {{countString} minutes} many {{countString} minutes} other {{countString} minutes}}"
|
||||||
msgstr "{count, plural, one {{countString} minute} few {{countString} minutes} many {{countString} minutes} other {{countString} minutes}}"
|
msgstr "{count, plural, one {{countString} minute} other {{countString} minutes}}"
|
||||||
|
|
||||||
#: src/lib/utils.ts
|
#: src/lib/utils.ts
|
||||||
msgid "1 hour"
|
msgid "1 hour"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Actions"
|
msgstr "Actions"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Active"
|
msgstr "Active"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Active"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Alertes actives"
|
msgstr "Alertes actives"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "État actif"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Ajouter {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Ajouter <0>un Système</0>"
|
msgstr "Ajouter <0>un Système</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Ajouter un nouveau système"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Ajouter un système"
|
msgstr "Ajouter un système"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Ajouter l’URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Ajuster les options d'affichage pour les graphiques."
|
msgstr "Ajuster les options d'affichage pour les graphiques."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Ajuster la largeur de la mise en page principale"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Après"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Tous les conteneurs"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Bande passante"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batterie"
|
msgstr "Batterie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Devenu actif"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Devenu inactif"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Avant"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel prend en charge OpenID Connect et de nombreux fournisseurs d'authentification OAuth2."
|
msgstr "Beszel prend en charge OpenID Connect et de nombreux fournisseurs d'authentification OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binaire"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (Kbps, Mbps, Gbps)"
|
msgstr "Bits (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "État de démarrage"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bytes (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / Tampons"
|
msgstr "Cache / Tampons"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Peut recharger"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Peut démarrer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Peut arrêter"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Capacités"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Capacité"
|
msgstr "Capacité"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Vérifiez les journaux pour plus de détails."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Vérifiez votre service de notification"
|
msgstr "Vérifiez votre service de notification"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Effacer"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Cliquez sur un conteneur pour voir plus d'informations."
|
msgstr "Cliquez sur un conteneur pour voir plus d'informations."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Configurez comment vous recevez les notifications d'alerte."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Confirmer le mot de passe"
|
msgstr "Confirmer le mot de passe"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Conflits"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Connexion interrompue"
|
msgstr "Connexion interrompue"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Copier YAML"
|
msgstr "Copier YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "Cœurs CPU"
|
msgstr "Cœurs CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Pic CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Temps CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Répartition du temps CPU"
|
msgstr "Répartition du temps CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Répartition du temps CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Utilisation du CPU"
|
msgstr "Utilisation du CPU"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Créer"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Créer un compte"
|
msgstr "Créer un compte"
|
||||||
@@ -414,17 +488,20 @@ msgstr "État actuel"
|
|||||||
#. Power Cycles
|
#. Power Cycles
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr ""
|
msgstr "Cycles"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Tableau de bord"
|
msgid "Daily"
|
||||||
|
msgstr "Quotidien"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Période par défaut"
|
msgstr "Période par défaut"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Supprimer"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Supprimer l'empreinte"
|
msgstr "Supprimer l'empreinte"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Détail"
|
msgstr "Détail"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Entrée/Sortie réseau Docker"
|
msgstr "Entrée/Sortie réseau Docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Documentation"
|
msgstr "Documentation"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Télécharger"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Durée"
|
msgstr "Durée"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Éditer"
|
msgstr "Éditer"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Modifier {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Notifications par email"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Vide"
|
msgstr "Vide"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Heure de fin"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Entrez l'adresse email pour réinitialiser le mot de passe"
|
msgstr "Entrez l'adresse email pour réinitialiser le mot de passe"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Entrez votre mot de passe à usage unique."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Erreur"
|
msgstr "Erreur"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Erreur"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Dépasse {0}{1} dans {2, plural, one {la dernière # minute} other {les dernières # minutes}}"
|
msgstr "Dépasse {0}{1} dans {2, plural, one {la dernière # minute} other {les dernières # minutes}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "PID principal d'exécution"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Les systèmes existants non définis dans <0>config.yml</0> seront supprimés. Veuillez faire des sauvegardes régulières."
|
msgstr "Les systèmes existants non définis dans <0>config.yml</0> seront supprimés. Veuillez faire des sauvegardes régulières."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Sorti actif"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exporter"
|
msgstr "Exporter"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exportez la configuration actuelle de vos systèmes."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Échoué"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Attributs défaillants :"
|
msgstr "Attributs défaillants :"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Échec de l'authentification"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Échec de l'enregistrement des paramètres"
|
msgstr "Échec de l'enregistrement des paramètres"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Échec de l'envoi de la notification de test"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Échec de la mise à jour de l'alerte"
|
msgstr "Échec de la mise à jour de l'alerte"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Échec : {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtrer..."
|
msgstr "Filtrer..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Pleine"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Général"
|
msgstr "Général"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "Moteurs GPU"
|
msgstr "Moteurs GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "Moteurs GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Consommation du GPU"
|
msgstr "Consommation du GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Utilisation GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Grille"
|
msgstr "Grille"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Image"
|
msgstr "Image"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inactif"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Adresse email invalide."
|
msgstr "Adresse email invalide."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Langue"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Disposition"
|
msgstr "Disposition"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Largeur de la mise en page"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Cycle de vie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "limite"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Charge moyenne"
|
msgstr "Charge moyenne"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Charge moyenne 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Charge moy."
|
msgstr "Charge moy."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "État de charge"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Chargement..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Déconnexion"
|
msgstr "Déconnexion"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Journaux"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Vous cherchez plutôt où créer des alertes ? Cliquez sur les icônes de cloche <0/> dans le tableau des systèmes."
|
msgstr "Vous cherchez plutôt où créer des alertes ? Cliquez sur les icônes de cloche <0/> dans le tableau des systèmes."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "PID principal"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Gérer les préférences d'affichage et de notification."
|
msgstr "Gérer les préférences d'affichage et de notification."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Max 1 min"
|
msgstr "Max 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Mémoire"
|
msgstr "Mémoire"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Limite mémoire"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Pic mémoire"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modèle"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nom"
|
msgstr "Nom"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Trafic réseau des interfaces publiques"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Unité réseau"
|
msgstr "Unité réseau"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Non"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Aucun résultat trouvé."
|
msgstr "Aucun résultat trouvé."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Aucun résultat trouvé."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Aucun résultat."
|
msgstr "Aucun résultat."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Support OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "À chaque redémarrage, les systèmes dans la base de données seront mis à jour pour correspondre aux systèmes définis dans le fichier."
|
msgstr "À chaque redémarrage, les systèmes dans la base de données seront mis à jour pour correspondre aux systèmes définis dans le fichier."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Unique"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Mot de passe à usage unique"
|
msgstr "Mot de passe à usage unique"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Ouvrir le menu"
|
msgstr "Ouvrir le menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Autre"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Écraser les alertes existantes"
|
msgstr "Écraser les alertes existantes"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Le mot de passe doit être inférieur à 72 Octets."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Demande de réinitialisation du mot de passe reçue"
|
msgstr "Demande de réinitialisation du mot de passe reçue"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Passé"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pause"
|
msgstr "Pause"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Utilisation précise au moment enregistré"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Langue préférée"
|
msgstr "Langue préférée"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Processus démarré"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Clé publique"
|
msgstr "Clé publique"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Heures calmes"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Reçu"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Actualiser"
|
msgstr "Actualiser"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relations"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Demander un mot de passe à usage unique"
|
msgstr "Demander un mot de passe à usage unique"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Demander un mot de passe à usage unique"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Demander OTP"
|
msgstr "Demander OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Requis par"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Requiert"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Réinitialiser le mot de passe"
|
msgstr "Réinitialiser le mot de passe"
|
||||||
@@ -990,12 +1195,21 @@ msgstr "Réinitialiser le mot de passe"
|
|||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Résolution"
|
msgstr "Résolu"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Redémarrages"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Reprendre"
|
msgstr "Reprendre"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Racine"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Faire tourner le token"
|
msgstr "Faire tourner le token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Faire tourner le token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Lignes par page"
|
msgstr "Lignes par page"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Métriques d'exécution"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "Détails S.M.A.R.T."
|
msgstr "Détails S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Enregistrer les paramètres"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Sauvegarder le système"
|
msgstr "Sauvegarder le système"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Programmer"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Programmez des heures calmes où les notifications ne seront pas envoyées, par exemple pendant les périodes de maintenance."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Programmez des heures calmes où les notifications ne seront pas envoyées."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Recherche"
|
msgstr "Recherche"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Rechercher des systèmes ou des paramètres..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
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."
|
msgstr "Voir les <0>paramètres de notification</0> pour configurer comment vous recevez les alertes."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Sélectionner {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Envoyé"
|
msgstr "Envoyé"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Envoyé"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Numéro de série"
|
msgstr "Numéro de série"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Détails du service"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Services"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Définir des seuils de pourcentage pour les couleurs des compteurs."
|
msgstr "Définir des seuils de pourcentage pour les couleurs des compteurs."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Paramètres SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Trier par"
|
msgstr "Trier par"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Heure de début"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "État"
|
msgstr "État"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Statut"
|
msgstr "Statut"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Sous-état"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Espace Swap utilisé par le système"
|
msgstr "Espace Swap utilisé par le système"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Espace Swap utilisé par le système"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Utilisation du swap"
|
msgstr "Utilisation du swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Système"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Charges moyennes du système dans le temps"
|
msgstr "Charges moyennes du système dans le temps"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Services systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systèmes"
|
msgstr "Systèmes"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Les systèmes peuvent être gérés dans un fichier <0>config.yml</0> à
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tableau"
|
msgstr "Tableau"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Tâches"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Données totales reçues pour chaque interface"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Données totales envoyées pour chaque interface"
|
msgstr "Données totales envoyées pour chaque interface"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Total : {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Déclenché par"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Déclencheurs"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Se déclenche lorsque la charge moyenne sur 1 minute dépasse un seuil"
|
msgstr "Se déclenche lorsque la charge moyenne sur 1 minute dépasse un seuil"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Déclenchement lorsque le montant/descendant combinée dépasse un seuil
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Déclenchement lorsque l'utilisation du CPU dépasse un seuil"
|
msgstr "Déclenchement lorsque l'utilisation du CPU dépasse un seuil"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Déclenchement lorsque l'utilisation du GPU dépasse un seuil"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Déclenchement lorsque l'utilisation de la mémoire dépasse un seuil"
|
msgstr "Déclenchement lorsque l'utilisation de la mémoire dépasse un seuil"
|
||||||
@@ -1248,9 +1533,15 @@ msgstr "Se déclenche lorsque le statut passe de \"Joignable\" à \"Injoignable\
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Déclenchement lorsque l'utilisation de tout disque dépasse un seuil"
|
msgstr "Déclenchement lorsque l'utilisation de tout disque dépasse un seuil"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr "Type"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Fichier unité"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Token universel"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Inconnue"
|
msgstr "Inconnue"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Illimité"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Joignable"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Joignable ({upSystemsLength})"
|
msgstr "Joignable ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Mettre à jour"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Mis à jour"
|
msgstr "Mis à jour"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Mis à jour toutes les 10 minutes."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Téléverser"
|
msgstr "Téléverser"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "En attente de suffisamment d'enregistrements à afficher"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Vous voulez nous aider à améliorer nos traductions ? Consultez <0>Crowdin</0> pour plus de détails."
|
msgstr "Vous voulez nous aider à améliorer nos traductions ? Consultez <0>Crowdin</0> pour plus de détails."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Souhaite"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Avertissement (%)"
|
msgstr "Avertissement (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "Configuration YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "Configuration YAML"
|
msgstr "Configuration YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Oui"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Vos paramètres utilisateur ont été mis à jour."
|
msgstr "Vos paramètres utilisateur ont été mis à jour."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: he\n"
|
"Language: he\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-30 21:53\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hebrew\n"
|
"Language-Team: Hebrew\n"
|
||||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 דק'"
|
msgstr "5 דק'"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "פעולות"
|
msgstr "פעולות"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "פעיל"
|
msgstr "פעיל"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "פעיל"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "התראות פעילות"
|
msgstr "התראות פעילות"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "מצב פעיל"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "הוסף {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "הוסף <0>מערכת</0>"
|
msgstr "הוסף <0>מערכת</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "הוסף מערכת חדשה"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "הוסף מערכת"
|
msgstr "הוסף מערכת"
|
||||||
@@ -110,11 +119,19 @@ msgstr "הוסף URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "התאם אפשרויות תצוגה עבור גרפים."
|
msgstr "התאם אפשרויות תצוגה עבור גרפים."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "התאם את רוחב הפריסה הראשית"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "מנהל"
|
msgstr "מנהל"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "אחרי"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "סוכן"
|
msgstr "סוכן"
|
||||||
@@ -139,6 +156,7 @@ msgstr "כל הקונטיינרים"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "רוחב פס"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "סוללה"
|
msgstr "סוללה"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "הפך לפעיל"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "הפך ללא פעיל"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "לפני"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel תומך ב-OpenID Connect ובספקי אימות רבים של OAuth2."
|
msgstr "Beszel תומך ב-OpenID Connect ובספקי אימות רבים של OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "בינרי"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "ביטים (Kbps, Mbps, Gbps)"
|
msgstr "ביטים (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "מצב אתחול"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "בתים (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "מטמון / חוצצים"
|
msgstr "מטמון / חוצצים"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "יכול לטעון מחדש"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "יכול להתחיל"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "יכול לעצור"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "ביטול"
|
msgstr "ביטול"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "יכולות"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "קיבולת"
|
msgstr "קיבולת"
|
||||||
@@ -276,6 +327,12 @@ msgstr "בדוק לוגים לפרטים נוספים"
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "בדוק את שירות ההתראות שלך"
|
msgstr "בדוק את שירות ההתראות שלך"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "נקה"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "לחץ על קונטיינר כדי לצפות במידע נוסף."
|
msgstr "לחץ על קונטיינר כדי לצפות במידע נוסף."
|
||||||
@@ -306,6 +363,10 @@ msgstr "הגדר כיצד לקבל התראות."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "אשר סיסמה"
|
msgstr "אשר סיסמה"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "התנגשויות"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "החיבור נפל"
|
msgstr "החיבור נפל"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "העתק YAML"
|
msgstr "העתק YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "ליבות CPU"
|
msgstr "ליבות CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "שיא CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "זמן CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "פירוט זמן CPU"
|
msgstr "פירוט זמן CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "פירוט זמן CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "שימוש CPU"
|
msgstr "שימוש CPU"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "צור"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "צור חשבון"
|
msgstr "צור חשבון"
|
||||||
@@ -416,15 +490,18 @@ msgstr "מצב נוכחי"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "מחזורים"
|
msgstr "מחזורים"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "לוח בקרה"
|
msgid "Daily"
|
||||||
|
msgstr "יומי"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "תקופת זמן ברירת מחדל"
|
msgstr "תקופת זמן ברירת מחדל"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "מחק"
|
msgstr "מחק"
|
||||||
@@ -433,6 +510,10 @@ msgstr "מחק"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "מחק טביעת אצבע"
|
msgstr "מחק טביעת אצבע"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "תיאור"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "פרט"
|
msgstr "פרט"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "I/O של רשת Docker"
|
msgstr "I/O של רשת Docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "תיעוד"
|
msgstr "תיעוד"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "הורדה"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "משך זמן"
|
msgstr "משך זמן"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "ערוך"
|
msgstr "ערוך"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "ערוך {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "התראות אימייל"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "ריק"
|
msgstr "ריק"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "זמן סיום"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "הכנס כתובת אימייל לאיפוס סיסמה"
|
msgstr "הכנס כתובת אימייל לאיפוס סיסמה"
|
||||||
@@ -540,7 +632,10 @@ msgstr "הכנס את הסיסמה החד-פעמית שלך."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "שגיאה"
|
msgstr "שגיאה"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "שגיאה"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "עלה על {0}{1} ב{2, plural, one {דקה האחרונה} other {-# הדקות האחרונות}}"
|
msgstr "עלה על {0}{1} ב{2, plural, one {דקה האחרונה} other {-# הדקות האחרונות}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "PID ראשי של Exec"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "מערכות קיימות שלא מוגדרות ב-<0>config.yml</0> יימחקו. אנא בצע גיבויים באופן קבוע."
|
msgstr "מערכות קיימות שלא מוגדרות ב-<0>config.yml</0> יימחקו. אנא בצע גיבויים באופן קבוע."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "יצא פעיל"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "ייצא"
|
msgstr "ייצא"
|
||||||
@@ -571,6 +674,10 @@ msgstr "ייצא את תצורת המערכות הנוכחית שלך."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "פרנהייט (°F)"
|
msgstr "פרנהייט (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "נכשל"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "מאפיינים שנכשלו:"
|
msgstr "מאפיינים שנכשלו:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "אימות נכשל"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "שמירת הגדרות נכשלה"
|
msgstr "שמירת הגדרות נכשלה"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "שליחת התראת בדיקה נכשלה"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "עדכון התראה נכשל"
|
msgstr "עדכון התראה נכשל"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "נכשל: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "סנן..."
|
msgstr "סנן..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "מלא"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "כללי"
|
msgstr "כללי"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "גלובלי"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "מנועי GPU"
|
msgstr "מנועי GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "מנועי GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "צריכת חשמל GPU"
|
msgstr "צריכת חשמל GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "שימוש GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "רשת"
|
msgstr "רשת"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "תמונה"
|
msgstr "תמונה"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "לא פעיל"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "כתובת אימייל לא תקינה."
|
msgstr "כתובת אימייל לא תקינה."
|
||||||
@@ -690,6 +816,19 @@ msgstr "שפה"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "פריסה"
|
msgstr "פריסה"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "רוחב פריסה"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "מחזור חיים"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "גבול"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "ממוצע עומס"
|
msgstr "ממוצע עומס"
|
||||||
@@ -711,6 +850,14 @@ msgstr "ממוצע עומס 5ד"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "ממוצע עומס"
|
msgstr "ממוצע עומס"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "מצב עומס"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "טוען..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "התנתק"
|
msgstr "התנתק"
|
||||||
@@ -734,6 +881,10 @@ msgstr "יומנים"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "מחפש איפה ליצור התראות? לחץ על סמלי הפעמון <0/> בטבלת המערכות."
|
msgstr "מחפש איפה ליצור התראות? לחץ על סמלי הפעמון <0/> בטבלת המערכות."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "PID ראשי"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "נהל העדפות תצוגה והתראות."
|
msgstr "נהל העדפות תצוגה והתראות."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "מקס 1 דק'"
|
msgstr "מקס 1 דק'"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "זיכרון"
|
msgstr "זיכרון"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "גבול זיכרון"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "שיא זיכרון"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "דגם"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "שם"
|
msgstr "שם"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "תעבורת רשת של ממשקים ציבוריים"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "יחידת רשת"
|
msgstr "יחידת רשת"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "לא"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "לא נמצאו תוצאות."
|
msgstr "לא נמצאו תוצאות."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "לא נמצאו תוצאות."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "אין תוצאות."
|
msgstr "אין תוצאות."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "תמיכה ב-OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "בכל הפעלה מחדש, המערכות במסד הנתונים יעודכנו כדי להתאים למערכות המוגדרות בקובץ."
|
msgstr "בכל הפעלה מחדש, המערכות במסד הנתונים יעודכנו כדי להתאים למערכות המוגדרות בקובץ."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "חד-פעמי"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "סיסמה חד-פעמית"
|
msgstr "סיסמה חד-פעמית"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "פתח תפריט"
|
msgstr "פתח תפריט"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "אחר"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "דרוס התראות קיימות"
|
msgstr "דרוס התראות קיימות"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "הסיסמה חייבת להיות פחות מ-72 בתים."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "בקשת איפוס סיסמה התקבלה"
|
msgstr "בקשת איפוס סיסמה התקבלה"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "עבר"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "השהה"
|
msgstr "השהה"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "ניצול מדויק בזמן הרשום"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "שפה מועדפת"
|
msgstr "שפה מועדפת"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "תהליך התחיל"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "מפתח ציבורי"
|
msgstr "מפתח ציבורי"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "שעות שקט"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "התקבל"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "רענן"
|
msgstr "רענן"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "קשרים"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "בקש סיסמה חד-פעמית"
|
msgstr "בקש סיסמה חד-פעמית"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "בקש סיסמה חד-פעמית"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "בקש OTP"
|
msgstr "בקש OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "נדרש על ידי"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "דורש"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "איפוס סיסמה"
|
msgstr "איפוס סיסמה"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "איפוס סיסמה"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "נפתר"
|
msgstr "נפתר"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "הפעלות מחדש"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "המשך"
|
msgstr "המשך"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "סובב token"
|
msgstr "סובב token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "סובב token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "שורות לעמוד"
|
msgstr "שורות לעמוד"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "מדדי זמן ריצה"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "פרטי S.M.A.R.T."
|
msgstr "פרטי S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "שמור הגדרות"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "שמור מערכת"
|
msgstr "שמור מערכת"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "לוח זמנים"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "קבע שעות שקט שבהן לא יישלחו התראות, כמו במהלך תקופות תחזוקה."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "קבע שעות שקט שבהן לא יישלחו התראות."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "חיפוש"
|
msgstr "חיפוש"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "חפש מערכות או הגדרות..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "ראה <0>הגדרות התראות</0> כדי להגדיר כיצד אתה מקבל התראות."
|
msgstr "ראה <0>הגדרות התראות</0> כדי להגדיר כיצד אתה מקבל התראות."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "בחר {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "נשלח"
|
msgstr "נשלח"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "נשלח"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "מספר סידורי"
|
msgstr "מספר סידורי"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "פרטי שירות"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "שירותים"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "הגדר סף אחוזים עבור צבעי מד."
|
msgstr "הגדר סף אחוזים עבור צבעי מד."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "הגדרות SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "מיין לפי"
|
msgstr "מיין לפי"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "זמן התחלה"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "מצב"
|
msgstr "מצב"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "סטטוס"
|
msgstr "סטטוס"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "מצב משני"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "שטח swap בשימוש על ידי המערכת"
|
msgstr "שטח swap בשימוש על ידי המערכת"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "שטח swap בשימוש על ידי המערכת"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "שימוש ב-Swap"
|
msgstr "שימוש ב-Swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "מערכת"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "ממוצעי עומס מערכת לאורך זמן"
|
msgstr "ממוצעי עומס מערכת לאורך זמן"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "שירותי Systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "מערכות"
|
msgstr "מערכות"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "מערכות יכולות להיות מנוהלות בקובץ <0>config
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "טבלה"
|
msgstr "טבלה"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "משימות"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "סך נתונים שהתקבלו עבור כל ממשק"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "סך נתונים שנשלחו עבור כל ממשק"
|
msgstr "סך נתונים שנשלחו עבור כל ממשק"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "סה\"כ: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "הופעל על ידי"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "מפעילים"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "מופעל כאשר ממוצע העומס לדקה אחת עולה על סף"
|
msgstr "מופעל כאשר ממוצע העומס לדקה אחת עולה על סף"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "מופעל כאשר השילוב של למעלה/למטה עולה על
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "מופעל כאשר שימוש CPU עולה על סף"
|
msgstr "מופעל כאשר שימוש CPU עולה על סף"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "מופעל כאשר שימוש GPU עולה על סף"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "מופעל כאשר שימוש בזיכרון עולה על סף"
|
msgstr "מופעל כאשר שימוש בזיכרון עולה על סף"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "מופעל כאשר הסטטוס מתחלף בין למעלה ולמטה
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "מופעל כאשר שימוש בכל דיסק עולה על סף"
|
msgstr "מופעל כאשר שימוש בכל דיסק עולה על סף"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "סוג"
|
msgstr "סוג"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "קובץ יחידה"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "token אוניברסלי"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "לא ידוע"
|
msgstr "לא ידוע"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "ללא הגבלה"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "למעלה"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "למעלה ({upSystemsLength})"
|
msgstr "למעלה ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "עדכן"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "עודכן"
|
msgstr "עודכן"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "מתעדכן כל 10 דקות."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "העלאה"
|
msgstr "העלאה"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "ממתין לרשומות מספיקות לתצוגה"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "רוצה לעזור לשפר את התרגומים שלנו? בדוק <0>Crowdin</0> לפרטים."
|
msgstr "רוצה לעזור לשפר את התרגומים שלנו? בדוק <0>Crowdin</0> לפרטים."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "רוצה"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "אזהרה (%)"
|
msgstr "אזהרה (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "תצורת YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "תצורת YAML"
|
msgstr "תצורת YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "כן"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "הגדרות המשתמש שלך עודכנו."
|
msgstr "הגדרות המשתמש שלך עודכנו."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: hr\n"
|
"Language: hr\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Croatian\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"
|
"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"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 minuta"
|
msgstr "5 minuta"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Akcije"
|
msgstr "Akcije"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktivan"
|
msgstr "Aktivan"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktivan"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktivna upozorenja"
|
msgstr "Aktivna upozorenja"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktivno stanje"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Dodaj <0>Sistem</0>"
|
msgstr "Dodaj <0>Sistem</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Dodaj Novi Sistem"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Dodaj sistem"
|
msgstr "Dodaj sistem"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Dodaj URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Podesite opcije prikaza za grafikone."
|
msgstr "Podesite opcije prikaza za grafikone."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Prilagodite širinu glavnog rasporeda"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Nakon"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Svi spremnici"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Propusnost"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Baterija"
|
msgstr "Baterija"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Postalo aktivno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Postalo neaktivno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Prije"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel podržava OpenID Connect i mnoge druge OAuth2 davatalje autentifikacije."
|
msgstr "Beszel podržava OpenID Connect i mnoge druge OAuth2 davatalje autentifikacije."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binarni"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bitovi (Kbps, Mbps, Gbps)"
|
msgstr "Bitovi (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Stanje pokretanja"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bajtovi (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Predmemorija / Međuspremnici"
|
msgstr "Predmemorija / Međuspremnici"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Može se ponovno učitati"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Može se pokrenuti"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Može se zaustaviti"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Otkaži"
|
msgstr "Otkaži"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapacitet"
|
msgstr "Kapacitet"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Provjerite logove za više detalja."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Provjerite Vaš servis notifikacija"
|
msgstr "Provjerite Vaš servis notifikacija"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Očisti"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Kliknite na spremnik za prikaz više informacija."
|
msgstr "Kliknite na spremnik za prikaz više informacija."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Konfigurirajte način primanja obavijesti upozorenja."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Potvrdite lozinku"
|
msgstr "Potvrdite lozinku"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Sukobi"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Veza je pala"
|
msgstr "Veza je pala"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Kopiraj YAML"
|
msgstr "Kopiraj YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "Procesor"
|
msgstr "Procesor"
|
||||||
@@ -374,6 +436,14 @@ msgstr "Procesor"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU jezgre"
|
msgstr "CPU jezgre"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU vrhunac"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU vrijeme"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Raspodjela CPU vremena"
|
msgstr "Raspodjela CPU vremena"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Raspodjela CPU vremena"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Iskorištenost procesora"
|
msgstr "Iskorištenost procesora"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Stvori"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Napravite račun"
|
msgstr "Napravite račun"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Trenutno stanje"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Ciklusi"
|
msgstr "Ciklusi"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Nadzorna ploča"
|
msgid "Daily"
|
||||||
|
msgstr "Dnevno"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Zadano vremensko razdoblje"
|
msgstr "Zadano vremensko razdoblje"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Izbriši"
|
msgstr "Izbriši"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Izbriši"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Izbriši otisak"
|
msgstr "Izbriši otisak"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Opis"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Detalj"
|
msgstr "Detalj"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker Mrežni I/O"
|
msgstr "Docker Mrežni I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentacija"
|
msgstr "Dokumentacija"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Preuzmi"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Trajanje"
|
msgstr "Trajanje"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Uredi"
|
msgstr "Uredi"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Email notifikacije"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Prazna"
|
msgstr "Prazna"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Vrijeme završetka"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Unesite email adresu za resetiranje lozinke"
|
msgstr "Unesite email adresu za resetiranje lozinke"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Unesite Vašu jednokratnu lozinku."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Greška"
|
msgstr "Greška"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Greška"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
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}}"
|
msgstr "Premašuje {0}{1} u posljednjih {2, plural, one {# minuta} other {# minute}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Glavni PID izvršavanja"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
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."
|
msgstr "Postojeći sistemi koji nisu definirani u <0>config.yml</0> će biti izbrisani. Molimo Vas napravite redovite sigurnosne kopije."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Izašlo aktivno"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Izvezi"
|
msgstr "Izvezi"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Izvoz trenutne sistemske konfiguracije."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Farenhajt (°F)"
|
msgstr "Farenhajt (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Neuspješno"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Neuspjeli atributi:"
|
msgstr "Neuspjeli atributi:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Provjera autentičnosti nije uspjela"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Neuspješno snimanje postavki"
|
msgstr "Neuspješno snimanje postavki"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Neuspješno slanje testne notifikacije"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Ažuriranje upozorenja nije uspjelo"
|
msgstr "Ažuriranje upozorenja nije uspjelo"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Neuspjelo: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtriraj..."
|
msgstr "Filtriraj..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Puna"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Općenito"
|
msgstr "Općenito"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globalno"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU motori"
|
msgstr "GPU motori"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU motori"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Energetska potrošnja grafičkog procesora"
|
msgstr "Energetska potrošnja grafičkog procesora"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Iskorištenost GPU-a"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Mreža"
|
msgstr "Mreža"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Slika"
|
msgstr "Slika"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Neaktivno"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Nevažeća adresa e-pošte."
|
msgstr "Nevažeća adresa e-pošte."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Jezik"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Izgled"
|
msgstr "Izgled"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Širina rasporeda"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Životni ciklus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "ograničenje"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Prosječno Opterećenje"
|
msgstr "Prosječno Opterećenje"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Prosječno Opterećenje 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Prosječno opterećenje"
|
msgstr "Prosječno opterećenje"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Stanje učitavanja"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Učitavanje..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Odjava"
|
msgstr "Odjava"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Logovi"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
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."
|
msgstr "Tražite gdje stvoriti upozorenja? Kliknite ikonu zvona <0/> u tablici sustava."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Glavni PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Upravljajte postavkama prikaza i obavijesti."
|
msgstr "Upravljajte postavkama prikaza i obavijesti."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Maksimalno 1 minuta"
|
msgstr "Maksimalno 1 minuta"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Memorija"
|
msgstr "Memorija"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Ograničenje memorije"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Vrhunac memorije"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr ""
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Ime"
|
msgstr "Ime"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Mrežni promet javnih sučelja"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Mjerna jedinica za mrežu"
|
msgstr "Mjerna jedinica za mrežu"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Ne"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Nema rezultata."
|
msgstr "Nema rezultata."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Nema rezultata."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Nema rezultata."
|
msgstr "Nema rezultata."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Podrška za OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
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."
|
msgstr "Prilikom svakog ponovnog pokretanja, sustavi u bazi podataka biti će ažurirani kako bi odgovarali sustavima definiranim u datoteci."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Jednokratno"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Jednokratna lozinka"
|
msgstr "Jednokratna lozinka"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Otvori menu"
|
msgstr "Otvori menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Ostalo"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Prebrišite postojeća upozorenja"
|
msgstr "Prebrišite postojeća upozorenja"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Lozinka mora biti kraća od 72 bajta."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Zahtjev za ponovno postavljanje lozinke primljen"
|
msgstr "Zahtjev za ponovno postavljanje lozinke primljen"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Prošlost"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pauza"
|
msgstr "Pauza"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Precizno iskorištenje u zabilježenom vremenu"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Preferirani jezik"
|
msgstr "Preferirani jezik"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proces pokrenut"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Javni Ključ"
|
msgstr "Javni Ključ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Tihi sati"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Primljeno"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Osvježi"
|
msgstr "Osvježi"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Odnosi"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Zatraži jednokratnu lozinku"
|
msgstr "Zatraži jednokratnu lozinku"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Zatraži jednokratnu lozinku"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Zatraži OTP"
|
msgstr "Zatraži OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Zahtijeva"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Zahtijeva"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Resetiraj Lozinku"
|
msgstr "Resetiraj Lozinku"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Resetiraj Lozinku"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Razrješeno"
|
msgstr "Razrješeno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Ponovna pokretanja"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Nastavi"
|
msgstr "Nastavi"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Promijeni token"
|
msgstr "Promijeni token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Promijeni token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Redovi po stranici"
|
msgstr "Redovi po stranici"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Metrike izvršavanja"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. Detalji"
|
msgstr "S.M.A.R.T. Detalji"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Spremi Postavke"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Spremi sustav"
|
msgstr "Spremi sustav"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Raspored"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Rasporedi tihe sate kada se obavijesti neće slati, na primjer tijekom razdoblja održavanja."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Rasporedi tihe sate kada se obavijesti neće slati."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Pretraži"
|
msgstr "Pretraži"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Pretraži za sisteme ili postavke..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
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."
|
msgstr "Pogledajte <0>postavke obavijesti</0> da biste konfigurirali način primanja upozorenja."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Poslano"
|
msgstr "Poslano"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Poslano"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Serijski broj"
|
msgstr "Serijski broj"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Detalji usluge"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Usluge"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Postavite pragove postotka za boje mjerača."
|
msgstr "Postavite pragove postotka za boje mjerača."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP postavke"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sortiraj po"
|
msgstr "Sortiraj po"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Vrijeme početka"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Stanje"
|
msgstr "Stanje"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Podstanje"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap prostor uzet od strane sistema"
|
msgstr "Swap prostor uzet od strane sistema"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Swap prostor uzet od strane sistema"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap Iskorištenost"
|
msgstr "Swap Iskorištenost"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Sistem"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Prosječno opterećenje sustava kroz vrijeme"
|
msgstr "Prosječno opterećenje sustava kroz vrijeme"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Sistemi"
|
msgstr "Sistemi"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Sistemima se može upravljati u <0>config.yml</0> datoteci unutar data d
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tablica"
|
msgstr "Tablica"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Zadaci"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Ukupni podaci primljeni za svako sučelje"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Ukupni podaci poslani za svako sučelje"
|
msgstr "Ukupni podaci poslani za svako sučelje"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Ukupno: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Pokrenuto od"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Okidači"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Pokreće se kada prosječna opterećenost sustava unutar 1 minute prijeđe prag"
|
msgstr "Pokreće se kada prosječna opterećenost sustava unutar 1 minute prijeđe prag"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Pokreće se kada kombinacija gore/dolje premaši prag"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Pokreće se kada iskorištenost procesora premaši prag"
|
msgstr "Pokreće se kada iskorištenost procesora premaši prag"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Pokreće se kada iskorištenost GPU-a premaši prag"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Pokreće se kada iskorištenost memorije premaši prag"
|
msgstr "Pokreće se kada iskorištenost memorije premaši prag"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Pokreće se kada se status sistema promijeni"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Pokreće se kada iskorištenost bilo kojeg diska premaši prag"
|
msgstr "Pokreće se kada iskorištenost bilo kojeg diska premaši prag"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Vrsta"
|
msgstr "Vrsta"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Datoteka jedinice"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Sveopći token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Nepoznata"
|
msgstr "Nepoznata"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Neograničeno"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Sustav je podignut"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Sustav je podignut ({upSystemsLength})"
|
msgstr "Sustav je podignut ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Ažuriraj"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Ažurirano"
|
msgstr "Ažurirano"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Ažurirano svakih 10 minuta."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Otpremi"
|
msgstr "Otpremi"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Čeka se na više podataka prije prikaza"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Želite li nam pomoći da naše prijevode učinimo još boljim? Posjetite <0>Crowdin</0> za više detalja."
|
msgstr "Želite li nam pomoći da naše prijevode učinimo još boljim? Posjetite <0>Crowdin</0> za više detalja."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Želi"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Upozorenje (%)"
|
msgstr "Upozorenje (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML konfiguracija"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML Konfiguracija"
|
msgstr "YAML Konfiguracija"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Da"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Vaše korisničke postavke su ažurirane."
|
msgstr "Vaše korisničke postavke su ažurirane."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: hu\n"
|
"Language: hu\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 22:59\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Hungarian\n"
|
"Language-Team: Hungarian\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 perc"
|
msgstr "5 perc"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Műveletek"
|
msgstr "Műveletek"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktív"
|
msgstr "Aktív"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktív"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktív riasztások"
|
msgstr "Aktív riasztások"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktív állapot"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Hozzáadás <0>System</0>"
|
msgstr "Hozzáadás <0>System</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Új rendszer hozzáadása"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Rendszer hozzáadása"
|
msgstr "Rendszer hozzáadása"
|
||||||
@@ -110,11 +119,19 @@ msgstr "URL hozzáadása"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Állítsa be a diagram megjelenítését."
|
msgstr "Állítsa be a diagram megjelenítését."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "A fő elrendezés szélességének beállítása"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Adminisztráció"
|
msgstr "Adminisztráció"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Utána"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Ügynök"
|
msgstr "Ügynök"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Összes konténer"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Sávszélesség"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Akkumulátor"
|
msgstr "Akkumulátor"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Aktívvá vált"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Inaktívvá vált"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Előtte"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "A Beszel támogatja az OpenID Connect-et és számos OAuth2 hitelesítési szolgáltatót."
|
msgstr "A Beszel támogatja az OpenID Connect-et és számos OAuth2 hitelesítési szolgáltatót."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Bináris"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bitek (Kbps, Mbps, Gbps)"
|
msgstr "Bitek (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Indítási állapot"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Byte-ok (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Gyorsítótár / Pufferelések"
|
msgstr "Gyorsítótár / Pufferelések"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Újratölthető"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Indítható"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Leállítható"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Mégsem"
|
msgstr "Mégsem"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Képességek"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapacitás"
|
msgstr "Kapacitás"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Ellenőrizd a naplót a további részletekért."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Ellenőrizd az értesítési szolgáltatásodat"
|
msgstr "Ellenőrizd az értesítési szolgáltatásodat"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Törlés"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Kattintson egy konténerre a további információk megtekintéséhez."
|
msgstr "Kattintson egy konténerre a további információk megtekintéséhez."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Konfiguráld, hogyan kapod az értesítéseket."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Jelszó megerősítése"
|
msgstr "Jelszó megerősítése"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konfliktusok"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Kapcsolat megszakadt"
|
msgstr "Kapcsolat megszakadt"
|
||||||
@@ -355,17 +416,18 @@ msgstr "Szöveg másolása"
|
|||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Copy the installation command for the agent below, or register agents automatically with a <0>universal token</0>."
|
msgid "Copy the installation command for the agent below, or register agents automatically with a <0>universal token</0>."
|
||||||
msgstr ""
|
msgstr "Másold az alábbi ügynök telepítési parancsát, vagy regisztráld az ügynököket automatikusan egy <0>univerzális tokennel</0>."
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Copy the<0>docker-compose.yml</0> content for the agent below, or register agents automatically with a <1>universal token</1>."
|
msgid "Copy the<0>docker-compose.yml</0> content for the agent below, or register agents automatically with a <1>universal token</1>."
|
||||||
msgstr ""
|
msgstr "Másold az alábbi ügynök <0>docker-compose.yml</0> tartalmát, vagy regisztráld az ügynököket automatikusan egy <1>univerzális tokennel</1>."
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Copy YAML"
|
msgid "Copy YAML"
|
||||||
msgstr "YAML másolása"
|
msgstr "YAML másolása"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU magok"
|
msgstr "CPU magok"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU csúcs"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU idő"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU idő felbontása"
|
msgstr "CPU idő felbontása"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU idő felbontása"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU használat"
|
msgstr "CPU használat"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Létrehozás"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Fiók létrehozása"
|
msgstr "Fiók létrehozása"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Jelenlegi állapot"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Ciklusok"
|
msgstr "Ciklusok"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Áttekintés"
|
msgid "Daily"
|
||||||
|
msgstr "Napi"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Alapértelmezett időszak"
|
msgstr "Alapértelmezett időszak"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Törlés"
|
msgstr "Törlés"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Törlés"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Ujjlenyomat törlése"
|
msgstr "Ujjlenyomat törlése"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Leírás"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Részlet"
|
msgstr "Részlet"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker hálózat I/O"
|
msgstr "Docker hálózat I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentáció"
|
msgstr "Dokumentáció"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Letöltés"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Időtartam"
|
msgstr "Időtartam"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Szerkesztés"
|
msgstr "Szerkesztés"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "E-mail értesítések"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Üres"
|
msgstr "Üres"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Befejezés ideje"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "E-mail cím megadása a jelszó visszaállításához"
|
msgstr "E-mail cím megadása a jelszó visszaállításához"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Adja meg az egyszeri jelszavát."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Hiba"
|
msgstr "Hiba"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Hiba"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Túllépi a {0}{1} értéket az elmúlt {2, plural, one {# percben} other {# percben}}"
|
msgstr "Túllépi a {0}{1} értéket az elmúlt {2, plural, one {# percben} other {# percben}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "A <0>config.yml</0> fájlban nem definiált meglévő rendszerek törlésre kerülnek. Kérjük, készítsen rendszeres biztonsági mentéseket."
|
msgstr "A <0>config.yml</0> fájlban nem definiált meglévő rendszerek törlésre kerülnek. Kérjük, készítsen rendszeres biztonsági mentéseket."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Aktívként kilépett"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exportálás"
|
msgstr "Exportálás"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exportálja a jelenlegi rendszerkonfigurációt."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Sikertelen"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Sikertelen attribútumok:"
|
msgstr "Sikertelen attribútumok:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Hitelesítés sikertelen"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Nem sikerült menteni a beállításokat"
|
msgstr "Nem sikerült menteni a beállításokat"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Teszt értesítés elküldése sikertelen"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Nem sikerült frissíteni a riasztást"
|
msgstr "Nem sikerült frissíteni a riasztást"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Sikertelen: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Szűrő..."
|
msgstr "Szűrő..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Tele"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Általános"
|
msgstr "Általános"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globális"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU-k"
|
msgstr "GPU-k"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU-k"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU áramfelvétele"
|
msgstr "GPU áramfelvétele"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU használat"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Rács"
|
msgstr "Rács"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Kép"
|
msgstr "Kép"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inaktív"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Érvénytelen e-mail cím."
|
msgstr "Érvénytelen e-mail cím."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Nyelv"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Elrendezés"
|
msgstr "Elrendezés"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Elrendezés szélessége"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Életciklus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "korlát"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Terhelési átlag"
|
msgstr "Terhelési átlag"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Terhelési átlag 5p"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Terhelési átlag"
|
msgstr "Terhelési átlag"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Betöltési állapot"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Betöltés..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Kijelentkezés"
|
msgstr "Kijelentkezés"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Naplók"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Inkább azt keresi, hogy hol hozhat létre riasztásokat? Kattintson a csengő <0/> ikonokra a rendszerek táblázatában."
|
msgstr "Inkább azt keresi, hogy hol hozhat létre riasztásokat? Kattintson a csengő <0/> ikonokra a rendszerek táblázatában."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "A megjelenítési és értesítési beállítások kezelése."
|
msgstr "A megjelenítési és értesítési beállítások kezelése."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Maximum 1 perc"
|
msgstr "Maximum 1 perc"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "RAM"
|
msgstr "RAM"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Memória korlát"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Memória csúcs"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modell"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Név"
|
msgstr "Név"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Nyilvános interfészek hálózati forgalma"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Sávszélesség mértékegysége"
|
msgstr "Sávszélesség mértékegysége"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nem"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Nincs találat."
|
msgstr "Nincs találat."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Nincs találat."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Nincs találat."
|
msgstr "Nincs találat."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "OAuth 2 / OIDC támogatás"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Minden újraindításkor az adatbázisban lévő rendszerek frissítésre kerülnek, hogy megfeleljenek a fájlban meghatározott rendszereknek."
|
msgstr "Minden újraindításkor az adatbázisban lévő rendszerek frissítésre kerülnek, hogy megfeleljenek a fájlban meghatározott rendszereknek."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Egyszeri"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Egyszeri jelszó"
|
msgstr "Egyszeri jelszó"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Menü megnyitása"
|
msgstr "Menü megnyitása"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Egyéb"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Felülírja a meglévő riasztásokat"
|
msgstr "Felülírja a meglévő riasztásokat"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "A jelszó legfeljebb 72 byte lehet."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Jelszó-visszaállítási kérelmet kaptunk"
|
msgstr "Jelszó-visszaállítási kérelmet kaptunk"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Múlt"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Szüneteltetés"
|
msgstr "Szüneteltetés"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Pontos kihasználás a rögzített időpontban"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Preferált nyelv"
|
msgstr "Preferált nyelv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Folyamat elindítva"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Nyilvános kulcs"
|
msgstr "Nyilvános kulcs"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Csendes órák"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Fogadott"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Frissítés"
|
msgstr "Frissítés"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Kapcsolatok"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Egyszeri jelszó kérése"
|
msgstr "Egyszeri jelszó kérése"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Egyszeri jelszó kérése"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "OTP kérése"
|
msgstr "OTP kérése"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Szükséges"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Igényel"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Jelszó visszaállítása"
|
msgstr "Jelszó visszaállítása"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Jelszó visszaállítása"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Megoldva"
|
msgstr "Megoldva"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Újraindítások"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Folytatás"
|
msgstr "Folytatás"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Gyökér"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Tokenváltás"
|
msgstr "Tokenváltás"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Tokenváltás"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Sorok száma oldalanként"
|
msgstr "Sorok száma oldalanként"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Futásidejű metrikák"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. Részletek"
|
msgstr "S.M.A.R.T. Részletek"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Beállítások mentése"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Rendszer mentése"
|
msgstr "Rendszer mentése"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Ütemezés"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Ütemezze a csendes órákat, amikor az értesítések nem kerülnek elküldésre, például karbantartási időszakokban."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Ütemezze a csendes órákat, amikor az értesítések nem kerülnek elküldésre."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Keresés"
|
msgstr "Keresés"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Keresés rendszerek vagy beállítások után..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Lásd <0>az értesítési beállításokat</0>, hogy konfigurálja, hogyan kap értesítéseket."
|
msgstr "Lásd <0>az értesítési beállításokat</0>, hogy konfigurálja, hogyan kap értesítéseket."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Elküldve"
|
msgstr "Elküldve"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Elküldve"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Sorozatszám"
|
msgstr "Sorozatszám"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Szolgáltatás részletei"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Szolgáltatások"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Százalékos küszöbértékek beállítása a mérőszínekhez."
|
msgstr "Százalékos küszöbértékek beállítása a mérőszínekhez."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP beállítások"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Rendezés"
|
msgstr "Rendezés"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Kezdési idő"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Állapot"
|
msgstr "Állapot"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Állapot"
|
msgstr "Állapot"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Részállapot"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Rendszer által használt swap terület"
|
msgstr "Rendszer által használt swap terület"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Rendszer által használt swap terület"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap használat"
|
msgstr "Swap használat"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Rendszer"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Rendszer terhelési átlaga"
|
msgstr "Rendszer terhelési átlaga"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd szolgáltatások"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Rendszer"
|
msgstr "Rendszer"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "A rendszereket egy <0>config.yml</0> fájlban lehet kezelni az adatköny
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tábla"
|
msgstr "Tábla"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Feladatok"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1193,11 +1461,11 @@ msgstr "Tokenek & Ujjlenyomatok"
|
|||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Tokens allow agents to connect and register. Fingerprints are stable identifiers unique to each system, set on first connection."
|
msgid "Tokens allow agents to connect and register. Fingerprints are stable identifiers unique to each system, set on first connection."
|
||||||
msgstr ""
|
msgstr "A tokenek lehetővé teszik az ügynökök csatlakozását és regisztrációját. A fingeravtrykkok stabil azonosítók, amelyek minden rendszerre egyediek, és az első kapcsolódáskor kerülnek beállításra."
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Tokens and fingerprints are used to authenticate WebSocket connections to the hub."
|
msgid "Tokens and fingerprints are used to authenticate WebSocket connections to the hub."
|
||||||
msgstr ""
|
msgstr "A tokeneket és fingeravtrykkokat a hubhoz való WebSocket kapcsolatok hitelesítésére használják."
|
||||||
|
|
||||||
#: src/components/ui/chart.tsx
|
#: src/components/ui/chart.tsx
|
||||||
#: src/components/ui/chart.tsx
|
#: src/components/ui/chart.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Összes fogadott adat minden interfészenként"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Összes elküldött adat minden interfészenként"
|
msgstr "Összes elküldött adat minden interfészenként"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Összesen: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Kiváltva"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Kiváltók"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Riaszt, ha az 1 perces terhelési átlag túllép egy küszöbértéket"
|
msgstr "Riaszt, ha az 1 perces terhelési átlag túllép egy küszöbértéket"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Bekapcsol, ha bármelyik érzékelő túllép egy küszöbértéket"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Bekapcsol, ha a CPU érzékelő túllép egy küszöbértéket"
|
msgstr "Bekapcsol, ha a CPU érzékelő túllép egy küszöbértéket"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Riaszt, ha a GPU használat túllép egy küszöbértéket"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Bekapcsol, ha a Ram érzékelő túllép egy küszöbértéket"
|
msgstr "Bekapcsol, ha a Ram érzékelő túllép egy küszöbértéket"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Bekapcsol, amikor az állapot fel és le között változik"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Bekapcsol, ha a lemez érzékelő túllép egy küszöbértéket"
|
msgstr "Bekapcsol, ha a lemez érzékelő túllép egy küszöbértéket"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Típus"
|
msgstr "Típus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Egység fájl"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Univerzális token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Ismeretlen"
|
msgstr "Ismeretlen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Korlátlan"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Online"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Online ({upSystemsLength})"
|
msgstr "Online ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Frissítés"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Frissítve"
|
msgstr "Frissítve"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "10 percenként frissítve."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Feltöltés"
|
msgstr "Feltöltés"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Elegendő rekordra várva a megjelenítéshez"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Szeretne segíteni nekünk abban, hogy fordításaink még jobbak legyenek? További részletekért nézze meg a <0>Crowdin</0> honlapot."
|
msgstr "Szeretne segíteni nekünk abban, hogy fordításaink még jobbak legyenek? További részletekért nézze meg a <0>Crowdin</0> honlapot."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Igényel"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Figyelmeztetés (%)"
|
msgstr "Figyelmeztetés (%)"
|
||||||
@@ -1354,7 +1664,7 @@ msgstr "Webhook / Push értesítések"
|
|||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "When enabled, this token allows agents to self-register without prior system creation. Expires after one hour or on hub restart."
|
msgid "When enabled, this token allows agents to self-register without prior system creation. Expires after one hour or on hub restart."
|
||||||
msgstr ""
|
msgstr "Ha engedélyezve van, ez a token lehetővé teszi az ügynökök önregisztrációját előzetes rendszerlétrehozás nélkül. Egy óra után vagy a hub újraindításakor lejár."
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML konfiguráció"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML konfiguráció"
|
msgstr "YAML konfiguráció"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Igen"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "A felhasználói beállítások frissítésre kerültek."
|
msgstr "A felhasználói beállítások frissítésre kerültek."
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-30 21:53\n"
|
"PO-Revision-Date: 2025-11-20 16:58\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Italian\n"
|
"Language-Team: Italian\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Azioni"
|
msgstr "Azioni"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Attivo"
|
msgstr "Attivo"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Attivo"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Avvisi Attivi"
|
msgstr "Avvisi Attivi"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Stato attivo"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Aggiungi {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Aggiungi <0>Sistema</0>"
|
msgstr "Aggiungi <0>Sistema</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Aggiungi Nuovo Sistema"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Aggiungi sistema"
|
msgstr "Aggiungi sistema"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Aggiungi URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Regola le opzioni di visualizzazione per i grafici."
|
msgstr "Regola le opzioni di visualizzazione per i grafici."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Regola la larghezza del layout principale"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Amministratore"
|
msgstr "Amministratore"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Dopo"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agente"
|
msgstr "Agente"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Tutti i contenitori"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Larghezza di banda"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batteria"
|
msgstr "Batteria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Diventato attivo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Diventato inattivo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Prima"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel supporta OpenID Connect e molti provider di autenticazione OAuth2."
|
msgstr "Beszel supporta OpenID Connect e molti provider di autenticazione OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binario"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bit (Kbps, Mbps, Gbps)"
|
msgstr "Bit (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Stato di avvio"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Byte (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / Buffer"
|
msgstr "Cache / Buffer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Può ricaricare"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Può avviare"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Può fermare"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annulla"
|
msgstr "Annulla"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Funzionalità"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Capacità"
|
msgstr "Capacità"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Controlla i log per maggiori dettagli."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Controlla il tuo servizio di notifica"
|
msgstr "Controlla il tuo servizio di notifica"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Cancella"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Fare clic su un contenitore per visualizzare ulteriori informazioni."
|
msgstr "Fare clic su un contenitore per visualizzare ulteriori informazioni."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Configura come ricevere le notifiche di avviso."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Conferma password"
|
msgstr "Conferma password"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Conflitti"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "La connessione è interrotta"
|
msgstr "La connessione è interrotta"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Copia YAML"
|
msgstr "Copia YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "Core CPU"
|
msgstr "Core CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Picco CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Tempo CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Suddivisione tempo CPU"
|
msgstr "Suddivisione tempo CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Suddivisione tempo CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Utilizzo CPU"
|
msgstr "Utilizzo CPU"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Crea"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Crea account"
|
msgstr "Crea account"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Stato attuale"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cicli"
|
msgstr "Cicli"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Cruscotto"
|
msgid "Daily"
|
||||||
|
msgstr "Giornaliero"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Periodo di tempo predefinito"
|
msgstr "Periodo di tempo predefinito"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Elimina"
|
msgstr "Elimina"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Elimina"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Elimina impronta digitale"
|
msgstr "Elimina impronta digitale"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Descrizione"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Dettagli"
|
msgstr "Dettagli"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "I/O di Rete Docker"
|
msgstr "I/O di Rete Docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Documentazione"
|
msgstr "Documentazione"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Scarica"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Durata"
|
msgstr "Durata"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Modifica"
|
msgstr "Modifica"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Modifica {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Notifiche email"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Vuota"
|
msgstr "Vuota"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Ora di fine"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Inserisci l'indirizzo email per reimpostare la password"
|
msgstr "Inserisci l'indirizzo email per reimpostare la password"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Inserisci la tua password monouso."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Errore"
|
msgstr "Errore"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Errore"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Supera {0}{1} negli ultimi {2, plural, one {# minuto} other {# minuti}}"
|
msgstr "Supera {0}{1} negli ultimi {2, plural, one {# minuto} other {# minuti}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "PID principale exec"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "I sistemi esistenti non definiti in <0>config.yml</0> verranno eliminati. Si prega di effettuare backup regolari."
|
msgstr "I sistemi esistenti non definiti in <0>config.yml</0> verranno eliminati. Si prega di effettuare backup regolari."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Uscito attivo"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Esporta"
|
msgstr "Esporta"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Esporta la configurazione attuale dei tuoi sistemi."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Fallito"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Attributi falliti:"
|
msgstr "Attributi falliti:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Autenticazione fallita"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Salvataggio delle impostazioni fallito"
|
msgstr "Salvataggio delle impostazioni fallito"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Invio della notifica di test fallito"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Aggiornamento dell'avviso fallito"
|
msgstr "Aggiornamento dell'avviso fallito"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Fallito: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtra..."
|
msgstr "Filtra..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Piena"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generale"
|
msgstr "Generale"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globale"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "Motori GPU"
|
msgstr "Motori GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "Motori GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Consumo della GPU"
|
msgstr "Consumo della GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Utilizzo GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Griglia"
|
msgstr "Griglia"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Immagine"
|
msgstr "Immagine"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inattivo"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Indirizzo email non valido."
|
msgstr "Indirizzo email non valido."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Lingua"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Aspetto"
|
msgstr "Aspetto"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Larghezza del layout"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Ciclo di vita"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "limite"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Carico medio"
|
msgstr "Carico medio"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Caricamento medio 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Carico Medio"
|
msgstr "Carico Medio"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Stato di caricamento"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Caricamento..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Disconnetti"
|
msgstr "Disconnetti"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Log"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Cerchi invece dove creare avvisi? Clicca sulle icone della campana <0/> nella tabella dei sistemi."
|
msgstr "Cerchi invece dove creare avvisi? Clicca sulle icone della campana <0/> nella tabella dei sistemi."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "PID principale"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Gestisci le preferenze di visualizzazione e notifica."
|
msgstr "Gestisci le preferenze di visualizzazione e notifica."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Max 1 min"
|
msgstr "Max 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Memoria"
|
msgstr "Memoria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Limite memoria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Picco memoria"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modello"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nome"
|
msgstr "Nome"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Traffico di rete delle interfacce pubbliche"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Unità rete"
|
msgstr "Unità rete"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Nessun risultato trovato."
|
msgstr "Nessun risultato trovato."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Nessun risultato trovato."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Nessun risultato."
|
msgstr "Nessun risultato."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Supporto OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Ad ogni riavvio, i sistemi nel database verranno aggiornati per corrispondere ai sistemi definiti nel file."
|
msgstr "Ad ogni riavvio, i sistemi nel database verranno aggiornati per corrispondere ai sistemi definiti nel file."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Una volta"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Password monouso"
|
msgstr "Password monouso"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Apri menu"
|
msgstr "Apri menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Altro"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Sovrascrivi avvisi esistenti"
|
msgstr "Sovrascrivi avvisi esistenti"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "La password deve essere inferiore a 72 byte."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Richiesta di reimpostazione password ricevuta"
|
msgstr "Richiesta di reimpostazione password ricevuta"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Passato"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pausa"
|
msgstr "Pausa"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Utilizzo preciso al momento registrato"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Lingua Preferita"
|
msgstr "Lingua Preferita"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Processo avviato"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Chiave Pub"
|
msgstr "Chiave Pub"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Ore silenziose"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Ricevuto"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Aggiorna"
|
msgstr "Aggiorna"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relazioni"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Richiedi una password monouso"
|
msgstr "Richiedi una password monouso"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Richiedi una password monouso"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Richiedi OTP"
|
msgstr "Richiedi OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Richiesto da"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Richiede"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Reimposta Password"
|
msgstr "Reimposta Password"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Reimposta Password"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Risolto"
|
msgstr "Risolto"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Riavvii"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Riprendi"
|
msgstr "Riprendi"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Root"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Ruota token"
|
msgstr "Ruota token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Ruota token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Righe per pagina"
|
msgstr "Righe per pagina"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Metriche di runtime"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "Dettagli S.M.A.R.T."
|
msgstr "Dettagli S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Salva Impostazioni"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Salva sistema"
|
msgstr "Salva sistema"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Pianifica"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Pianifica le ore silenziose in cui le notifiche non verranno inviate, ad esempio durante i periodi di manutenzione."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Pianifica le ore silenziose in cui le notifiche non verranno inviate."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Cerca"
|
msgstr "Cerca"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Cerca sistemi o impostazioni..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
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."
|
msgstr "Vedi <0>impostazioni di notifica</0> per configurare come ricevere gli avvisi."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Seleziona {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Inviato"
|
msgstr "Inviato"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Inviato"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Numero di serie"
|
msgstr "Numero di serie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Dettagli servizio"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Servizi"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Imposta le soglie percentuali per i colori dei contatori."
|
msgstr "Imposta le soglie percentuali per i colori dei contatori."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Impostazioni SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordina per"
|
msgstr "Ordina per"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Ora di inizio"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Stato"
|
msgstr "Stato"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Stato"
|
msgstr "Stato"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Sotto-stato"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Spazio di swap utilizzato dal sistema"
|
msgstr "Spazio di swap utilizzato dal sistema"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Spazio di swap utilizzato dal sistema"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Utilizzo Swap"
|
msgstr "Utilizzo Swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Sistema"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Medie di carico del sistema nel tempo"
|
msgstr "Medie di carico del sistema nel tempo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Servizi Systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Sistemi"
|
msgstr "Sistemi"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "I sistemi possono essere gestiti in un file <0>config.yml</0> all'intern
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabella"
|
msgstr "Tabella"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Attività"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Dati totali ricevuti per ogni interfaccia"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Dati totali inviati per ogni interfaccia"
|
msgstr "Dati totali inviati per ogni interfaccia"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Totale: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Attivato da"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Trigger"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Si attiva quando la media di carico di 1 minuto supera una soglia"
|
msgstr "Si attiva quando la media di carico di 1 minuto supera una soglia"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Attiva quando il combinato up/down supera una soglia"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Attiva quando l'utilizzo della CPU supera una soglia"
|
msgstr "Attiva quando l'utilizzo della CPU supera una soglia"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Si attiva quando l'utilizzo della GPU supera una soglia"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Attiva quando l'utilizzo della memoria supera una soglia"
|
msgstr "Attiva quando l'utilizzo della memoria supera una soglia"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Attiva quando lo stato passa tra up e down"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Attiva quando l'utilizzo di un disco supera una soglia"
|
msgstr "Attiva quando l'utilizzo di un disco supera una soglia"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Tipo"
|
msgstr "Tipo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "File unit"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Token universale"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Sconosciuta"
|
msgstr "Sconosciuta"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Illimitato"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Attivo"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Attivo ({upSystemsLength})"
|
msgstr "Attivo ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aggiorna"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Aggiornato"
|
msgstr "Aggiornato"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Aggiornato ogni 10 minuti."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Carica"
|
msgstr "Carica"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "In attesa di abbastanza record da visualizzare"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Vuoi aiutarci a migliorare ulteriormente le nostre traduzioni? Dai un'occhiata a <0>Crowdin</0> per maggiori dettagli."
|
msgstr "Vuoi aiutarci a migliorare ulteriormente le nostre traduzioni? Dai un'occhiata a <0>Crowdin</0> per maggiori dettagli."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Desidera"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Avviso (%)"
|
msgstr "Avviso (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "Configurazione YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "Configurazione YAML"
|
msgstr "Configurazione YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Sì"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Le impostazioni utente sono state aggiornate."
|
msgstr "Le impostazioni utente sono state aggiornate."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: ja\n"
|
"Language: ja\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Japanese\n"
|
"Language-Team: Japanese\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5分"
|
msgstr "5分"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "アクション"
|
msgstr "アクション"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "アクティブ"
|
msgstr "アクティブ"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "アクティブ"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "アクティブなアラート"
|
msgstr "アクティブなアラート"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "アクティブ状態"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "{foo}を追加"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "<0>システム</0>を追加"
|
msgstr "<0>システム</0>を追加"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "新しいシステムを追加"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "システムを追加"
|
msgstr "システムを追加"
|
||||||
@@ -110,11 +119,19 @@ msgstr "URLを追加"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "チャートの表示オプションを調整します。"
|
msgstr "チャートの表示オプションを調整します。"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "メインレイアウトの幅を調整"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "管理者"
|
msgstr "管理者"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "後"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "エージェント"
|
msgstr "エージェント"
|
||||||
@@ -139,6 +156,7 @@ msgstr "すべてのコンテナ"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "帯域幅"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "バッテリー"
|
msgstr "バッテリー"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "アクティブになった"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "非アクティブになった"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "前"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "BeszelはOpenID Connectと多くのOAuth2認証プロバイダーをサポートしています。"
|
msgstr "BeszelはOpenID Connectと多くのOAuth2認証プロバイダーをサポートしています。"
|
||||||
@@ -217,6 +247,10 @@ msgstr "バイナリ"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "ビット (Kbps, Mbps, Gbps)"
|
msgstr "ビット (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "ブート状態"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "バイト (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "キャッシュ / バッファ"
|
msgstr "キャッシュ / バッファ"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "リロード可能"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "開始可能"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "停止可能"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "キャンセル"
|
msgstr "キャンセル"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "機能"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "容量"
|
msgstr "容量"
|
||||||
@@ -276,6 +327,12 @@ msgstr "詳細についてはログを確認してください。"
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "通知サービスを確認してください"
|
msgstr "通知サービスを確認してください"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "クリア"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "詳細情報を表示するにはコンテナをクリックしてください。"
|
msgstr "詳細情報を表示するにはコンテナをクリックしてください。"
|
||||||
@@ -306,6 +363,10 @@ msgstr "アラート通知の受信方法を設定します。"
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "パスワードを確認"
|
msgstr "パスワードを確認"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "競合"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "接続が切断されました"
|
msgstr "接続が切断されました"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "YAMLをコピー"
|
msgstr "YAMLをコピー"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -374,6 +436,14 @@ msgstr ""
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU コア"
|
msgstr "CPU コア"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPUピーク"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU時間"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU 時間の内訳"
|
msgstr "CPU 時間の内訳"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU 時間の内訳"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU使用率"
|
msgstr "CPU使用率"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "作成"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "アカウントを作成"
|
msgstr "アカウントを作成"
|
||||||
@@ -416,15 +490,18 @@ msgstr "現在の状態"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "サイクル"
|
msgstr "サイクル"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "ダッシュボード"
|
msgid "Daily"
|
||||||
|
msgstr "毎日"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "デフォルトの期間"
|
msgstr "デフォルトの期間"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "削除"
|
msgstr "削除"
|
||||||
@@ -433,6 +510,10 @@ msgstr "削除"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "フィンガープリントを削除"
|
msgstr "フィンガープリントを削除"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "説明"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "詳細"
|
msgstr "詳細"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "DockerネットワークI/O"
|
msgstr "DockerネットワークI/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "ドキュメント"
|
msgstr "ドキュメント"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "ダウンロード"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "期間"
|
msgstr "期間"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "編集"
|
msgstr "編集"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "{foo}を編集"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "メール通知"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "空"
|
msgstr "空"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "終了時間"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "パスワードをリセットするためにメールアドレスを入力してください"
|
msgstr "パスワードをリセットするためにメールアドレスを入力してください"
|
||||||
@@ -540,7 +632,10 @@ msgstr "ワンタイムパスワードを入力してください。"
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "エラー"
|
msgstr "エラー"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "エラー"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "過去{2, plural, one {# 分} other {# 分}}で{0}{1}を超えています"
|
msgstr "過去{2, plural, one {# 分} other {# 分}}で{0}{1}を超えています"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "実行メインPID"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "<0>config.yml</0>に定義されていない既存のシステムは削除されます。定期的にバックアップを作成してください。"
|
msgstr "<0>config.yml</0>に定義されていない既存のシステムは削除されます。定期的にバックアップを作成してください。"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "アクティブ状態で終了"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "エクスポート"
|
msgstr "エクスポート"
|
||||||
@@ -571,6 +674,10 @@ msgstr "現在のシステム設定をエクスポートします。"
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "華氏 (°F)"
|
msgstr "華氏 (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "失敗"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "失敗した属性:"
|
msgstr "失敗した属性:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "認証に失敗しました"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "設定の保存に失敗しました"
|
msgstr "設定の保存に失敗しました"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "テスト通知の送信に失敗しました"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "アラートの更新に失敗しました"
|
msgstr "アラートの更新に失敗しました"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "失敗: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "フィルター..."
|
msgstr "フィルター..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "満充電"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "一般"
|
msgstr "一般"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "グローバル"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPUエンジン"
|
msgstr "GPUエンジン"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPUエンジン"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPUの消費電力"
|
msgstr "GPUの消費電力"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU使用率"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "グリッド"
|
msgstr "グリッド"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "イメージ"
|
msgstr "イメージ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "非アクティブ"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "無効なメールアドレスです。"
|
msgstr "無効なメールアドレスです。"
|
||||||
@@ -690,6 +816,19 @@ msgstr "言語"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "レイアウト"
|
msgstr "レイアウト"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "レイアウト幅"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "ライフサイクル"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "制限"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "負荷平均"
|
msgstr "負荷平均"
|
||||||
@@ -711,6 +850,14 @@ msgstr "負荷平均 (5分)"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "負荷平均"
|
msgstr "負荷平均"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "ロード状態"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "読み込み中..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "ログアウト"
|
msgstr "ログアウト"
|
||||||
@@ -734,6 +881,10 @@ msgstr "ログ"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "アラートを作成する場所を探していますか?システムテーブルのベル<0/>アイコンをクリックしてください。"
|
msgstr "アラートを作成する場所を探していますか?システムテーブルのベル<0/>アイコンをクリックしてください。"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "メインPID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "表示と通知の設定を管理します。"
|
msgstr "表示と通知の設定を管理します。"
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "最大1分"
|
msgstr "最大1分"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "メモリ"
|
msgstr "メモリ"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "メモリ制限"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "メモリピーク"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "モデル"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "名前"
|
msgstr "名前"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "パブリックインターフェースのネットワークトラフィ
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "ネットワーク単位"
|
msgstr "ネットワーク単位"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "いいえ"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "結果が見つかりませんでした。"
|
msgstr "結果が見つかりませんでした。"
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "結果が見つかりませんでした。"
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "結果がありません。"
|
msgstr "結果がありません。"
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "OAuth 2 / OIDCサポート"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "再起動のたびに、データベース内のシステムはファイルに定義されたシステムに一致するように更新されます。"
|
msgstr "再起動のたびに、データベース内のシステムはファイルに定義されたシステムに一致するように更新されます。"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "1回限り"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "ワンタイムパスワード"
|
msgstr "ワンタイムパスワード"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "メニューを開く"
|
msgstr "メニューを開く"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "その他"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "既存のアラートを上書き"
|
msgstr "既存のアラートを上書き"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "パスワードは72バイト未満でなければなりません。"
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "パスワードリセットのリクエストを受け取りました"
|
msgstr "パスワードリセットのリクエストを受け取りました"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "過去"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "一時停止"
|
msgstr "一時停止"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "記録された時点での正確な利用"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "優先言語"
|
msgstr "優先言語"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "プロセス開始"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "公開鍵"
|
msgstr "公開鍵"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "サイレント時間"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "受信"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "更新"
|
msgstr "更新"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "関係"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "ワンタイムパスワードをリクエスト"
|
msgstr "ワンタイムパスワードをリクエスト"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "ワンタイムパスワードをリクエスト"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "OTP をリクエスト"
|
msgstr "OTP をリクエスト"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "必要とされる"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "必要とする"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "パスワードをリセット"
|
msgstr "パスワードをリセット"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "パスワードをリセット"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "解決済み"
|
msgstr "解決済み"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "再起動"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "再開"
|
msgstr "再開"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "ルート"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "トークンをローテート"
|
msgstr "トークンをローテート"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "トークンをローテート"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "ページあたりの行数"
|
msgstr "ページあたりの行数"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "ランタイムメトリクス"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T.詳細"
|
msgstr "S.M.A.R.T.詳細"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "設定を保存"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "システムを保存"
|
msgstr "システムを保存"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "スケジュール"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "メンテナンス期間中などの通知が送信されないサイレント時間をスケジュールします。"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "通知が送信されないサイレント時間をスケジュールします。"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "検索"
|
msgstr "検索"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "システムまたは設定を検索..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "アラートの受信方法を設定するには<0>通知設定</0>を参照してください。"
|
msgstr "アラートの受信方法を設定するには<0>通知設定</0>を参照してください。"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "{foo}を選択"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "送信"
|
msgstr "送信"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "送信"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "シリアル番号"
|
msgstr "シリアル番号"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "サービス詳細"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "サービス"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "メーターの色を変更するしきい値(パーセンテージ)を設定します。"
|
msgstr "メーターの色を変更するしきい値(パーセンテージ)を設定します。"
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP設定"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "並び替え基準"
|
msgstr "並び替え基準"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "開始時間"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "状態"
|
msgstr "状態"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "ステータス"
|
msgstr "ステータス"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "サブ状態"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "システムが使用するスワップ領域"
|
msgstr "システムが使用するスワップ領域"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "システムが使用するスワップ領域"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "スワップ使用量"
|
msgstr "スワップ使用量"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "システム"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "システムの負荷平均の推移"
|
msgstr "システムの負荷平均の推移"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemdサービス"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "システム"
|
msgstr "システム"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "システムはデータディレクトリ内の<0>config.yml</0>ファ
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "テーブル"
|
msgstr "テーブル"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "タスク"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "各インターフェースの総受信データ量"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "各インターフェースの総送信データ量"
|
msgstr "各インターフェースの総送信データ量"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "合計: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "トリガー元"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "トリガー"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "1分間の負荷平均がしきい値を超えたときにトリガーされます"
|
msgstr "1分間の負荷平均がしきい値を超えたときにトリガーされます"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "上り/下りの合計がしきい値を超えたときにトリガー
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "CPU使用率がしきい値を超えたときにトリガーされます"
|
msgstr "CPU使用率がしきい値を超えたときにトリガーされます"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "GPU使用率がしきい値を超えたときにトリガーされます"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "メモリ使用率がしきい値を超えたときにトリガーされます"
|
msgstr "メモリ使用率がしきい値を超えたときにトリガーされます"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "ステータスが上から下に切り替わるときにトリガーさ
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "ディスクの使用量がしきい値を超えたときにトリガーされます"
|
msgstr "ディスクの使用量がしきい値を超えたときにトリガーされます"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "タイプ"
|
msgstr "タイプ"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "ユニットファイル"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "ユニバーサルトークン"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "不明"
|
msgstr "不明"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "無制限"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "正常"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "正常 ({upSystemsLength})"
|
msgstr "正常 ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "更新"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "更新済み"
|
msgstr "更新済み"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "10分ごとに更新されます。"
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "アップロード"
|
msgstr "アップロード"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "表示するのに十分なレコードを待っています"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "翻訳をさらに良くするためにご協力をお願いします。詳細については<0>Crowdin</0>をご覧ください。"
|
msgstr "翻訳をさらに良くするためにご協力をお願いします。詳細については<0>Crowdin</0>をご覧ください。"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "要求"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "警告 (%)"
|
msgstr "警告 (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML設定"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML設定"
|
msgstr "YAML設定"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "はい"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "ユーザー設定が更新されました。"
|
msgstr "ユーザー設定が更新されました。"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: ko\n"
|
"Language: ko\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Korean\n"
|
"Language-Team: Korean\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5분"
|
msgstr "5분"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "작업"
|
msgstr "작업"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "활성"
|
msgstr "활성"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "활성"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "활성화된 알림들"
|
msgstr "활성화된 알림들"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "활성 상태"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "{foo} 추가"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "<0>시스템</0> 추가"
|
msgstr "<0>시스템</0> 추가"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "새 시스템 추가"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "시스템 추가"
|
msgstr "시스템 추가"
|
||||||
@@ -110,11 +119,19 @@ msgstr "URL 추가"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "차트 표시 옵션 변경."
|
msgstr "차트 표시 옵션 변경."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "메인 레이아웃 너비 조정"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "관리자"
|
msgstr "관리자"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "이후"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "에이전트"
|
msgstr "에이전트"
|
||||||
@@ -139,6 +156,7 @@ msgstr "모든 컨테이너"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "대역폭"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "배터리"
|
msgstr "배터리"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "활성화됨"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "비활성화됨"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "이전"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel은 OpenID Connect 및 많은 OAuth2 인증 제공자를 지원합니다."
|
msgstr "Beszel은 OpenID Connect 및 많은 OAuth2 인증 제공자를 지원합니다."
|
||||||
@@ -217,6 +247,10 @@ msgstr "실행 파일"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "비트 (Kbps, Mbps, Gbps)"
|
msgstr "비트 (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "부팅 상태"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "바이트 (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "캐시 / 버퍼"
|
msgstr "캐시 / 버퍼"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "재로드 가능"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "시작 가능"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "중지 가능"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "취소"
|
msgstr "취소"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "권한"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "용량"
|
msgstr "용량"
|
||||||
@@ -276,6 +327,12 @@ msgstr "자세한 내용은 로그를 확인하세요."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "알림 서비스를 확인하세요."
|
msgstr "알림 서비스를 확인하세요."
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "지우기"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "더 많은 정보를 보려면 컨테이너를 클릭하세요."
|
msgstr "더 많은 정보를 보려면 컨테이너를 클릭하세요."
|
||||||
@@ -306,6 +363,10 @@ msgstr "알림을 수신할 방법을 설정하세요."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "비밀번호 확인"
|
msgstr "비밀번호 확인"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "충돌"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "연결이 끊겼습니다"
|
msgstr "연결이 끊겼습니다"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "YAML 복사"
|
msgstr "YAML 복사"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU 코어"
|
msgstr "CPU 코어"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU 최대값"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU 시간"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU 시간 분배"
|
msgstr "CPU 시간 분배"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU 시간 분배"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU 사용량"
|
msgstr "CPU 사용량"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "생성"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "계정 생성"
|
msgstr "계정 생성"
|
||||||
@@ -416,15 +490,18 @@ msgstr "현재 상태"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "사이클"
|
msgstr "사이클"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "대시보드"
|
msgid "Daily"
|
||||||
|
msgstr "매일"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "기본 기간"
|
msgstr "기본 기간"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "삭제"
|
msgstr "삭제"
|
||||||
@@ -433,6 +510,10 @@ msgstr "삭제"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "지문 삭제"
|
msgstr "지문 삭제"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "설명"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "세부사항"
|
msgstr "세부사항"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker 네트워크 I/O"
|
msgstr "Docker 네트워크 I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "문서"
|
msgstr "문서"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "다운로드"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "기간"
|
msgstr "기간"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "수정"
|
msgstr "수정"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "{foo} 수정"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "이메일 알림"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "빔"
|
msgstr "빔"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "종료 시간"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "비밀번호를 재설정하려면 이메일 주소를 입력하세요"
|
msgstr "비밀번호를 재설정하려면 이메일 주소를 입력하세요"
|
||||||
@@ -540,7 +632,10 @@ msgstr "OTP를 입력하세요."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "오류"
|
msgstr "오류"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "오류"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "마지막 {2, plural, one {# 분} other {# 분}} 동안 {0}{1} 초과"
|
msgstr "마지막 {2, plural, one {# 분} other {# 분}} 동안 {0}{1} 초과"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "<0>config.yml</0>에 정의되지 않은 기존 시스템은 삭제됩니다. 정기적으로 백업을 하세요."
|
msgstr "<0>config.yml</0>에 정의되지 않은 기존 시스템은 삭제됩니다. 정기적으로 백업을 하세요."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "활성 종료됨"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "내보내기"
|
msgstr "내보내기"
|
||||||
@@ -571,6 +674,10 @@ msgstr "현재 시스템 구성 내보내기"
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "화씨 (°F)"
|
msgstr "화씨 (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "실패"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "실패한 속성:"
|
msgstr "실패한 속성:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "인증 실패"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "설정 저장 실패"
|
msgstr "설정 저장 실패"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "테스트 알림 전송 실패"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "알림 수정 실패"
|
msgstr "알림 수정 실패"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "실패: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "필터..."
|
msgstr "필터..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "가득"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "일반"
|
msgstr "일반"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "전역"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU 엔진들"
|
msgstr "GPU 엔진들"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU 엔진들"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU 전원 사용량"
|
msgstr "GPU 전원 사용량"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU 사용량"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "그리드"
|
msgstr "그리드"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "이미지"
|
msgstr "이미지"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "비활성"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "잘못된 이메일 주소입니다."
|
msgstr "잘못된 이메일 주소입니다."
|
||||||
@@ -690,6 +816,19 @@ msgstr "언어"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "레이아웃"
|
msgstr "레이아웃"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "레이아웃 너비"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "생명주기"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "부하 평균"
|
msgstr "부하 평균"
|
||||||
@@ -711,6 +850,14 @@ msgstr "부하 평균 5분"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "부하 평균"
|
msgstr "부하 평균"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "로드 상태"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "로딩 중..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "로그아웃"
|
msgstr "로그아웃"
|
||||||
@@ -734,6 +881,10 @@ msgstr "로그"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "알림을 생성하려 하시나요? 시스템 테이블의 종 <0/> 아이콘을 클릭하세요."
|
msgstr "알림을 생성하려 하시나요? 시스템 테이블의 종 <0/> 아이콘을 클릭하세요."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "디스플레이 및 알림 설정"
|
msgstr "디스플레이 및 알림 설정"
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "1분간 최댓값"
|
msgstr "1분간 최댓값"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "메모리"
|
msgstr "메모리"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "메모리 제한"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "메모리 최대값"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "모델"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "이름"
|
msgstr "이름"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "공용 인터페이스의 네트워크 트래픽"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "네트워크 단위"
|
msgstr "네트워크 단위"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "아니오"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "결과가 없습니다."
|
msgstr "결과가 없습니다."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "결과가 없습니다."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "결과 없음."
|
msgstr "결과 없음."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "OAuth 2 / OIDC 지원"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "매 시작 시, 데이터베이스가 파일에 정의된 시스템과 일치하도록 업데이트됩니다."
|
msgstr "매 시작 시, 데이터베이스가 파일에 정의된 시스템과 일치하도록 업데이트됩니다."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "일회성"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "OTP"
|
msgstr "OTP"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "메뉴 열기"
|
msgstr "메뉴 열기"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "기타"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "기존 알림 덮어쓰기"
|
msgstr "기존 알림 덮어쓰기"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "비밀번호는 72 바이트 이하여야 합니다."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "비밀번호 재설정 요청이 접수되었습니다"
|
msgstr "비밀번호 재설정 요청이 접수되었습니다"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "과거"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "일시 중지"
|
msgstr "일시 중지"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "기록된 시간의 정확한 사용량"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "선호 언어"
|
msgstr "선호 언어"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "프로세스 시작됨"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "공개 키"
|
msgstr "공개 키"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "조용한 시간"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "수신됨"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "새로고침"
|
msgstr "새로고침"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "관계"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "OTP 요청"
|
msgstr "OTP 요청"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "OTP 요청"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "OTP 요청"
|
msgstr "OTP 요청"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "필요한 대상"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "필요 항목"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "비밀번호 재설정"
|
msgstr "비밀번호 재설정"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "비밀번호 재설정"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "해결됨"
|
msgstr "해결됨"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "재시작 횟수"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "재개"
|
msgstr "재개"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "토큰 회전"
|
msgstr "토큰 회전"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "토큰 회전"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "페이지당 행 수"
|
msgstr "페이지당 행 수"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "런타임 메트릭"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. 세부 정보"
|
msgstr "S.M.A.R.T. 세부 정보"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "설정 저장"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "시스템 저장"
|
msgstr "시스템 저장"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "일정"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "유지보수 기간 등 알림이 전송되지 않을 조용한 시간을 예약하세요."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "알림이 전송되지 않을 조용한 시간을 예약하세요."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "검색"
|
msgstr "검색"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "시스템 또는 설정 검색..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "알림을 받는 방법을 구성하려면 <0>알림 설정</0>을 참조하세요."
|
msgstr "알림을 받는 방법을 구성하려면 <0>알림 설정</0>을 참조하세요."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "{foo} 선택"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "보냄"
|
msgstr "보냄"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "보냄"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "시리얼 번호"
|
msgstr "시리얼 번호"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "서비스 세부 정보"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "서비스"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "그래프 미터 색상의 백분율 임계값을 설정합니다."
|
msgstr "그래프 미터 색상의 백분율 임계값을 설정합니다."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP 설정"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "정렬 기준"
|
msgstr "정렬 기준"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "시작 시간"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "상태"
|
msgstr "상태"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "상태"
|
msgstr "상태"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "하위 상태"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "시스템에서 사용된 스왑 공간"
|
msgstr "시스템에서 사용된 스왑 공간"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "시스템에서 사용된 스왑 공간"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "스왑 사용량"
|
msgstr "스왑 사용량"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "시스템"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "시간에 따른 시스템 부하 평균"
|
msgstr "시간에 따른 시스템 부하 평균"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd 서비스"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "시스템"
|
msgstr "시스템"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "시스템은 데이터 디렉토리 내의 <0>config.yml</0> 파일에
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "표"
|
msgstr "표"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "작업"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "각 인터페이스별 총합 다운로드 데이터량"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "각 인터페이스별 총합 업로드 데이터량"
|
msgstr "각 인터페이스별 총합 업로드 데이터량"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "총: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "트리거 대상"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "트리거"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "1분 부하 평균이 임계값을 초과하면 트리거됩니다."
|
msgstr "1분 부하 평균이 임계값을 초과하면 트리거됩니다."
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "업로드와 다운로드 대역폭의 합이 임계값을 초과할 때
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "CPU 사용량이 임계값을 초과할 때 트리거됩니다."
|
msgstr "CPU 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "GPU 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "메모리 사용량이 임계값을 초과할 때 트리거됩니다."
|
msgstr "메모리 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "시스템의 전원이 켜지거나 꺼질때 트리거됩니다."
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "디스크 사용량이 임계값을 초과할 때 트리거됩니다."
|
msgstr "디스크 사용량이 임계값을 초과할 때 트리거됩니다."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "유형"
|
msgstr "유형"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "범용 토큰"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "알 수 없음"
|
msgstr "알 수 없음"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "무제한"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "온라인"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "온라인 ({upSystemsLength})"
|
msgstr "온라인 ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "업데이트"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "업데이트됨"
|
msgstr "업데이트됨"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "10분마다 업데이트됩니다."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "업로드"
|
msgstr "업로드"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "표시할 충분한 기록을 기다리는 중"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "번역을 개선하는데 도움을 주시겠습니까? 자세한 내용은 <0>Crowdin</0>을 확인해 주세요."
|
msgstr "번역을 개선하는데 도움을 주시겠습니까? 자세한 내용은 <0>Crowdin</0>을 확인해 주세요."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "요구 항목"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "경고 (%)"
|
msgstr "경고 (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML 구성"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML 구성"
|
msgstr "YAML 구성"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "예"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "사용자 설정이 업데이트되었습니다."
|
msgstr "사용자 설정이 업데이트되었습니다."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: nl\n"
|
"Language: nl\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 22:59\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Dutch\n"
|
"Language-Team: Dutch\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 minuten"
|
msgstr "5 minuten"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Acties"
|
msgstr "Acties"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Actief"
|
msgstr "Actief"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Actief"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Actieve waarschuwingen"
|
msgstr "Actieve waarschuwingen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Actieve status"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Voeg {foo} toe"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Voeg <0>Systeem</0> toe"
|
msgstr "Voeg <0>Systeem</0> toe"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Nieuw systeem toevoegen"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Voeg systeem toe"
|
msgstr "Voeg systeem toe"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Voeg URL toe"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Weergaveopties voor grafieken aanpassen."
|
msgstr "Weergaveopties voor grafieken aanpassen."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Breedte van het hoofdlayout aanpassen"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Na"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -139,6 +156,7 @@ msgstr "Alle containers"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Bandbreedte"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batterij"
|
msgstr "Batterij"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Actief geworden"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Inactief geworden"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Voor"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel ondersteunt OpenID Connect en vele OAuth2 authenticatieaanbieders."
|
msgstr "Beszel ondersteunt OpenID Connect en vele OAuth2 authenticatieaanbieders."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binair"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Opstartstatus"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr ""
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Kan herladen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Kan starten"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Kan stoppen"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuleren"
|
msgstr "Annuleren"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Mogelijkheden"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Capaciteit"
|
msgstr "Capaciteit"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Controleer de logs voor meer details."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Controleer je meldingsservice"
|
msgstr "Controleer je meldingsservice"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Wissen"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Klik op een container om meer informatie te zien."
|
msgstr "Klik op een container om meer informatie te zien."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Configureer hoe je waarschuwingsmeldingen ontvangt."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Bevestig wachtwoord"
|
msgstr "Bevestig wachtwoord"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Conflicten"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Verbinding is niet actief"
|
msgstr "Verbinding is niet actief"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "YAML kopiëren"
|
msgstr "YAML kopiëren"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -374,6 +436,14 @@ msgstr ""
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU-kernen"
|
msgstr "CPU-kernen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU-piek"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU-tijd"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU-tijdverdeling"
|
msgstr "CPU-tijdverdeling"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU-tijdverdeling"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Processorgebruik"
|
msgstr "Processorgebruik"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Aanmaken"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Account aanmaken"
|
msgstr "Account aanmaken"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Huidige status"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cycli"
|
msgstr "Cycli"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr ""
|
msgid "Daily"
|
||||||
|
msgstr "Dagelijks"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Standaard tijdsduur"
|
msgstr "Standaard tijdsduur"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Verwijderen"
|
msgstr "Verwijderen"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Verwijderen"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Vingerafdruk verwijderen"
|
msgstr "Vingerafdruk verwijderen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Beschrijving"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker netwerk I/O"
|
msgstr "Docker netwerk I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Documentatie"
|
msgstr "Documentatie"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Downloaden"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Duur"
|
msgstr "Duur"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Bewerken"
|
msgstr "Bewerken"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Bewerk {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "E-mailnotificaties"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Leeg"
|
msgstr "Leeg"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Eindtijd"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Voer een e-mailadres in om het wachtwoord opnieuw in te stellen"
|
msgstr "Voer een e-mailadres in om het wachtwoord opnieuw in te stellen"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Voer uw eenmalig wachtwoord in."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Fout"
|
msgstr "Fout"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Fout"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
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}}"
|
msgstr "Overschrijdt {0}{1} in de laatste {2, plural, one {# minuut} other {# minuten}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Uitvoer hoofd-PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
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."
|
msgstr "Bestaande systemen die niet gedefinieerd zijn in <0>config.yml</0> zullen worden verwijderd. Maak regelmatige backups."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Beëindigd actief"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exporteren"
|
msgstr "Exporteren"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exporteer je huidige systeemconfiguratie."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Mislukt"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Mislukte kenmerken:"
|
msgstr "Mislukte kenmerken:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Authenticatie mislukt"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Instellingen opslaan mislukt"
|
msgstr "Instellingen opslaan mislukt"
|
||||||
|
|
||||||
@@ -592,13 +700,19 @@ msgstr "Versturen test notificatie mislukt"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Bijwerken waarschuwing mislukt"
|
msgstr "Bijwerken waarschuwing mislukt"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Mislukt: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr ""
|
msgstr "Filteren..."
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Fingerprint"
|
msgid "Fingerprint"
|
||||||
@@ -633,6 +747,10 @@ msgstr "Vol"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Algemeen"
|
msgstr "Algemeen"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globaal"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU-engines"
|
msgstr "GPU-engines"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU-engines"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU stroomverbruik"
|
msgstr "GPU stroomverbruik"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU-gebruik"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Raster"
|
msgstr "Raster"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inactief"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Ongeldig e-mailadres."
|
msgstr "Ongeldig e-mailadres."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Taal"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Indeling"
|
msgstr "Indeling"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Layoutbreedte"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Gemiddelde Belasting"
|
msgstr "Gemiddelde Belasting"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Gemiddelde Belasting 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Gem. Belasting"
|
msgstr "Gem. Belasting"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Laadstatus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Laden..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Afmelden"
|
msgstr "Afmelden"
|
||||||
@@ -728,12 +875,16 @@ msgstr "Aanmelding mislukt"
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Logs"
|
msgid "Logs"
|
||||||
msgstr ""
|
msgstr "Logboeken"
|
||||||
|
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
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."
|
msgstr "Zoek je waar je meldingen kunt aanmaken? Klik op de bel <0/> in de systeemtabel."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Hoofd-PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Weergave- en notificatievoorkeuren beheren."
|
msgstr "Weergave- en notificatievoorkeuren beheren."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Geheugen"
|
msgstr "Geheugen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Geheugenlimiet"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Geheugenpiek"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,13 +931,15 @@ msgstr ""
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Naam"
|
msgstr "Naam"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Net"
|
msgid "Net"
|
||||||
msgstr ""
|
msgstr "Netwerk"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Network traffic of docker containers"
|
msgid "Network traffic of docker containers"
|
||||||
@@ -793,7 +957,14 @@ msgstr "Netwerkverkeer van publieke interfaces"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Netwerk eenheid"
|
msgstr "Netwerk eenheid"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nee"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Geen resultaten gevonden."
|
msgstr "Geen resultaten gevonden."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Geen resultaten gevonden."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Geen resultaten."
|
msgstr "Geen resultaten."
|
||||||
|
|
||||||
@@ -828,15 +1000,22 @@ msgstr "OAuth 2 / OIDC ondersteuning"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
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."
|
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/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Eenmalig"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Eenmalig wachtwoord"
|
msgstr "Eenmalig wachtwoord"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr ""
|
msgstr "Menu openen"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Or continue with"
|
msgid "Or continue with"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Overig"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Overschrijf bestaande waarschuwingen"
|
msgstr "Overschrijf bestaande waarschuwingen"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Het wachtwoord moet minder zijn dat 72 bytes."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Wachtwoord reset aanvraag ontvangen"
|
msgstr "Wachtwoord reset aanvraag ontvangen"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pauze"
|
msgstr "Pauze"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Nauwkeurig gebruik op de opgenomen tijd"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Voorkeurstaal"
|
msgstr "Voorkeurstaal"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proces gestart"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Publieke sleutel"
|
msgstr "Publieke sleutel"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Stille uren"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Ontvangen"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Vernieuwen"
|
msgstr "Vernieuwen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relaties"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Eenmalig wachtwoord aanvragen"
|
msgstr "Eenmalig wachtwoord aanvragen"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Eenmalig wachtwoord aanvragen"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "OTP aanvragen"
|
msgstr "OTP aanvragen"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Vereist door"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Vereist"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Wachtwoord resetten"
|
msgstr "Wachtwoord resetten"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Wachtwoord resetten"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Opgelost"
|
msgstr "Opgelost"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Herstarten"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Hervatten"
|
msgstr "Hervatten"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Roteer Token"
|
msgstr "Roteer Token"
|
||||||
@@ -1004,9 +1218,13 @@ msgstr "Roteer Token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Rijen per pagina"
|
msgstr "Rijen per pagina"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Runtime-metrieken"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr ""
|
msgstr "S.M.A.R.T.-details"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Self-Test"
|
msgid "S.M.A.R.T. Self-Test"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Instellingen opslaan"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Systeem bewaren"
|
msgstr "Systeem bewaren"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Schema"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Plan stille uren waarin meldingen niet worden verzonden, zoals tijdens onderhoudsperioden."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Plan stille uren waarin meldingen niet worden verzonden."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Zoeken"
|
msgstr "Zoeken"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Zoek naar systemen of instellingen..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
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."
|
msgstr "Zie <0>notificatie-instellingen</0> om te configureren hoe je meldingen ontvangt."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Selecteer {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Verzonden"
|
msgstr "Verzonden"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Verzonden"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Serienummer"
|
msgstr "Serienummer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Servicedetails"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Stel percentagedrempels in voor meterkleuren."
|
msgstr "Stel percentagedrempels in voor meterkleuren."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP-instellingen"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sorteren op"
|
msgstr "Sorteren op"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Substatus"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap ruimte gebruikt door het systeem"
|
msgstr "Swap ruimte gebruikt door het systeem"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Swap ruimte gebruikt door het systeem"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap gebruik"
|
msgstr "Swap gebruik"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Systeem"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Gemiddelde systeembelasting na verloop van tijd"
|
msgstr "Gemiddelde systeembelasting na verloop van tijd"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd-services"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systemen"
|
msgstr "Systemen"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Systemen kunnen worden beheerd in een <0>config.yml</0> bestand in je da
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabel"
|
msgstr "Tabel"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Taken"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Totaal ontvangen gegevens per interface"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Totaal verzonden gegevens per interface"
|
msgstr "Totaal verzonden gegevens per interface"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Totaal: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Geactiveerd door"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Triggert wanneer de gemiddelde belasting een drempelwaarde overschrijdt"
|
msgstr "Triggert wanneer de gemiddelde belasting een drempelwaarde overschrijdt"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Triggert wanneer de gecombineerde up/down een drempelwaarde overschrijdt
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Triggert wanneer het CPU-gebruik een drempelwaarde overschrijdt"
|
msgstr "Triggert wanneer het CPU-gebruik een drempelwaarde overschrijdt"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Triggert wanneer het GPU-gebruik een drempelwaarde overschrijdt"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Triggert wanneer het geheugengebruik een drempelwaarde overschrijdt"
|
msgstr "Triggert wanneer het geheugengebruik een drempelwaarde overschrijdt"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Triggert wanneer de status schakelt tussen up en down"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Triggert wanneer het gebruik van een schijf een drempelwaarde overschrijdt"
|
msgstr "Triggert wanneer het gebruik van een schijf een drempelwaarde overschrijdt"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Unit-bestand"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Universele token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Onbekend"
|
msgstr "Onbekend"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Onbeperkt"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Online"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Online ({upSystemsLength})"
|
msgstr "Online ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Bijwerken"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Bijgewerkt"
|
msgstr "Bijgewerkt"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Elke 10 minuten bijgewerkt."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Uploaden"
|
msgstr "Uploaden"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Wachtend op genoeg records om weer te geven"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Wil je ons helpen onze vertalingen nog beter te maken? Bekijk <0>Crowdin</0> voor meer informatie."
|
msgstr "Wil je ons helpen onze vertalingen nog beter te maken? Bekijk <0>Crowdin</0> voor meer informatie."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Wil"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Waarschuwing (%)"
|
msgstr "Waarschuwing (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML Configuratie"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML Configuratie"
|
msgstr "YAML Configuratie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Ja"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Je gebruikersinstellingen zijn bijgewerkt."
|
msgstr "Je gebruikersinstellingen zijn bijgewerkt."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: no\n"
|
"Language: no\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Norwegian\n"
|
"Language-Team: Norwegian\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Handlinger"
|
msgstr "Handlinger"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktiv"
|
msgstr "Aktiv"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktiv"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktive Alarmer"
|
msgstr "Aktive Alarmer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktiv tilstand"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Legg til {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Legg til <0>System</0>"
|
msgstr "Legg til <0>System</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Legg Til Nytt System"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Legg til system"
|
msgstr "Legg til system"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Legg Til URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Juster visningsalternativer for diagrammer."
|
msgstr "Juster visningsalternativer for diagrammer."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Juster bredden på hovedlayouten"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Etter"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Alle containere"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Båndbredde"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batteri"
|
msgstr "Batteri"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Ble aktiv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Ble inaktiv"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Før"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel støtter OpenID Connect og mange OAuth2 autentiserings-tilbydere."
|
msgstr "Beszel støtter OpenID Connect og mange OAuth2 autentiserings-tilbydere."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binær"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (Kbps, Mbps, Gbps)"
|
msgstr "Bits (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Oppstartstilstand"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bytes (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Cache / Buffere"
|
msgstr "Cache / Buffere"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Kan laste inn på nytt"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Kan starte"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Kan stoppe"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Kapabiliteter"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapasitet"
|
msgstr "Kapasitet"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Sjekk loggene for flere detaljer."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Sjekk din meldingstjeneste"
|
msgstr "Sjekk din meldingstjeneste"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Tøm"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Klikk på en container for å se mer informasjon."
|
msgstr "Klikk på en container for å se mer informasjon."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Konfigurer hvordan du vil motta alarmvarsler."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Bekreft passord"
|
msgstr "Bekreft passord"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konflikter"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Tilkoblingen er nede"
|
msgstr "Tilkoblingen er nede"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Kopier YAML"
|
msgstr "Kopier YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU-kjerner"
|
msgstr "CPU-kjerner"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "CPU-topp"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "CPU-tid"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "CPU-tidsoppdeling"
|
msgstr "CPU-tidsoppdeling"
|
||||||
@@ -385,6 +455,10 @@ msgstr "CPU-tidsoppdeling"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU-bruk"
|
msgstr "CPU-bruk"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Opprett"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Opprett konto"
|
msgstr "Opprett konto"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Nåværende tilstand"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Sykluser"
|
msgstr "Sykluser"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Dashbord"
|
msgid "Daily"
|
||||||
|
msgstr "Daglig"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Standard tidsperiode"
|
msgstr "Standard tidsperiode"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Slett"
|
msgstr "Slett"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Slett"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Slett fingeravtrykk"
|
msgstr "Slett fingeravtrykk"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Beskrivelse"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Detaljer"
|
msgstr "Detaljer"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker Nettverks-I/O"
|
msgstr "Docker Nettverks-I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentasjon"
|
msgstr "Dokumentasjon"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Last ned"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Varighet"
|
msgstr "Varighet"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Rediger"
|
msgstr "Rediger"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Rediger {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "E-postvarslinger"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Tom"
|
msgstr "Tom"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Sluttid"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Skriv inn e-postadresse for å nullstille passordet"
|
msgstr "Skriv inn e-postadresse for å nullstille passordet"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Skriv inn ditt engangspassord."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Feil"
|
msgstr "Feil"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Feil"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Overstiger {0}{1} {2, plural, one {det siste minuttet} other {de siste # minuttene}}"
|
msgstr "Overstiger {0}{1} {2, plural, one {det siste minuttet} other {de siste # minuttene}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Hovedprosess-ID"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Eksisterende systemer som ikke er er definert i <0>config.yml</0> vil bli slettet. Vennligst ta jevnlige sikkerhetskopier."
|
msgstr "Eksisterende systemer som ikke er er definert i <0>config.yml</0> vil bli slettet. Vennligst ta jevnlige sikkerhetskopier."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Avsluttet aktiv"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Eksporter"
|
msgstr "Eksporter"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Eksporter din nåværende systemkonfigurasjon"
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Mislyktes"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Mislykkede attributter:"
|
msgstr "Mislykkede attributter:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Autentisering mislyktes"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Kunne ikke lagre innstillingene"
|
msgstr "Kunne ikke lagre innstillingene"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Kunne ikke sende test-varsling"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Kunne ikke oppdatere alarm"
|
msgstr "Kunne ikke oppdatere alarm"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Mislyktes: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filter..."
|
msgstr "Filter..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Fullt"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Generelt"
|
msgstr "Generelt"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU-motorer"
|
msgstr "GPU-motorer"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU-motorer"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU Effektforbruk"
|
msgstr "GPU Effektforbruk"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "GPU-bruk"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Rutenett"
|
msgstr "Rutenett"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Image"
|
msgstr "Image"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inaktiv"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Ugyldig e-postadresse."
|
msgstr "Ugyldig e-postadresse."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Språk"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Oppsett"
|
msgstr "Oppsett"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Layoutbredde"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Livssyklus"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "grense"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Snittbelastning Last"
|
msgstr "Snittbelastning Last"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Snittbelastning 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Snittbelastning"
|
msgstr "Snittbelastning"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Lastetilstand"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Laster..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Logg Ut"
|
msgstr "Logg Ut"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Logger"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Ser du etter hvor du kan opprette alarmer? Klikk på bjelle-ikonene <0/> i systemtabellen."
|
msgstr "Ser du etter hvor du kan opprette alarmer? Klikk på bjelle-ikonene <0/> i systemtabellen."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Hovedprosess-ID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Endre visnings- og varslingsinnstillinger."
|
msgstr "Endre visnings- og varslingsinnstillinger."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Maks 1 min"
|
msgstr "Maks 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Minne"
|
msgstr "Minne"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Minnegrense"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Minne-topp"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modell"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Navn"
|
msgstr "Navn"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Nettverkstrafikk av eksterne nettverksgrensesnitt"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Nettverksenhet"
|
msgstr "Nettverksenhet"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nei"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Ingen resultater funnet."
|
msgstr "Ingen resultater funnet."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Ingen resultater funnet."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Ingen resultater."
|
msgstr "Ingen resultater."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "OAuth 2 / OIDC-støtte"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Ved hver omstart vil systemer i databasen bli oppdatert til å matche systemene definert i fila."
|
msgstr "Ved hver omstart vil systemer i databasen bli oppdatert til å matche systemene definert i fila."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Engangs"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Engangspassord"
|
msgstr "Engangspassord"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Åpne meny"
|
msgstr "Åpne meny"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Andre"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Overskriv eksisterende alarmer"
|
msgstr "Overskriv eksisterende alarmer"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Passord må være mindre enn 72 byte."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Mottatt forespørsel om å nullstille passord"
|
msgstr "Mottatt forespørsel om å nullstille passord"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pause"
|
msgstr "Pause"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Nøyaktig utnyttelse på registrert tidspunkt"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Foretrukket Språk"
|
msgstr "Foretrukket Språk"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Prosess startet"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Offentlig Nøkkel"
|
msgstr "Offentlig Nøkkel"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Stille timer"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Mottatt"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Oppdater"
|
msgstr "Oppdater"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relasjoner"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Be om engangspassord"
|
msgstr "Be om engangspassord"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Be om engangspassord"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Be om OTP"
|
msgstr "Be om OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Påkrevd av"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Påkrevd"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Nullstill Passord"
|
msgstr "Nullstill Passord"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Nullstill Passord"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Løst"
|
msgstr "Løst"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Omstarter"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Gjenoppta"
|
msgstr "Gjenoppta"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Rot"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Forny token"
|
msgstr "Forny token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Forny token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Rader per side"
|
msgstr "Rader per side"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Kjøretidsmålinger"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T.-detaljer"
|
msgstr "S.M.A.R.T.-detaljer"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Lagre Innstillinger"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Lagre system"
|
msgstr "Lagre system"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Tidsplan"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Planlegg stille timer hvor varsler ikke sendes, for eksempel under vedlikeholdsperioder."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Planlegg stille timer hvor varsler ikke sendes."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Søk"
|
msgstr "Søk"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Søk etter systemer eller innstillinger..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Se <0>varslingsinnstillingene</0> for å konfigurere hvordan du vil motta varsler."
|
msgstr "Se <0>varslingsinnstillingene</0> for å konfigurere hvordan du vil motta varsler."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Velg {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Sendt"
|
msgstr "Sendt"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Sendt"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Serienummer"
|
msgstr "Serienummer"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Tjenestedetaljer"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Tjenester"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Angi prosentvise terskler for målerfarger."
|
msgstr "Angi prosentvise terskler for målerfarger."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP-innstillinger"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sorter Etter"
|
msgstr "Sorter Etter"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Tilstand"
|
msgstr "Tilstand"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Undertilstand"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap-plass i bruk av systemet"
|
msgstr "Swap-plass i bruk av systemet"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Swap-plass i bruk av systemet"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap-bruk"
|
msgstr "Swap-bruk"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "System"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Systembelastning gjennomsnitt over tid"
|
msgstr "Systembelastning gjennomsnitt over tid"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd-tjenester"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systemer"
|
msgstr "Systemer"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Systemer kan håndteres i en <0>config.yml</0>-fil i din data-katalog."
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabell"
|
msgstr "Tabell"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Oppgaver"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1202,7 +1470,7 @@ msgstr "Tokens og fingeravtrykk blir brukt for å autentisere WebSocket-tilkobli
|
|||||||
#: src/components/ui/chart.tsx
|
#: src/components/ui/chart.tsx
|
||||||
#: src/components/ui/chart.tsx
|
#: src/components/ui/chart.tsx
|
||||||
msgid "Total"
|
msgid "Total"
|
||||||
msgstr "Total"
|
msgstr "Totalt"
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Total data received for each interface"
|
msgid "Total data received for each interface"
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Totalt mottatt data for hvert grensesnitt"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Totalt sendt data for hvert grensesnitt"
|
msgstr "Totalt sendt data for hvert grensesnitt"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Totalt: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Utløst av"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Utløsere"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Slår inn når gjennomsnittsbelastningen over 1 minutt overstiger en grenseverdi"
|
msgstr "Slår inn når gjennomsnittsbelastningen over 1 minutt overstiger en grenseverdi"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Slår inn når kombinert opp/ned overskrider en grenseverdi"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Slår inn når CPU-bruken overstiger en grenseverdi"
|
msgstr "Slår inn når CPU-bruken overstiger en grenseverdi"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Slår inn når GPU-bruken overstiger en grenseverdi"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Slår inn når minnebruken overstiger en grenseverdi"
|
msgstr "Slår inn når minnebruken overstiger en grenseverdi"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Slår inn når statusen veksler mellom oppe og nede"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Slår inn når forbruk av hvilken som helst disk overstiger en grenseverdi"
|
msgstr "Slår inn når forbruk av hvilken som helst disk overstiger en grenseverdi"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Enhetsfil"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Universal token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Ukjent"
|
msgstr "Ukjent"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Ubegrenset"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Oppe"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Oppe ({upSystemsLength})"
|
msgstr "Oppe ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Oppdater"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Oppdatert"
|
msgstr "Oppdatert"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Oppdatert hvert 10. minutt."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Last opp"
|
msgstr "Last opp"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Venter på nok registreringer til å vise"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Vil du hjelpe oss med å gjøre oversettelsene enda bedre? Ta en titt på <0>Crowdin</0> for mer informasjon."
|
msgstr "Vil du hjelpe oss med å gjøre oversettelsene enda bedre? Ta en titt på <0>Crowdin</0> for mer informasjon."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Ønsker"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Advarsel (%)"
|
msgstr "Advarsel (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML Oppsett"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML Konfigurasjon"
|
msgstr "YAML Konfigurasjon"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Ja"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Dine brukerinnstillinger har blitt oppdatert."
|
msgstr "Dine brukerinnstillinger har blitt oppdatert."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: pl\n"
|
"Language: pl\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-17 16:53\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Polish\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"
|
"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"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Akcje"
|
msgstr "Akcje"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktywny"
|
msgstr "Aktywny"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktywny"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktywne alerty"
|
msgstr "Aktywne alerty"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Stan aktywny"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Dodaj {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Dodaj <0>system</0>"
|
msgstr "Dodaj <0>system</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Dodaj nowy system"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Dodaj system"
|
msgstr "Dodaj system"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Dodaj URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Dostosuj opcje wyświetlania wykresów."
|
msgstr "Dostosuj opcje wyświetlania wykresów."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Dostosuj szerokość głównego układu"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Po"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agent"
|
msgstr "Agent"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Wszystkie kontenery"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Przepustowość"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Bateria"
|
msgstr "Bateria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Stało się aktywnym"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Stało się nieaktywnym"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Przed"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel obsługuje OpenID Connect i wielu dostawców uwierzytelniania OAuth2."
|
msgstr "Beszel obsługuje OpenID Connect i wielu dostawców uwierzytelniania OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Plik binarny"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bity (Kbps, Mbps, Gbps)"
|
msgstr "Bity (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Stan rozruchu"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bajty (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Pamięć podręczna / Bufory"
|
msgstr "Pamięć podręczna / Bufory"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Może przeładować"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Może uruchomić"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Może zatrzymać"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Anuluj"
|
msgstr "Anuluj"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Możliwości"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Pojemność"
|
msgstr "Pojemność"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Sprawdź logi, aby uzyskać więcej informacji."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Sprawdź swój serwis powiadomień"
|
msgstr "Sprawdź swój serwis powiadomień"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Wyczyść"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Kliknij na kontener, aby wyświetlić więcej informacji."
|
msgstr "Kliknij na kontener, aby wyświetlić więcej informacji."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Skonfiguruj sposób otrzymywania powiadomień."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Potwierdź hasło"
|
msgstr "Potwierdź hasło"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konflikty"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Brak połączenia"
|
msgstr "Brak połączenia"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Kopiuj YAML"
|
msgstr "Kopiuj YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "Procesor"
|
msgstr "Procesor"
|
||||||
@@ -374,6 +436,14 @@ msgstr "Procesor"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "Rdzenie CPU"
|
msgstr "Rdzenie CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Szczyt CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Czas CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Podział czasu CPU"
|
msgstr "Podział czasu CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Podział czasu CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Użycie procesora"
|
msgstr "Użycie procesora"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Utwórz"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Utwórz konto"
|
msgstr "Utwórz konto"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Aktualny stan"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cykle"
|
msgstr "Cykle"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Panel kontrolny"
|
msgid "Daily"
|
||||||
|
msgstr "Codziennie"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Domyślny przedział czasu"
|
msgstr "Domyślny przedział czasu"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Usuń"
|
msgstr "Usuń"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Usuń"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Usuń odcisk palca"
|
msgstr "Usuń odcisk palca"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Opis"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Szczegół"
|
msgstr "Szczegół"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Sieć Docker I/O"
|
msgstr "Sieć Docker I/O"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentacja"
|
msgstr "Dokumentacja"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Pobieranie"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Czas trwania"
|
msgstr "Czas trwania"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Edytuj"
|
msgstr "Edytuj"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Edytuj {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Powiadomienia e-mail"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Pusta"
|
msgstr "Pusta"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Czas zakończenia"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Wprowadź adres e-mail, aby zresetować hasło"
|
msgstr "Wprowadź adres e-mail, aby zresetować hasło"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Wprowadź swoje jednorazowe hasło."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Błąd"
|
msgstr "Błąd"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Błąd"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
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}}"
|
msgstr "Przekracza {0}{1} w ciągu ostatnich {2, plural, one {# minuty} other {# minut}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Główny PID wykonania"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
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."
|
msgstr "Istniejące systemy, które nie są zdefiniowane w <0>config.yml</0>, zostaną usunięte. Proszę regularnie tworzyć kopie zapasowe."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Zakończono aktywnie"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Eksport"
|
msgstr "Eksport"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Eksportuj aktualną konfigurację systemów."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Nieudane"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Nieudane atrybuty:"
|
msgstr "Nieudane atrybuty:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Błąd autoryzacji"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Nie udało się zapisać ustawień"
|
msgstr "Nie udało się zapisać ustawień"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Nie udało się wysłać testowego powiadomienia"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Nie udało się zaktualizować powiadomienia"
|
msgstr "Nie udało się zaktualizować powiadomienia"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Nieudane: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtruj..."
|
msgstr "Filtruj..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Pełna"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Ogólne"
|
msgstr "Ogólne"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globalny"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "Silniki GPU"
|
msgstr "Silniki GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "Silniki GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Moc GPU"
|
msgstr "Moc GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Użycie GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Siatka"
|
msgstr "Siatka"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Obraz"
|
msgstr "Obraz"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Nieaktywny"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Nieprawidłowy adres e-mail."
|
msgstr "Nieprawidłowy adres e-mail."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Język"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Układ"
|
msgstr "Układ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Szerokość układu"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Cykl życia"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "limit"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Średnie obciążenie"
|
msgstr "Średnie obciążenie"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Średnie obciążenie 5 m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Śr. obciążenie"
|
msgstr "Śr. obciążenie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Stan obciążenia"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Ładowanie..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Wyloguj"
|
msgstr "Wyloguj"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Logi"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
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."
|
msgstr "Szukasz, gdzie utworzyć powiadomienia? Kliknij ikonę dzwonka <0/> w tabeli systemów."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Główny PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Zarządzaj preferencjami wyświetlania i powiadomień."
|
msgstr "Zarządzaj preferencjami wyświetlania i powiadomień."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Maks. 1 min"
|
msgstr "Maks. 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Pamięć"
|
msgstr "Pamięć"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Limit pamięci"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Szczyt pamięci"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Model"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nazwa"
|
msgstr "Nazwa"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Ruch sieciowy interfejsów publicznych"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Jednostka sieciowa"
|
msgstr "Jednostka sieciowa"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Nie"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Brak wyników."
|
msgstr "Brak wyników."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Brak wyników."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Brak wyników."
|
msgstr "Brak wyników."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Wsparcie OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
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."
|
msgstr "Przy każdym ponownym uruchomieniu systemy w bazie danych będą aktualizowane, aby odpowiadały systemom zdefiniowanym w pliku."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Jednorazowy"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Hasło jednorazowe"
|
msgstr "Hasło jednorazowe"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Otwórz menu"
|
msgstr "Otwórz menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Inne"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Nadpisz istniejące alerty"
|
msgstr "Nadpisz istniejące alerty"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Hasło musi być mniejsze niż 72 bajty."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Otrzymane żądanie resetowania hasła"
|
msgstr "Otrzymane żądanie resetowania hasła"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pauza"
|
msgstr "Pauza"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Dokładne wykorzystanie w zarejestrowanym czasie"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Preferowany język"
|
msgstr "Preferowany język"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proces uruchomiony"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Klucz publiczny"
|
msgstr "Klucz publiczny"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Godziny ciszy"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Otrzymane"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Odśwież"
|
msgstr "Odśwież"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relacje"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Zażądaj jednorazowego hasła"
|
msgstr "Zażądaj jednorazowego hasła"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Zażądaj jednorazowego hasła"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Zażądaj OTP"
|
msgstr "Zażądaj OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Wymagane przez"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Wymaga"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Resetuj hasło"
|
msgstr "Resetuj hasło"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Resetuj hasło"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Rozwiązany"
|
msgstr "Rozwiązany"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Ponowne uruchomienia"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Wznów"
|
msgstr "Wznów"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Root"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Zmień token"
|
msgstr "Zmień token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Zmień token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Wiersze na stronę"
|
msgstr "Wiersze na stronę"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Metryki czasu wykonania"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "Szczegóły S.M.A.R.T."
|
msgstr "Szczegóły S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Zapisz ustawienia"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Zapisz system"
|
msgstr "Zapisz system"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Harmonogram"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Zaplanuj godziny ciszy, w których powiadomienia nie będą wysyłane, na przykład podczas okresów konserwacji."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Zaplanuj godziny ciszy, w których powiadomienia nie będą wysyłane."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Szukaj"
|
msgstr "Szukaj"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Szukaj systemów lub ustawień..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
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."
|
msgstr "Zobacz <0>ustawienia powiadomień</0>, aby skonfigurować sposób, w jaki otrzymujesz powiadomienia."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Wybierz {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Wysłane"
|
msgstr "Wysłane"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Wysłane"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Numer seryjny"
|
msgstr "Numer seryjny"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Szczegóły usługi"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Usługi"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Ustaw progi procentowe dla kolorów mierników."
|
msgstr "Ustaw progi procentowe dla kolorów mierników."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Ustawienia SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Sortuj według"
|
msgstr "Sortuj według"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Stan"
|
msgstr "Stan"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Status"
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Stan podrzędny"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Pamięć wymiany używana przez system"
|
msgstr "Pamięć wymiany używana przez system"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Pamięć wymiany używana przez system"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Użycie pamięci wymiany"
|
msgstr "Użycie pamięci wymiany"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "System"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Średnie obciążenie systemu w czasie"
|
msgstr "Średnie obciążenie systemu w czasie"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Usługi systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Systemy"
|
msgstr "Systemy"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Systemy mogą być zarządzane w pliku <0>config.yml</0> znajdującym si
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabela"
|
msgstr "Tabela"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Zadania"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Całkowita ilość danych odebranych dla każdego interfejsu"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Całkowita ilość danych wysłanych dla każdego interfejsu"
|
msgstr "Całkowita ilość danych wysłanych dla każdego interfejsu"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Łącznie: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Wyzwalane przez"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Wyzwalacze"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Uruchamia się, gdy 1-minutowe średnie obciążenie systemu przekroczy ustawiony próg"
|
msgstr "Uruchamia się, gdy 1-minutowe średnie obciążenie systemu przekroczy ustawiony próg"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Wyzwalane, gdy łączna wartość w górę/w dół przekroczy próg"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Wyzwalane, gdy użycie procesora przekracza próg"
|
msgstr "Wyzwalane, gdy użycie procesora przekracza próg"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Wyzwalane, gdy użycie GPU przekroczy próg"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Wyzwalane, wykorzystanie pamięci przekroczy ustalony próg."
|
msgstr "Wyzwalane, wykorzystanie pamięci przekroczy ustalony próg."
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Wyzwalane, gdy status przełącza się między stanem aktywnym a nieakty
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Wyzwalane, gdy wykorzystanie któregokolwiek dysku przekroczy ustalony próg"
|
msgstr "Wyzwalane, gdy wykorzystanie któregokolwiek dysku przekroczy ustalony próg"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Typ"
|
msgstr "Typ"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Plik jednostki"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Uniwersalny token"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Nieznana"
|
msgstr "Nieznana"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Bez limitu"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Działa"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Działa ({upSystemsLength})"
|
msgstr "Działa ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Aktualizuj"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Zaktualizowano"
|
msgstr "Zaktualizowano"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Aktualizowane co 10 minut."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Wysyłanie"
|
msgstr "Wysyłanie"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Oczekiwanie na wystarczającą liczbę rekordów do wyświetlenia"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Chcesz pomóc nam uczynić nasze tłumaczenia jeszcze lepszymi? Sprawdź <0>Crowdin</0> po więcej szczegółów."
|
msgstr "Chcesz pomóc nam uczynić nasze tłumaczenia jeszcze lepszymi? Sprawdź <0>Crowdin</0> po więcej szczegółów."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Wymaga"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Ostrzeżenie (%)"
|
msgstr "Ostrzeżenie (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "Konf. YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "Konfiguracja YAML"
|
msgstr "Konfiguracja YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Tak"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Twoje ustawienia użytkownika zostały zaktualizowane."
|
msgstr "Twoje ustawienia użytkownika zostały zaktualizowane."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: pt\n"
|
"Language: pt\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-11-04 22:13\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Portuguese\n"
|
"Language-Team: Portuguese\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Ações"
|
msgstr "Ações"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Ativo"
|
msgstr "Ativo"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Ativo"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Alertas Ativos"
|
msgstr "Alertas Ativos"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Estado ativo"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Adicionar {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Adicionar <0>Sistema</0>"
|
msgstr "Adicionar <0>Sistema</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Adicionar Novo Sistema"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Adicionar sistema"
|
msgstr "Adicionar sistema"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Adicionar URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Ajustar opções de exibição para gráficos."
|
msgstr "Ajustar opções de exibição para gráficos."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Ajustar a largura do layout principal"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Admin"
|
msgstr "Admin"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Depois"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Agente"
|
msgstr "Agente"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Todos os Contêineres"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Largura de Banda"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Bateria"
|
msgstr "Bateria"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Tornou-se ativo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Tornou-se inativo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Antes"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel suporta OpenID Connect e muitos provedores de autenticação OAuth2."
|
msgstr "Beszel suporta OpenID Connect e muitos provedores de autenticação OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Binário"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Bits (Kbps, Mbps, Gbps)"
|
msgstr "Bits (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Estado de inicialização"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Bytes (KB/s, MB/s, GB/s)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Pode recarregar"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Pode iniciar"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Pode parar"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Capacidades"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Capacidade"
|
msgstr "Capacidade"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Verifique os logs para mais detalhes."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Verifique seu serviço de notificação"
|
msgstr "Verifique seu serviço de notificação"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Clique num contentor para ver mais informações."
|
msgstr "Clique num contentor para ver mais informações."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Configure como você recebe notificações de alerta."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Confirmar senha"
|
msgstr "Confirmar senha"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Conflitos"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "A conexão está inativa"
|
msgstr "A conexão está inativa"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Copiar YAML"
|
msgstr "Copiar YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "CPU"
|
msgstr "CPU"
|
||||||
@@ -374,6 +436,14 @@ msgstr "CPU"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "Núcleos de CPU"
|
msgstr "Núcleos de CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Pico de CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Tempo de CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Distribuição do Tempo de CPU"
|
msgstr "Distribuição do Tempo de CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Distribuição do Tempo de CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Uso de CPU"
|
msgstr "Uso de CPU"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Criar"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Criar conta"
|
msgstr "Criar conta"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Estado atual"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Ciclos"
|
msgstr "Ciclos"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Painel"
|
msgid "Daily"
|
||||||
|
msgstr "Diariamente"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Período de tempo padrão"
|
msgstr "Período de tempo padrão"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Excluir"
|
msgstr "Excluir"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Excluir"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Excluir impressão digital"
|
msgstr "Excluir impressão digital"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Descrição"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Detalhe"
|
msgstr "Detalhe"
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "E/S de Rede do Docker"
|
msgstr "E/S de Rede do Docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Documentação"
|
msgstr "Documentação"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Transferir"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Duração"
|
msgstr "Duração"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Editar"
|
msgstr "Editar"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Editar {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Notificações por email"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Vazia"
|
msgstr "Vazia"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Digite o endereço de email para redefinir a senha"
|
msgstr "Digite o endereço de email para redefinir a senha"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Insira a sua senha de uso único."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Erro"
|
msgstr "Erro"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Erro"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Excede {0}{1} no último {2, plural, one {# minuto} other {# minutos}}"
|
msgstr "Excede {0}{1} no último {2, plural, one {# minuto} other {# minutos}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "PID principal de execução"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Sistemas existentes não definidos em <0>config.yml</0> serão excluídos. Faça backups regulares."
|
msgstr "Sistemas existentes não definidos em <0>config.yml</0> serão excluídos. Faça backups regulares."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Saiu ativo"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Exportar"
|
msgstr "Exportar"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Exporte a configuração atual dos seus sistemas."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Fahrenheit (°F)"
|
msgstr "Fahrenheit (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Falhou"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Atributos com Falha:"
|
msgstr "Atributos com Falha:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Falha na autenticação"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Falha ao guardar as definições"
|
msgstr "Falha ao guardar as definições"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Falha ao enviar notificação de teste"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Falha ao atualizar alerta"
|
msgstr "Falha ao atualizar alerta"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Falhou: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtrar..."
|
msgstr "Filtrar..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Cheia"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Geral"
|
msgstr "Geral"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Global"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "Motores GPU"
|
msgstr "Motores GPU"
|
||||||
@@ -641,6 +759,10 @@ msgstr "Motores GPU"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Consumo de Energia da GPU"
|
msgstr "Consumo de Energia da GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Uso de GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Grade"
|
msgstr "Grade"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Imagem"
|
msgstr "Imagem"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Inativo"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Endereço de email inválido."
|
msgstr "Endereço de email inválido."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Idioma"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Aspeto"
|
msgstr "Aspeto"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Largura do layout"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Ciclo de vida"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "limite"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Carga Média"
|
msgstr "Carga Média"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Carga média 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Carga Média"
|
msgstr "Carga Média"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Estado de carga"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Carregando..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Sair"
|
msgstr "Sair"
|
||||||
@@ -728,12 +875,16 @@ msgstr "Tentativa de login falhou"
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Logs"
|
msgid "Logs"
|
||||||
msgstr ""
|
msgstr "Logs"
|
||||||
|
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Procurando onde criar alertas? Clique nos ícones de sino <0/> na tabela de sistemas."
|
msgstr "Procurando onde criar alertas? Clique nos ícones de sino <0/> na tabela de sistemas."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "PID principal"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Gerenciar preferências de exibição e notificação."
|
msgstr "Gerenciar preferências de exibição e notificação."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Máx 1 min"
|
msgstr "Máx 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Memória"
|
msgstr "Memória"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Limite de memória"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Pico de memória"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Modelo"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nome"
|
msgstr "Nome"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Tráfego de rede das interfaces públicas"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Unidade de rede"
|
msgstr "Unidade de rede"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Não"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Nenhum resultado encontrado."
|
msgstr "Nenhum resultado encontrado."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Nenhum resultado encontrado."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Sem resultados."
|
msgstr "Sem resultados."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Suporte a OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "A cada reinício, os sistemas no banco de dados serão atualizados para corresponder aos sistemas definidos no arquivo."
|
msgstr "A cada reinício, os sistemas no banco de dados serão atualizados para corresponder aos sistemas definidos no arquivo."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Uma vez"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Senha de uso único"
|
msgstr "Senha de uso único"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Abrir menu"
|
msgstr "Abrir menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Outro"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Sobrescrever alertas existentes"
|
msgstr "Sobrescrever alertas existentes"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "A password tem que ter menos de 72 bytes."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Solicitação de redefinição de senha recebida"
|
msgstr "Solicitação de redefinição de senha recebida"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Passado"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Pausar"
|
msgstr "Pausar"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Utilização precisa no momento registrado"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Idioma Preferido"
|
msgstr "Idioma Preferido"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Processo iniciado"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Chave Pública"
|
msgstr "Chave Pública"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Horas Silenciosas"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Recebido"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Atualizar"
|
msgstr "Atualizar"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Relacionamentos"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Solicitar senha de uso único"
|
msgstr "Solicitar senha de uso único"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Solicitar senha de uso único"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Solicitar OTP"
|
msgstr "Solicitar OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Requerido por"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Requer"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Redefinir Senha"
|
msgstr "Redefinir Senha"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Redefinir Senha"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Resolvido"
|
msgstr "Resolvido"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Reinícios"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Retomar"
|
msgstr "Retomar"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Rotacionar token"
|
msgstr "Rotacionar token"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Rotacionar token"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Linhas por página"
|
msgstr "Linhas por página"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Métricas de tempo de execução"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "Detalhes S.M.A.R.T."
|
msgstr "Detalhes S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Guardar Definições"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Guardar Sistema"
|
msgstr "Guardar Sistema"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Agendar"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Agende horas silenciosas onde as notificações não serão enviadas, como durante períodos de manutenção."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Agende horas silenciosas onde as notificações não serão enviadas."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Pesquisar"
|
msgstr "Pesquisar"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Pesquisar por sistemas ou configurações..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
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."
|
msgstr "Veja <0>configurações de notificação</0> para configurar como você recebe alertas."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Enviado"
|
msgstr "Enviado"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Enviado"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Número de Série"
|
msgstr "Número de Série"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Detalhes do serviço"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Serviços"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Defina os limiares de porcentagem para as cores do medidor."
|
msgstr "Defina os limiares de porcentagem para as cores do medidor."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Configurações SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Ordenar Por"
|
msgstr "Ordenar Por"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Estado"
|
msgstr "Estado"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Estado"
|
msgstr "Estado"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Subestado"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Espaço de swap usado pelo sistema"
|
msgstr "Espaço de swap usado pelo sistema"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Espaço de swap usado pelo sistema"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Uso de Swap"
|
msgstr "Uso de Swap"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Sistema"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Médias de carga do sistema ao longo do tempo"
|
msgstr "Médias de carga do sistema ao longo do tempo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Serviços Systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Sistemas"
|
msgstr "Sistemas"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Os sistemas podem ser gerenciados em um arquivo <0>config.yml</0> dentro
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabela"
|
msgstr "Tabela"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Tarefas"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Dados totais recebidos para cada interface"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Dados totais enviados para cada interface"
|
msgstr "Dados totais enviados para cada interface"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Acionado por"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Acionadores"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Dispara quando a média de carga de 1 minuto excede um limite"
|
msgstr "Dispara quando a média de carga de 1 minuto excede um limite"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Dispara quando a soma de subida/descida excede um limite"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Dispara quando o uso de CPU excede um limite"
|
msgstr "Dispara quando o uso de CPU excede um limite"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Dispara quando o uso de GPU excede um limite"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Dispara quando o uso de memória excede um limite"
|
msgstr "Dispara quando o uso de memória excede um limite"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Dispara quando o status alterna entre ativo e inativo"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Dispara quando o uso de qualquer disco excede um limite"
|
msgstr "Dispara quando o uso de qualquer disco excede um limite"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Tipo"
|
msgstr "Tipo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Arquivo de unidade"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Token universal"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Desconhecida"
|
msgstr "Desconhecida"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Ilimitado"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Ligado"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Ativo ({upSystemsLength})"
|
msgstr "Ativo ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Atualizado"
|
msgstr "Atualizado"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Atualizado a cada 10 minutos."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Carregar"
|
msgstr "Carregar"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Aguardando registros suficientes para exibir"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Quer nos ajudar a melhorar ainda mais nossas traduções? Confira <0>Crowdin</0> para mais detalhes."
|
msgstr "Quer nos ajudar a melhorar ainda mais nossas traduções? Confira <0>Crowdin</0> para mais detalhes."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Deseja"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Aviso (%)"
|
msgstr "Aviso (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "Configuração YAML"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "Configuração YAML"
|
msgstr "Configuração YAML"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Sim"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "As configurações do seu usuário foram atualizadas."
|
msgstr "As configurações do seu usuário foram atualizadas."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: ru\n"
|
"Language: ru\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-12-01 23:32\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Russian\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"
|
"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"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 мин"
|
msgstr "5 мин"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Действия"
|
msgstr "Действия"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Активно"
|
msgstr "Активно"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Активно"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Активные оповещения"
|
msgstr "Активные оповещения"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Активное состояние"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Добавить {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Добавить <0>Систему</0>"
|
msgstr "Добавить <0>Систему</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Добавить новую систему"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Добавить систему"
|
msgstr "Добавить систему"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Добавить URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Настроить параметры отображения для графиков."
|
msgstr "Настроить параметры отображения для графиков."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Настроить ширину основного макета"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Администратор"
|
msgstr "Администратор"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "После"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr "Агент"
|
msgstr "Агент"
|
||||||
@@ -139,6 +156,7 @@ msgstr "Все контейнеры"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Пропускная способность"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Батарея"
|
msgstr "Батарея"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Стал активным"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Стал неактивным"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "До"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel поддерживает OpenID Connect и множество поставщиков аутентификации OAuth2."
|
msgstr "Beszel поддерживает OpenID Connect и множество поставщиков аутентификации OAuth2."
|
||||||
@@ -217,6 +247,10 @@ msgstr "Двоичный"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Биты (Кбит/с, Мбит/с, Гбит/с)"
|
msgstr "Биты (Кбит/с, Мбит/с, Гбит/с)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Состояние загрузки"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
@@ -226,11 +260,28 @@ msgstr "Байты (Кбайт/с, Мбайт/с, Гбайт/с)"
|
|||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Кэш / Буферы"
|
msgstr "Кэш / Буферы"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Может перезагрузить"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Может запустить"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Может остановить"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Отмена"
|
msgstr "Отмена"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Возможности"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Емкость"
|
msgstr "Емкость"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Проверьте журналы для получения более
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Проверьте ваш сервис уведомлений"
|
msgstr "Проверьте ваш сервис уведомлений"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Очистить"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Нажмите на контейнер, чтобы просмотреть дополнительную информацию."
|
msgstr "Нажмите на контейнер, чтобы просмотреть дополнительную информацию."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Настройте, как вы получаете уведомлени
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Подтвердите пароль"
|
msgstr "Подтвердите пароль"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Конфликты"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Нет соединения"
|
msgstr "Нет соединения"
|
||||||
@@ -366,6 +427,7 @@ msgid "Copy YAML"
|
|||||||
msgstr "Скопировать YAML"
|
msgstr "Скопировать YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr "ЦП"
|
msgstr "ЦП"
|
||||||
@@ -374,6 +436,14 @@ msgstr "ЦП"
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "Ядра ЦП"
|
msgstr "Ядра ЦП"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Пик CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Время CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Распределение времени ЦП"
|
msgstr "Распределение времени ЦП"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Распределение времени ЦП"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "Использование CPU"
|
msgstr "Использование CPU"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Создать"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Создать аккаунт"
|
msgstr "Создать аккаунт"
|
||||||
@@ -404,7 +478,7 @@ msgstr "Совокупная загрузка"
|
|||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Cumulative Upload"
|
msgid "Cumulative Upload"
|
||||||
msgstr "Совокупная выгрузка"
|
msgstr "Совокупная отдача"
|
||||||
|
|
||||||
#. Context: Battery state
|
#. Context: Battery state
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -416,15 +490,18 @@ msgstr "Текущее состояние"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Циклы"
|
msgstr "Циклы"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Панель управления"
|
msgid "Daily"
|
||||||
|
msgstr "Ежедневно"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Период по умолчанию"
|
msgstr "Период по умолчанию"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Удалить"
|
msgstr "Удалить"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Удалить"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Удалить отпечаток"
|
msgstr "Удалить отпечаток"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Описание"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Подробности"
|
msgstr "Подробности"
|
||||||
@@ -456,7 +537,7 @@ msgstr "Дисковый ввод/вывод"
|
|||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Disk unit"
|
msgid "Disk unit"
|
||||||
msgstr "Единицы измерения температуры"
|
msgstr "Единицы измерения дисковой активности"
|
||||||
|
|
||||||
#: src/components/charts/disk-chart.tsx
|
#: src/components/charts/disk-chart.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Сетевой ввод/вывод Docker"
|
msgstr "Сетевой ввод/вывод Docker"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Документация"
|
msgstr "Документация"
|
||||||
|
|
||||||
@@ -498,17 +580,22 @@ msgstr "Не в сети ({downSystemsLength})"
|
|||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Download"
|
msgid "Download"
|
||||||
msgstr "Скачать"
|
msgstr "Загрузка"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Длительность"
|
msgstr "Длительность"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Редактировать"
|
msgstr "Редактировать"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Редактировать {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "Уведомления по электронной почте"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Пустая"
|
msgstr "Пустая"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Время окончания"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Введите адрес электронной почты для сброса пароля"
|
msgstr "Введите адрес электронной почты для сброса пароля"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Введите ваш одноразовый пароль."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Ошибка"
|
msgstr "Ошибка"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Ошибка"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Превышает {0}{1} за последние {2, plural, one {# минуту} other {# минут}}"
|
msgstr "Превышает {0}{1} за последние {2, plural, one {# минуту} other {# минут}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr "Основной PID процесса"
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Существующие системы, не определенные в <0>config.yml</0>, будут удалены. Пожалуйста, делайте регулярные резервные копии."
|
msgstr "Существующие системы, не определенные в <0>config.yml</0>, будут удалены. Пожалуйста, делайте регулярные резервные копии."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Завершился активным"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Экспорт"
|
msgstr "Экспорт"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Экспортируйте текущую конфигурацию си
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr "Фаренгейт (°F)"
|
msgstr "Фаренгейт (°F)"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Неудачно"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Неудачные атрибуты:"
|
msgstr "Неудачные атрибуты:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Не удалось аутентифицировать"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Не удалось сохранить настройки"
|
msgstr "Не удалось сохранить настройки"
|
||||||
|
|
||||||
@@ -592,10 +700,16 @@ msgstr "Не удалось отправить тестовое уведомле
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Не удалось обновить оповещение"
|
msgstr "Не удалось обновить оповещение"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Неудачно: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Фильтр..."
|
msgstr "Фильтр..."
|
||||||
@@ -633,6 +747,10 @@ msgstr "Полная"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Общие"
|
msgstr "Общие"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Глобально"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU движки"
|
msgstr "GPU движки"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU движки"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "Потребляемая мощность GPU"
|
msgstr "Потребляемая мощность GPU"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Использование GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Сетка"
|
msgstr "Сетка"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Образ"
|
msgstr "Образ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Неактивно"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Неверный адрес электронной почты."
|
msgstr "Неверный адрес электронной почты."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Язык"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Макет"
|
msgstr "Макет"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Ширина макета"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Жизненный цикл"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "лимит"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Средняя загрузка"
|
msgstr "Средняя загрузка"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Средняя загрузка за 5м"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Ср. загрузка"
|
msgstr "Ср. загрузка"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Состояние загрузки"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Загрузка..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Выйти"
|
msgstr "Выйти"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Журналы"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Ищете, где создать оповещения? Нажмите на значки колокольчика <0/> в таблице систем."
|
msgstr "Ищете, где создать оповещения? Нажмите на значки колокольчика <0/> в таблице систем."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Основной PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Управляйте предпочтениями отображения и уведомлений."
|
msgstr "Управляйте предпочтениями отображения и уведомлений."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Макс 1 мин"
|
msgstr "Макс 1 мин"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Память"
|
msgstr "Память"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Лимит памяти"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Пик памяти"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr "Модель"
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Имя"
|
msgstr "Имя"
|
||||||
|
|
||||||
@@ -793,7 +957,14 @@ msgstr "Сетевой трафик публичных интерфейсов"
|
|||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr "Единицы измерения скорости сети"
|
msgstr "Единицы измерения скорости сети"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Нет"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Результаты не найдены."
|
msgstr "Результаты не найдены."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Результаты не найдены."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Нет результатов."
|
msgstr "Нет результатов."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Поддержка OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "При каждом перезапуске системы в базе данных будут обновлены в соответствии с системами, определенными в файле."
|
msgstr "При каждом перезапуске системы в базе данных будут обновлены в соответствии с системами, определенными в файле."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Одноразово"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Одноразовый пароль"
|
msgstr "Одноразовый пароль"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Открыть меню"
|
msgstr "Открыть меню"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Другое"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Перезаписать существующие оповещения"
|
msgstr "Перезаписать существующие оповещения"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Пароль должен быть меньше 72 символов."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Запрос на сброс пароля получен"
|
msgstr "Запрос на сброс пароля получен"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Прошлое"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Пауза"
|
msgstr "Пауза"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Точное использование в записанное врем
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Предпочтительный язык"
|
msgstr "Предпочтительный язык"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Процесс запущен"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Ключ"
|
msgstr "Ключ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Тихие часы"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Получено"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Обновить"
|
msgstr "Обновить"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Связи"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Запросить одноразовый пароль"
|
msgstr "Запросить одноразовый пароль"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Запросить одноразовый пароль"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Запросить OTP"
|
msgstr "Запросить OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Требуется для"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Требует"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Сбросить пароль"
|
msgstr "Сбросить пароль"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Сбросить пароль"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Завершено"
|
msgstr "Завершено"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Перезапуски"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Возобновить"
|
msgstr "Возобновить"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Корневой"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Обновить токен"
|
msgstr "Обновить токен"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Обновить токен"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Строк на странице"
|
msgstr "Строк на странице"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Метрики времени выполнения"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "Детали S.M.A.R.T."
|
msgstr "Детали S.M.A.R.T."
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Сохранить настройки"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Сохранить систему"
|
msgstr "Сохранить систему"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Расписание"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Запланируйте тихие часы, когда уведомления не будут отправляться, например, во время обслуживания."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Запланируйте тихие часы, когда уведомления не будут отправляться."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Поиск"
|
msgstr "Поиск"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Поиск систем или настроек..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Смотрите <0>настройки уведомлений</0>, чтобы настроить, как вы получаете оповещения."
|
msgstr "Смотрите <0>настройки уведомлений</0>, чтобы настроить, как вы получаете оповещения."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Выбрать {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Отправлено"
|
msgstr "Отправлено"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Отправлено"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Серийный номер"
|
msgstr "Серийный номер"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Детали сервиса"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Службы"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Установите процентные пороги для цветов счетчиков."
|
msgstr "Установите процентные пороги для цветов счетчиков."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "Настройки SMTP"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Сортировать по"
|
msgstr "Сортировать по"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Время начала"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Состояние"
|
msgstr "Состояние"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr "Статус"
|
msgstr "Статус"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Подсостояние"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Используемое системой пространство подкачки"
|
msgstr "Используемое системой пространство подкачки"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Используемое системой пространство по
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Использование подкачки"
|
msgstr "Использование подкачки"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Система"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Средняя загрузка системы за время"
|
msgstr "Средняя загрузка системы за время"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Сервисы Systemd"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Системы"
|
msgstr "Системы"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Системы могут управляться в файле <0>config
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Таблица"
|
msgstr "Таблица"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Задачи"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1129,7 +1397,7 @@ msgstr "Температура"
|
|||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Temperature unit"
|
msgid "Temperature unit"
|
||||||
msgstr "Температура"
|
msgstr "Единицы измерения температуры"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Temperatures of system sensors"
|
msgid "Temperatures of system sensors"
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Общий объем полученных данных для кажд
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Общий объем отправленных данных для каждого интерфейса"
|
msgstr "Общий объем отправленных данных для каждого интерфейса"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Всего: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Запущено"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Триггеры"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Срабатывает, когда средняя загрузка за 1 минуту превышает порог"
|
msgstr "Срабатывает, когда средняя загрузка за 1 минуту превышает порог"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Срабатывает, когда комбинированный вхо
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Срабатывает, когда использование CPU превышает порог"
|
msgstr "Срабатывает, когда использование CPU превышает порог"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Срабатывает, когда использование GPU превышает порог"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Срабатывает, когда использование памяти превышает порог"
|
msgstr "Срабатывает, когда использование памяти превышает порог"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Срабатывает, когда статус переключаетс
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Срабатывает, когда использование любого диска превышает порог"
|
msgstr "Срабатывает, когда использование любого диска превышает порог"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Тип"
|
msgstr "Тип"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Unit файл"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Универсальный токен"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Неизвестная"
|
msgstr "Неизвестная"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Неограниченно"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,13 +1573,23 @@ msgstr "В сети"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "В сети ({upSystemsLength})"
|
msgstr "В сети ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Обновить"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Обновлено"
|
msgstr "Обновлено"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Обновляется каждые 10 минут."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Загрузить"
|
msgstr "Отдача"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Uptime"
|
msgid "Uptime"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Ожидание достаточного количества запи
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Хотите помочь нам улучшить наши переводы? Посетите <0>Crowdin</0> для получения более подробной информации."
|
msgstr "Хотите помочь нам улучшить наши переводы? Посетите <0>Crowdin</0> для получения более подробной информации."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Требует"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Предупреждение (%)"
|
msgstr "Предупреждение (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML конфигурация"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML конфигурация"
|
msgstr "YAML конфигурация"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Да"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Ваши настройки пользователя были обновлены."
|
msgstr "Ваши настройки пользователя были обновлены."
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Language: sl\n"
|
"Language: sl\n"
|
||||||
"Project-Id-Version: beszel\n"
|
"Project-Id-Version: beszel\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2025-10-28 23:00\n"
|
"PO-Revision-Date: 2025-11-14 22:51\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Slovenian\n"
|
"Language-Team: Slovenian\n"
|
||||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||||
@@ -76,13 +76,16 @@ msgid "5 min"
|
|||||||
msgstr "5 min"
|
msgstr "5 min"
|
||||||
|
|
||||||
#. Table column
|
#. Table column
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Actions"
|
msgid "Actions"
|
||||||
msgstr "Dejanja"
|
msgstr "Dejanja"
|
||||||
|
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Active"
|
msgid "Active"
|
||||||
msgstr "Aktivno"
|
msgstr "Aktivno"
|
||||||
|
|
||||||
@@ -90,14 +93,20 @@ msgstr "Aktivno"
|
|||||||
msgid "Active Alerts"
|
msgid "Active Alerts"
|
||||||
msgstr "Aktivna opozorila"
|
msgstr "Aktivna opozorila"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Active state"
|
||||||
|
msgstr "Aktivno stanje"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Add {foo}"
|
||||||
|
msgstr "Dodaj {foo}"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add <0>System</0>"
|
msgid "Add <0>System</0>"
|
||||||
msgstr "Dodaj <0>sistem</0>"
|
msgstr "Dodaj <0>sistem</0>"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
|
||||||
msgid "Add New System"
|
|
||||||
msgstr "Dodaj nov sistem"
|
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Add system"
|
msgid "Add system"
|
||||||
msgstr "Dodaj sistem"
|
msgstr "Dodaj sistem"
|
||||||
@@ -110,11 +119,19 @@ msgstr "Dodaj URL"
|
|||||||
msgid "Adjust display options for charts."
|
msgid "Adjust display options for charts."
|
||||||
msgstr "Prilagodi možnosti prikaza za grafikone."
|
msgstr "Prilagodi možnosti prikaza za grafikone."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Adjust the width of the main layout"
|
||||||
|
msgstr "Prilagodite širino glavne postavitve"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Admin"
|
msgid "Admin"
|
||||||
msgstr "Administrator"
|
msgstr "Administrator"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "After"
|
||||||
|
msgstr "Po"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Agent"
|
msgid "Agent"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -139,6 +156,7 @@ msgstr "Vsi kontejnerji"
|
|||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/routes/home.tsx
|
#: src/components/routes/home.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "All Systems"
|
msgid "All Systems"
|
||||||
@@ -200,6 +218,18 @@ msgstr "Pasovna širina"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Baterija"
|
msgstr "Baterija"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became active"
|
||||||
|
msgstr "Postalo aktivno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Became inactive"
|
||||||
|
msgstr "Postalo neaktivno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Before"
|
||||||
|
msgstr "Pred"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
msgid "Beszel supports OpenID Connect and many OAuth2 authentication providers."
|
||||||
msgstr "Beszel podpira OpenID Connect in številne ponudnike preverjanja pristnosti OAuth2."
|
msgstr "Beszel podpira OpenID Connect in številne ponudnike preverjanja pristnosti OAuth2."
|
||||||
@@ -217,20 +247,41 @@ msgstr "Binarno"
|
|||||||
msgid "Bits (Kbps, Mbps, Gbps)"
|
msgid "Bits (Kbps, Mbps, Gbps)"
|
||||||
msgstr "Biti (Kbps, Mbps, Gbps)"
|
msgstr "Biti (Kbps, Mbps, Gbps)"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Boot state"
|
||||||
|
msgstr "Stanje zagona"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Bytes (KB/s, MB/s, GB/s)"
|
msgid "Bytes (KB/s, MB/s, GB/s)"
|
||||||
msgstr ""
|
msgstr "Bajti (KB/s, MB/s, GB/s)"
|
||||||
|
|
||||||
#: src/components/charts/mem-chart.tsx
|
#: src/components/charts/mem-chart.tsx
|
||||||
msgid "Cache / Buffers"
|
msgid "Cache / Buffers"
|
||||||
msgstr "Predpomnilnik / medpomnilniki"
|
msgstr "Predpomnilnik / medpomnilniki"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can reload"
|
||||||
|
msgstr "Lahko ponovno naloži"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can start"
|
||||||
|
msgstr "Lahko zažene"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Can stop"
|
||||||
|
msgstr "Lahko ustavi"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Prekliči"
|
msgstr "Prekliči"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Capabilities"
|
||||||
|
msgstr "Zmožnosti"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Capacity"
|
msgid "Capacity"
|
||||||
msgstr "Kapaciteta"
|
msgstr "Kapaciteta"
|
||||||
@@ -276,6 +327,12 @@ msgstr "Za več podrobnosti preverite dnevnike."
|
|||||||
msgid "Check your notification service"
|
msgid "Check your notification service"
|
||||||
msgstr "Preverite storitev obveščanja"
|
msgstr "Preverite storitev obveščanja"
|
||||||
|
|
||||||
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systems-table/systems-table.tsx
|
||||||
|
msgid "Clear"
|
||||||
|
msgstr "Počisti"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Click on a container to view more information."
|
msgid "Click on a container to view more information."
|
||||||
msgstr "Kliknite na kontejner za več informacij."
|
msgstr "Kliknite na kontejner za več informacij."
|
||||||
@@ -306,6 +363,10 @@ msgstr "Nastavi način prejemanja opozorilnih obvestil."
|
|||||||
msgid "Confirm password"
|
msgid "Confirm password"
|
||||||
msgstr "Potrdite geslo"
|
msgstr "Potrdite geslo"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Conflicts"
|
||||||
|
msgstr "Konflikti"
|
||||||
|
|
||||||
#: src/components/active-alerts.tsx
|
#: src/components/active-alerts.tsx
|
||||||
msgid "Connection is down"
|
msgid "Connection is down"
|
||||||
msgstr "Povezava je prekinjena"
|
msgstr "Povezava je prekinjena"
|
||||||
@@ -363,9 +424,10 @@ msgstr "Kopirajte<0>docker-compose.yml</0> vsebino za agenta spodaj ali registri
|
|||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Copy YAML"
|
msgid "Copy YAML"
|
||||||
msgstr ""
|
msgstr "Kopiraj YAML"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "CPU"
|
msgid "CPU"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -374,6 +436,14 @@ msgstr ""
|
|||||||
msgid "CPU Cores"
|
msgid "CPU Cores"
|
||||||
msgstr "CPU jedra"
|
msgstr "CPU jedra"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "CPU Peak"
|
||||||
|
msgstr "Vrhunec CPU"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "CPU time"
|
||||||
|
msgstr "Čas CPU"
|
||||||
|
|
||||||
#: src/components/routes/system/cpu-sheet.tsx
|
#: src/components/routes/system/cpu-sheet.tsx
|
||||||
msgid "CPU Time Breakdown"
|
msgid "CPU Time Breakdown"
|
||||||
msgstr "Razčlenitev časa CPU"
|
msgstr "Razčlenitev časa CPU"
|
||||||
@@ -385,6 +455,10 @@ msgstr "Razčlenitev časa CPU"
|
|||||||
msgid "CPU Usage"
|
msgid "CPU Usage"
|
||||||
msgstr "CPU poraba"
|
msgstr "CPU poraba"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Create"
|
||||||
|
msgstr "Ustvari"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Create account"
|
msgid "Create account"
|
||||||
msgstr "Ustvari račun"
|
msgstr "Ustvari račun"
|
||||||
@@ -416,15 +490,18 @@ msgstr "Trenutno stanje"
|
|||||||
msgid "Cycles"
|
msgid "Cycles"
|
||||||
msgstr "Cikli"
|
msgstr "Cikli"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Dashboard"
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgstr "Nadzorna plošča"
|
msgid "Daily"
|
||||||
|
msgstr "Dnevno"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Default time period"
|
msgid "Default time period"
|
||||||
msgstr "Privzeto časovno obdobje"
|
msgstr "Privzeto časovno obdobje"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Izbriši"
|
msgstr "Izbriši"
|
||||||
@@ -433,6 +510,10 @@ msgstr "Izbriši"
|
|||||||
msgid "Delete fingerprint"
|
msgid "Delete fingerprint"
|
||||||
msgstr "Izbriši prstni odtis"
|
msgstr "Izbriši prstni odtis"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Description"
|
||||||
|
msgstr "Opis"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
msgid "Detail"
|
msgid "Detail"
|
||||||
msgstr "Podrobnost"
|
msgstr "Podrobnost"
|
||||||
@@ -456,7 +537,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Disk unit"
|
msgid "Disk unit"
|
||||||
msgstr ""
|
msgstr "Enota diska"
|
||||||
|
|
||||||
#: src/components/charts/disk-chart.tsx
|
#: src/components/charts/disk-chart.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -481,6 +562,7 @@ msgid "Docker Network I/O"
|
|||||||
msgstr "Docker I/O mreže"
|
msgstr "Docker I/O mreže"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Documentation"
|
msgid "Documentation"
|
||||||
msgstr "Dokumentacija"
|
msgstr "Dokumentacija"
|
||||||
|
|
||||||
@@ -504,11 +586,16 @@ msgstr "Prenesi"
|
|||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr "Trajanje"
|
msgstr "Trajanje"
|
||||||
|
|
||||||
#: src/components/add-system.tsx
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr "Uredi"
|
msgstr "Uredi"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Edit {foo}"
|
||||||
|
msgstr "Uredi {foo}"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
#: src/components/login/otp-forms.tsx
|
#: src/components/login/otp-forms.tsx
|
||||||
@@ -524,6 +611,11 @@ msgstr "E-poštna obvestila"
|
|||||||
msgid "Empty"
|
msgid "Empty"
|
||||||
msgstr "Prazna"
|
msgstr "Prazna"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "End Time"
|
||||||
|
msgstr "Čas konca"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Enter email address to reset password"
|
msgid "Enter email address to reset password"
|
||||||
msgstr "Vnesite e-poštni naslov za ponastavitev gesla"
|
msgstr "Vnesite e-poštni naslov za ponastavitev gesla"
|
||||||
@@ -540,7 +632,10 @@ msgstr "Vnesite svoje enkratno geslo."
|
|||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Error"
|
msgid "Error"
|
||||||
msgstr "Napaka"
|
msgstr "Napaka"
|
||||||
|
|
||||||
@@ -551,10 +646,18 @@ msgstr "Napaka"
|
|||||||
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
msgid "Exceeds {0}{1} in last {2, plural, one {# minute} other {# minutes}}"
|
||||||
msgstr "Preseženo {0}{1} v zadnjih {2, plural, one {# minuti} other {# minutah}}"
|
msgstr "Preseženo {0}{1} v zadnjih {2, plural, one {# minuti} other {# minutah}}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exec main PID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/components/routes/settings/config-yaml.tsx
|
#: src/components/routes/settings/config-yaml.tsx
|
||||||
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
msgid "Existing systems not defined in <0>config.yml</0> will be deleted. Please make regular backups."
|
||||||
msgstr "Obstoječi sistemi, ki niso definirani v <0>config.yml</0>, bodo izbrisani. Prosimo, naredite redne varnostne kopije."
|
msgstr "Obstoječi sistemi, ki niso definirani v <0>config.yml</0>, bodo izbrisani. Prosimo, naredite redne varnostne kopije."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Exited active"
|
||||||
|
msgstr "Izhod aktivno"
|
||||||
|
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
msgid "Export"
|
msgid "Export"
|
||||||
msgstr "Izvozi"
|
msgstr "Izvozi"
|
||||||
@@ -571,6 +674,10 @@ msgstr "Izvozi trenutne nastavitve sistema."
|
|||||||
msgid "Fahrenheit (°F)"
|
msgid "Fahrenheit (°F)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Failed"
|
||||||
|
msgstr "Neuspešno"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Failed Attributes:"
|
msgid "Failed Attributes:"
|
||||||
msgstr "Neuspeli atributi:"
|
msgstr "Neuspeli atributi:"
|
||||||
@@ -581,6 +688,7 @@ msgstr "Preverjanje pristnosti ni uspelo"
|
|||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
#: src/components/routes/settings/notifications.tsx
|
#: src/components/routes/settings/notifications.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
msgid "Failed to save settings"
|
msgid "Failed to save settings"
|
||||||
msgstr "Shranjevanje nastavitev ni uspelo"
|
msgstr "Shranjevanje nastavitev ni uspelo"
|
||||||
|
|
||||||
@@ -592,21 +700,27 @@ msgstr "Pošiljanje testnega obvestila ni uspelo"
|
|||||||
msgid "Failed to update alert"
|
msgid "Failed to update alert"
|
||||||
msgstr "Opozorila ni bilo mogoče posodobiti"
|
msgstr "Opozorila ni bilo mogoče posodobiti"
|
||||||
|
|
||||||
|
#. placeholder {0}: statusTotals[ServiceStatus.Failed]
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Failed: {0}"
|
||||||
|
msgstr "Neuspešno: {0}"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Filter..."
|
msgid "Filter..."
|
||||||
msgstr "Filtriraj..."
|
msgstr "Filtriraj..."
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Fingerprint"
|
msgid "Fingerprint"
|
||||||
msgstr ""
|
msgstr "Prstni odtis"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Firmware"
|
msgid "Firmware"
|
||||||
msgstr ""
|
msgstr "Vdelana programska oprema"
|
||||||
|
|
||||||
#: src/components/alerts/alerts-sheet.tsx
|
#: src/components/alerts/alerts-sheet.tsx
|
||||||
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
msgid "For <0>{min}</0> {min, plural, one {minute} other {minutes}}"
|
||||||
@@ -633,6 +747,10 @@ msgstr "Polna"
|
|||||||
msgid "General"
|
msgid "General"
|
||||||
msgstr "Splošno"
|
msgstr "Splošno"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Global"
|
||||||
|
msgstr "Globalno"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "GPU Engines"
|
msgid "GPU Engines"
|
||||||
msgstr "GPU motorji"
|
msgstr "GPU motorji"
|
||||||
@@ -641,6 +759,10 @@ msgstr "GPU motorji"
|
|||||||
msgid "GPU Power Draw"
|
msgid "GPU Power Draw"
|
||||||
msgstr "GPU poraba moči"
|
msgstr "GPU poraba moči"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "GPU Usage"
|
||||||
|
msgstr "Poraba GPU"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
msgid "Grid"
|
msgid "Grid"
|
||||||
msgstr "Mreža"
|
msgstr "Mreža"
|
||||||
@@ -673,6 +795,10 @@ msgctxt "Docker image"
|
|||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr "Slika"
|
msgstr "Slika"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Inactive"
|
||||||
|
msgstr "Neaktivno"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "Invalid email address."
|
msgid "Invalid email address."
|
||||||
msgstr "Napačen e-poštni naslov."
|
msgstr "Napačen e-poštni naslov."
|
||||||
@@ -690,6 +816,19 @@ msgstr "Jezik"
|
|||||||
msgid "Layout"
|
msgid "Layout"
|
||||||
msgstr "Postavitev"
|
msgstr "Postavitev"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/general.tsx
|
||||||
|
msgid "Layout width"
|
||||||
|
msgstr "Širina postavitve"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Lifecycle"
|
||||||
|
msgstr "Življenjski cikel"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "limit"
|
||||||
|
msgstr "omejitev"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Load Average"
|
msgid "Load Average"
|
||||||
msgstr "Povprečna obremenitev"
|
msgstr "Povprečna obremenitev"
|
||||||
@@ -711,6 +850,14 @@ msgstr "Povprečna obremenitev 5m"
|
|||||||
msgid "Load Avg"
|
msgid "Load Avg"
|
||||||
msgstr "Povpr. obrem."
|
msgstr "Povpr. obrem."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Load state"
|
||||||
|
msgstr "Stanje nalaganja"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Loading..."
|
||||||
|
msgstr "Nalaganje..."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Odjava"
|
msgstr "Odjava"
|
||||||
@@ -734,6 +881,10 @@ msgstr "Dnevniki"
|
|||||||
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
msgid "Looking instead for where to create alerts? Click the bell <0/> icons in the systems table."
|
||||||
msgstr "Namesto tega iščete, kje ustvariti opozorila? Kliknite ikone zvonca <0/> v sistemski tabeli."
|
msgstr "Namesto tega iščete, kje ustvariti opozorila? Kliknite ikone zvonca <0/> v sistemski tabeli."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Main PID"
|
||||||
|
msgstr "Glavni PID"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Manage display and notification preferences."
|
msgid "Manage display and notification preferences."
|
||||||
msgstr "Upravljajte nastavitve prikaza in obvestil."
|
msgstr "Upravljajte nastavitve prikaza in obvestil."
|
||||||
@@ -749,10 +900,21 @@ msgid "Max 1 min"
|
|||||||
msgstr "Največ 1 min"
|
msgstr "Največ 1 min"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Memory"
|
msgid "Memory"
|
||||||
msgstr "Pomnilnik"
|
msgstr "Pomnilnik"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory limit"
|
||||||
|
msgstr "Omejitev pomnilnika"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Memory Peak"
|
||||||
|
msgstr "Vrhunec pomnilnika"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Memory Usage"
|
msgid "Memory Usage"
|
||||||
@@ -769,6 +931,8 @@ msgstr ""
|
|||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Naziv"
|
msgstr "Naziv"
|
||||||
|
|
||||||
@@ -791,9 +955,16 @@ msgstr "Omrežni promet javnih vmesnikov"
|
|||||||
#. Context: Bytes or bits
|
#. Context: Bytes or bits
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Network unit"
|
msgid "Network unit"
|
||||||
msgstr ""
|
msgstr "Enota omrežja"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "No"
|
||||||
|
msgstr "Ne"
|
||||||
|
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results found."
|
msgid "No results found."
|
||||||
msgstr "Ni rezultatov."
|
msgstr "Ni rezultatov."
|
||||||
|
|
||||||
@@ -802,6 +973,7 @@ msgstr "Ni rezultatov."
|
|||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/routes/settings/alerts-history-data-table.tsx
|
#: src/components/routes/settings/alerts-history-data-table.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Ni rezultatov."
|
msgstr "Ni rezultatov."
|
||||||
|
|
||||||
@@ -828,12 +1000,19 @@ msgstr "Podpora za OAuth 2 / OIDC"
|
|||||||
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
msgid "On each restart, systems in the database will be updated to match the systems defined in the file."
|
||||||
msgstr "Ob vsakem ponovnem zagonu bodo sistemi v zbirki podatkov posodobljeni, da se bodo ujemali s sistemi, definiranimi v datoteki."
|
msgstr "Ob vsakem ponovnem zagonu bodo sistemi v zbirki podatkov posodobljeni, da se bodo ujemali s sistemi, definiranimi v datoteki."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "One-time"
|
||||||
|
msgstr "Enkratno"
|
||||||
|
|
||||||
#: src/components/login/auth-form.tsx
|
#: src/components/login/auth-form.tsx
|
||||||
msgid "One-time password"
|
msgid "One-time password"
|
||||||
msgstr "Enkratno geslo"
|
msgstr "Enkratno geslo"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Open menu"
|
msgid "Open menu"
|
||||||
msgstr "Odpri menu"
|
msgstr "Odpri menu"
|
||||||
@@ -850,6 +1029,7 @@ msgstr "Drugo"
|
|||||||
msgid "Overwrite existing alerts"
|
msgid "Overwrite existing alerts"
|
||||||
msgstr "Prepiši obstoječe alarme"
|
msgstr "Prepiši obstoječe alarme"
|
||||||
|
|
||||||
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
#: src/components/command-palette.tsx
|
#: src/components/command-palette.tsx
|
||||||
msgid "Page"
|
msgid "Page"
|
||||||
@@ -882,6 +1062,10 @@ msgstr "Geslo mora biti krajše od 72 bajtov."
|
|||||||
msgid "Password reset request received"
|
msgid "Password reset request received"
|
||||||
msgstr "Prejeta zahteva za ponastavitev gesla"
|
msgstr "Prejeta zahteva za ponastavitev gesla"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Past"
|
||||||
|
msgstr "Preteklo"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Pause"
|
msgid "Pause"
|
||||||
msgstr "Premor"
|
msgstr "Premor"
|
||||||
@@ -954,11 +1138,19 @@ msgstr "Natančna poraba v zabeleženem času"
|
|||||||
msgid "Preferred Language"
|
msgid "Preferred Language"
|
||||||
msgstr "Prednostni jezik"
|
msgstr "Prednostni jezik"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Process started"
|
||||||
|
msgstr "Proces začet"
|
||||||
|
|
||||||
#. Use 'Key' if your language requires many more characters
|
#. Use 'Key' if your language requires many more characters
|
||||||
#: src/components/add-system.tsx
|
#: src/components/add-system.tsx
|
||||||
msgid "Public Key"
|
msgid "Public Key"
|
||||||
msgstr "Javni ključ"
|
msgstr "Javni ključ"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Quiet Hours"
|
||||||
|
msgstr "Tihi čas"
|
||||||
|
|
||||||
#. Disk read
|
#. Disk read
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
@@ -971,9 +1163,14 @@ msgstr "Prejeto"
|
|||||||
|
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
#: src/components/containers-table/containers-table.tsx
|
#: src/components/containers-table/containers-table.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Refresh"
|
msgid "Refresh"
|
||||||
msgstr "Osveži"
|
msgstr "Osveži"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Relationships"
|
||||||
|
msgstr "Razmerja"
|
||||||
|
|
||||||
#: src/components/login/login.tsx
|
#: src/components/login/login.tsx
|
||||||
msgid "Request a one-time password"
|
msgid "Request a one-time password"
|
||||||
msgstr "Zahtevaj enkratno geslo"
|
msgstr "Zahtevaj enkratno geslo"
|
||||||
@@ -982,6 +1179,14 @@ msgstr "Zahtevaj enkratno geslo"
|
|||||||
msgid "Request OTP"
|
msgid "Request OTP"
|
||||||
msgstr "Zahtevaj OTP"
|
msgstr "Zahtevaj OTP"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Required by"
|
||||||
|
msgstr "Zahtevano od"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Requires"
|
||||||
|
msgstr "Zahteva"
|
||||||
|
|
||||||
#: src/components/login/forgot-pass-form.tsx
|
#: src/components/login/forgot-pass-form.tsx
|
||||||
msgid "Reset Password"
|
msgid "Reset Password"
|
||||||
msgstr "Ponastavi geslo"
|
msgstr "Ponastavi geslo"
|
||||||
@@ -992,10 +1197,19 @@ msgstr "Ponastavi geslo"
|
|||||||
msgid "Resolved"
|
msgid "Resolved"
|
||||||
msgstr "Rešeno"
|
msgstr "Rešeno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Restarts"
|
||||||
|
msgstr "Ponovni zagoni"
|
||||||
|
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
msgid "Resume"
|
msgid "Resume"
|
||||||
msgstr "Nadaljuj"
|
msgstr "Nadaljuj"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgctxt "Root disk label"
|
||||||
|
msgid "Root"
|
||||||
|
msgstr "Koren"
|
||||||
|
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
msgid "Rotate token"
|
msgid "Rotate token"
|
||||||
msgstr "Zavrti žeton"
|
msgstr "Zavrti žeton"
|
||||||
@@ -1004,6 +1218,10 @@ msgstr "Zavrti žeton"
|
|||||||
msgid "Rows per page"
|
msgid "Rows per page"
|
||||||
msgstr "Vrstic na stran"
|
msgstr "Vrstic na stran"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Runtime Metrics"
|
||||||
|
msgstr "Metrike izvajanja"
|
||||||
|
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "S.M.A.R.T. Details"
|
msgid "S.M.A.R.T. Details"
|
||||||
msgstr "S.M.A.R.T. podrobnosti"
|
msgstr "S.M.A.R.T. podrobnosti"
|
||||||
@@ -1025,6 +1243,18 @@ msgstr "Shrani nastavitve"
|
|||||||
msgid "Save system"
|
msgid "Save system"
|
||||||
msgstr "Shrani sistem"
|
msgstr "Shrani sistem"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule"
|
||||||
|
msgstr "Razpored"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent, such as during maintenance periods."
|
||||||
|
msgstr "Razporedite tihi čas, ko obvestila ne bodo poslana, na primer med vzdrževalnimi obdobji."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Schedule quiet hours where notifications will not be sent."
|
||||||
|
msgstr "Razporedite tihi čas, ko obvestila ne bodo poslana."
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Search"
|
msgid "Search"
|
||||||
msgstr "Iskanje"
|
msgstr "Iskanje"
|
||||||
@@ -1037,6 +1267,10 @@ msgstr "Iskanje sistemov ali nastavitev..."
|
|||||||
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
msgid "See <0>notification settings</0> to configure how you receive alerts."
|
||||||
msgstr "Glejte <0>nastavitve obvestil</0>, da nastavite način prejemanja opozoril."
|
msgstr "Glejte <0>nastavitve obvestil</0>, da nastavite način prejemanja opozoril."
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Select {foo}"
|
||||||
|
msgstr "Izberi {foo}"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Sent"
|
msgid "Sent"
|
||||||
msgstr "Poslano"
|
msgstr "Poslano"
|
||||||
@@ -1045,6 +1279,14 @@ msgstr "Poslano"
|
|||||||
msgid "Serial Number"
|
msgid "Serial Number"
|
||||||
msgstr "Serijska številka"
|
msgstr "Serijska številka"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Service Details"
|
||||||
|
msgstr "Podrobnosti storitve"
|
||||||
|
|
||||||
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
|
msgid "Services"
|
||||||
|
msgstr "Storitve"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Set percentage thresholds for meter colors."
|
msgid "Set percentage thresholds for meter colors."
|
||||||
msgstr "Nastavite odstotne pragove za barve merilnikov."
|
msgstr "Nastavite odstotne pragove za barve merilnikov."
|
||||||
@@ -1072,18 +1314,30 @@ msgstr "SMTP nastavitve"
|
|||||||
msgid "Sort By"
|
msgid "Sort By"
|
||||||
msgstr "Razvrsti po"
|
msgstr "Razvrsti po"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Start Time"
|
||||||
|
msgstr "Čas začetka"
|
||||||
|
|
||||||
#. Context: alert state (active or resolved)
|
#. Context: alert state (active or resolved)
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "State"
|
msgid "State"
|
||||||
msgstr "Stanje"
|
msgstr "Stanje"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
#: src/components/systems-table/systems-table.tsx
|
#: src/components/systems-table/systems-table.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
|
msgid "Sub State"
|
||||||
|
msgstr "Podstanje"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Swap space used by the system"
|
msgid "Swap space used by the system"
|
||||||
msgstr "Swap prostor, ki ga uporablja sistem"
|
msgstr "Swap prostor, ki ga uporablja sistem"
|
||||||
@@ -1092,9 +1346,15 @@ msgstr "Swap prostor, ki ga uporablja sistem"
|
|||||||
msgid "Swap Usage"
|
msgid "Swap Usage"
|
||||||
msgstr "Swap uporaba"
|
msgstr "Swap uporaba"
|
||||||
|
|
||||||
|
#: src/components/add-system.tsx
|
||||||
#: src/components/alerts-history-columns.tsx
|
#: src/components/alerts-history-columns.tsx
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/settings/tokens-fingerprints.tsx
|
#: src/components/routes/settings/tokens-fingerprints.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -1104,6 +1364,10 @@ msgstr "Sistemsko"
|
|||||||
msgid "System load averages over time"
|
msgid "System load averages over time"
|
||||||
msgstr "Sistemske povprečne obremenitve skozi čas"
|
msgstr "Sistemske povprečne obremenitve skozi čas"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Systemd Services"
|
||||||
|
msgstr "Systemd storitve"
|
||||||
|
|
||||||
#: src/components/navbar.tsx
|
#: src/components/navbar.tsx
|
||||||
msgid "Systems"
|
msgid "Systems"
|
||||||
msgstr "Sistemi"
|
msgstr "Sistemi"
|
||||||
@@ -1116,6 +1380,10 @@ msgstr "Sisteme lahko upravljate v datoteki <0>config.yml</0> v vašem podatkovn
|
|||||||
msgid "Table"
|
msgid "Table"
|
||||||
msgstr "Tabela"
|
msgstr "Tabela"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Tasks"
|
||||||
|
msgstr "Naloge"
|
||||||
|
|
||||||
#. Temperature label in systems table
|
#. Temperature label in systems table
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1129,7 +1397,7 @@ msgstr "Temperatura"
|
|||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Temperature unit"
|
msgid "Temperature unit"
|
||||||
msgstr ""
|
msgstr "Enota temperature"
|
||||||
|
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
msgid "Temperatures of system sensors"
|
msgid "Temperatures of system sensors"
|
||||||
@@ -1212,6 +1480,19 @@ msgstr "Skupni prejeti podatki za vsak vmesnik"
|
|||||||
msgid "Total data sent for each interface"
|
msgid "Total data sent for each interface"
|
||||||
msgstr "Skupni poslani podatki za vsak vmesnik"
|
msgstr "Skupni poslani podatki za vsak vmesnik"
|
||||||
|
|
||||||
|
#. placeholder {0}: data.length
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Total: {0}"
|
||||||
|
msgstr "Skupaj: {0}"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggered by"
|
||||||
|
msgstr "Sproženo z"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Triggers"
|
||||||
|
msgstr "Sprožilci"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when 1 minute load average exceeds a threshold"
|
msgid "Triggers when 1 minute load average exceeds a threshold"
|
||||||
msgstr "Sproži se, ko 1-minutna povprečna obremenitev preseže prag"
|
msgstr "Sproži se, ko 1-minutna povprečna obremenitev preseže prag"
|
||||||
@@ -1236,6 +1517,10 @@ msgstr "Sproži, ko kombinacija gor/dol preseže prag"
|
|||||||
msgid "Triggers when CPU usage exceeds a threshold"
|
msgid "Triggers when CPU usage exceeds a threshold"
|
||||||
msgstr "Sproži se, ko poraba procesorja preseže prag"
|
msgstr "Sproži se, ko poraba procesorja preseže prag"
|
||||||
|
|
||||||
|
#: src/lib/alerts.ts
|
||||||
|
msgid "Triggers when GPU usage exceeds a threshold"
|
||||||
|
msgstr "Sproži se, ko poraba GPU preseže prag"
|
||||||
|
|
||||||
#: src/lib/alerts.ts
|
#: src/lib/alerts.ts
|
||||||
msgid "Triggers when memory usage exceeds a threshold"
|
msgid "Triggers when memory usage exceeds a threshold"
|
||||||
msgstr "Sproži se, ko uporaba pomnilnika preseže prag"
|
msgstr "Sproži se, ko uporaba pomnilnika preseže prag"
|
||||||
@@ -1248,10 +1533,16 @@ msgstr "Sproži se, ko se stanje preklaplja med gor in dol"
|
|||||||
msgid "Triggers when usage of any disk exceeds a threshold"
|
msgid "Triggers when usage of any disk exceeds a threshold"
|
||||||
msgstr "Sproži se, ko uporaba katerega koli diska preseže prag"
|
msgstr "Sproži se, ko uporaba katerega koli diska preseže prag"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
#: src/components/routes/system/smart-table.tsx
|
#: src/components/routes/system/smart-table.tsx
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Vrsta"
|
msgstr "Vrsta"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unit file"
|
||||||
|
msgstr "Datoteka enote"
|
||||||
|
|
||||||
#. Temperature / network units
|
#. Temperature / network units
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Unit preferences"
|
msgid "Unit preferences"
|
||||||
@@ -1267,6 +1558,11 @@ msgstr "Univerzalni žeton"
|
|||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Neznana"
|
msgstr "Neznana"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Unlimited"
|
||||||
|
msgstr "Neomejeno"
|
||||||
|
|
||||||
#. Context: System is up
|
#. Context: System is up
|
||||||
#: src/components/routes/system.tsx
|
#: src/components/routes/system.tsx
|
||||||
#: src/components/systems-table/systems-table-columns.tsx
|
#: src/components/systems-table/systems-table-columns.tsx
|
||||||
@@ -1277,10 +1573,20 @@ msgstr "Delujoč"
|
|||||||
msgid "Up ({upSystemsLength})"
|
msgid "Up ({upSystemsLength})"
|
||||||
msgstr "Delujoči ({upSystemsLength})"
|
msgstr "Delujoči ({upSystemsLength})"
|
||||||
|
|
||||||
|
#: src/components/routes/settings/quiet-hours.tsx
|
||||||
|
msgid "Update"
|
||||||
|
msgstr "Posodobi"
|
||||||
|
|
||||||
#: src/components/containers-table/containers-table-columns.tsx
|
#: src/components/containers-table/containers-table-columns.tsx
|
||||||
|
#: src/components/routes/system/smart-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table-columns.tsx
|
||||||
msgid "Updated"
|
msgid "Updated"
|
||||||
msgstr "Posodobljeno"
|
msgstr "Posodobljeno"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Updated every 10 minutes."
|
||||||
|
msgstr "Posodobljeno vsakih 10 minut."
|
||||||
|
|
||||||
#: src/components/routes/system/network-sheet.tsx
|
#: src/components/routes/system/network-sheet.tsx
|
||||||
msgid "Upload"
|
msgid "Upload"
|
||||||
msgstr "Naloži"
|
msgstr "Naloži"
|
||||||
@@ -1340,6 +1646,10 @@ msgstr "Čakam na dovolj zapisov za prikaz"
|
|||||||
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
msgid "Want to help improve our translations? Check <0>Crowdin</0> for details."
|
||||||
msgstr "Ali nam želite pomagati, da bomo naše prevode še izboljšali? Za več podrobnosti si oglejte <0>Crowdin</0>."
|
msgstr "Ali nam želite pomagati, da bomo naše prevode še izboljšali? Za več podrobnosti si oglejte <0>Crowdin</0>."
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Wants"
|
||||||
|
msgstr "Zahteva"
|
||||||
|
|
||||||
#: src/components/routes/settings/general.tsx
|
#: src/components/routes/settings/general.tsx
|
||||||
msgid "Warning (%)"
|
msgid "Warning (%)"
|
||||||
msgstr "Opozorilo (%)"
|
msgstr "Opozorilo (%)"
|
||||||
@@ -1376,6 +1686,12 @@ msgstr "YAML nastaviitev"
|
|||||||
msgid "YAML Configuration"
|
msgid "YAML Configuration"
|
||||||
msgstr "YAML nastavitev"
|
msgstr "YAML nastavitev"
|
||||||
|
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
#: src/components/systemd-table/systemd-table.tsx
|
||||||
|
msgid "Yes"
|
||||||
|
msgstr "Da"
|
||||||
|
|
||||||
#: src/components/routes/settings/layout.tsx
|
#: src/components/routes/settings/layout.tsx
|
||||||
msgid "Your user settings have been updated."
|
msgid "Your user settings have been updated."
|
||||||
msgstr "Vaše uporabniške nastavitve so posodobljene."
|
msgstr "Vaše uporabniške nastavitve so posodobljene."
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user