feat(hub,site): enhance domain management and monitor UI
Build Docker images / Hub (push) Failing after 54s

Implement manual domain expiry overrides, improve subdomain discovery via CT logs, and enhance the monitoring dashboard with favicons and configurable display options.

hub:
- allow manual expiry and creation date overrides in domain API when WHOIS lookup fails
- implement JSON parsing for crt.sh certificate transparency log searches in subdomain discovery
- update monitor API routes to use curly brace syntax for path parameters

site:
- add manual registration date and period inputs to domain dialog
- implement monitor favicon support using Google's favicon service
- add configurable display options (uptime pills, heartbeat dots) to monitors table
- update localization files to include new UI elements
This commit is contained in:
Tomas Dvorak
2026-05-10 10:24:28 +02:00
parent b6f40af67f
commit 0dd7db8a82
39 changed files with 641 additions and 218 deletions
+28
View File
@@ -128,6 +128,9 @@ func (h *APIHandler) createDomain(e *core.RequestEvent) error {
NotifyOnSSL bool `json:"notify_on_ssl_expiry"`
NotifyOnDNS bool `json:"notify_on_dns_change"`
NotifyOnReg bool `json:"notify_on_registrar_change"`
// Manual expiry override when WHOIS fails
ExpiryDate string `json:"expiry_date,omitempty"`
CreationDate string `json:"creation_date,omitempty"`
}
if err := json.NewDecoder(e.Request.Body).Decode(&req); err != nil {
return e.BadRequestError("invalid request body", err)
@@ -179,6 +182,7 @@ func (h *APIHandler) createDomain(e *core.RequestEvent) error {
record.Set("user", authRecord.Id)
// Auto-lookup if requested
lookupHadExpiry := false
if req.AutoLookup {
lookupSvc := whois.NewLookupService("")
ctx := e.Request.Context()
@@ -188,6 +192,7 @@ func (h *APIHandler) createDomain(e *core.RequestEvent) error {
// Calculate status based on lookup results
status := domain.DomainStatusUnknown
if domainData.ExpiryDate != nil {
lookupHadExpiry = true
daysUntil := int(time.Until(*domainData.ExpiryDate).Hours() / 24)
if daysUntil < 0 {
status = domain.DomainStatusExpired
@@ -204,6 +209,29 @@ func (h *APIHandler) createDomain(e *core.RequestEvent) error {
}
}
// Apply manual expiry/creation dates if WHOIS didn't find them
if !lookupHadExpiry {
if req.ExpiryDate != "" {
if t, err := time.Parse("2006-01-02", req.ExpiryDate); err == nil {
record.Set("expiry_date", t)
// Recalculate status with manual expiry
daysUntil := int(time.Until(t).Hours() / 24)
status := domain.DomainStatusActive
if daysUntil < 0 {
status = domain.DomainStatusExpired
} else if daysUntil <= req.AlertDaysBefore {
status = domain.DomainStatusExpiring
}
record.Set("status", status)
}
}
if req.CreationDate != "" {
if t, err := time.Parse("2006-01-02", req.CreationDate); err == nil {
record.Set("creation_date", t)
}
}
}
if err := h.app.Save(record); err != nil {
return e.InternalServerError("failed to create domain", err)
}
+58 -5
View File
@@ -3,6 +3,7 @@ package domains
import (
"context"
"crypto/tls"
"encoding/json"
"fmt"
"log"
"net"
@@ -143,21 +144,73 @@ func (sd *SubdomainDiscovery) dnsBruteForce(ctx context.Context, domainName stri
wg.Wait()
}
// ctLogSearch searches certificate transparency logs
// ctLogSearch searches certificate transparency logs via crt.sh
func (sd *SubdomainDiscovery) ctLogSearch(ctx context.Context, domainName string, results chan<- DiscoveryResult) {
// Query crt.sh for certificates
url := fmt.Sprintf("https://crt.sh/?q=%%.%s&output=json", domainName)
resp, err := sd.client.Get(url)
req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
if err != nil {
log.Printf("[subdomain-discovery] CT log search failed for %s: %v", domainName, err)
return
}
resp, err := sd.client.Do(req)
if err != nil {
log.Printf("[subdomain-discovery] CT log search failed for %s: %v", domainName, err)
return
}
defer resp.Body.Close()
// Parse response (simplified - in production would parse JSON)
// For now, just log that we attempted this
log.Printf("[subdomain-discovery] CT log search attempted for %s (status: %d)", domainName, resp.StatusCode)
if resp.StatusCode != http.StatusOK {
log.Printf("[subdomain-discovery] CT log search returned status %d for %s", resp.StatusCode, domainName)
return
}
// Parse crt.sh JSON response
var entries []struct {
NameValue string `json:"name_value"`
}
if err := json.NewDecoder(resp.Body).Decode(&entries); err != nil {
log.Printf("[subdomain-discovery] Failed to parse CT log response for %s: %v", domainName, err)
return
}
seen := make(map[string]bool)
for _, entry := range entries {
// crt.sh returns one name_value per line, may contain wildcards or multiple names
names := strings.Split(entry.NameValue, "\n")
for _, name := range names {
name = strings.TrimSpace(name)
if name == "" || name == domainName {
continue
}
// Remove wildcard prefix
name = strings.TrimPrefix(name, "*.")
// Only include subdomains of the target domain
if !strings.HasSuffix(name, "."+domainName) {
continue
}
subdomain := strings.TrimSuffix(name, "."+domainName)
if subdomain == "" || seen[subdomain] {
continue
}
seen[subdomain] = true
// Try to resolve IPs
ips, _ := net.LookupHost(name)
results <- DiscoveryResult{
Subdomain: subdomain,
FullDomain: name,
IPAddresses: ips,
Source: "certificate",
FoundAt: time.Now(),
}
}
}
log.Printf("[subdomain-discovery] CT log search found %d unique subdomains for %s", len(seen), domainName)
}
// patternEnumeration enumerates common subdomain patterns
+8 -8
View File
@@ -40,16 +40,16 @@ func (h *APIHandler) RegisterRoutes(se *core.ServeEvent) {
// CRUD endpoints
api.GET("", h.listMonitors)
api.POST("", h.createMonitor)
api.GET("/:id", h.getMonitor)
api.PATCH("/:id", h.updateMonitor)
api.DELETE("/:id", h.deleteMonitor)
api.GET("/{id}", h.getMonitor)
api.PATCH("/{id}", h.updateMonitor)
api.DELETE("/{id}", h.deleteMonitor)
// Action endpoints
api.POST("/:id/check", h.manualCheck)
api.POST("/:id/pause", h.pauseMonitor)
api.POST("/:id/resume", h.resumeMonitor)
api.GET("/:id/stats", h.getStats)
api.GET("/:id/heartbeats", h.getHeartbeats)
api.POST("/{id}/check", h.manualCheck)
api.POST("/{id}/pause", h.pauseMonitor)
api.POST("/{id}/resume", h.resumeMonitor)
api.GET("/{id}/stats", h.getStats)
api.GET("/{id}/heartbeats", h.getHeartbeats)
}
// HeartbeatSummary represents a minimal heartbeat for the monitor list
@@ -36,7 +36,7 @@ import {
type UpdateDomainRequest,
type DomainLookupResult,
} from "@/lib/domains"
import { Loader2, Search } from "lucide-react"
import { Loader2, Search, AlertTriangle, Calendar } from "lucide-react"
const formSchema = z.object({
domain_name: z.string().min(1, "Domain name is required"),
@@ -79,6 +79,13 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
const [activeTab, setActiveTab] = useState("basic")
const [lookupData, setLookupData] = useState<DomainLookupResult | null>(null)
const [isLookingUp, setIsLookingUp] = useState(false)
// Manual expiry inputs when WHOIS fails
const [manualRegDate, setManualRegDate] = useState(() => {
const today = new Date()
return today.toISOString().split("T")[0]
})
const [manualRegPeriod, setManualRegPeriod] = useState<number>(1)
const [manualPurchasePrice, setManualPurchasePrice] = useState<number>(0)
const form = useForm<FormData>({
resolver: zodResolver(formSchema),
@@ -163,6 +170,10 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
quiet_hours_end: "08:00",
})
setLookupData(null)
const today = new Date().toISOString().split("T")[0]
setManualRegDate(today)
setManualRegPeriod(1)
setManualPurchasePrice(0)
}
}, [open, isEdit, domain, form])
@@ -207,6 +218,11 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
try {
const data = await lookupDomain(domainName)
setLookupData(data)
// Reset manual inputs on new lookup
const today = new Date().toISOString().split("T")[0]
setManualRegDate(today)
setManualRegPeriod(1)
setManualPurchasePrice(0)
toast({ title: "Domain info retrieved successfully" })
} catch (error) {
toast({
@@ -219,6 +235,17 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
}
}
// Calculate expiry date from registration date + period in years
const calculateExpiryDate = (regDateStr: string, years: number): string | null => {
const regDate = new Date(regDateStr)
if (isNaN(regDate.getTime())) return null
const expiry = new Date(regDate)
expiry.setFullYear(expiry.getFullYear() + years)
// Subtract 1 day (expiry is typically the day before the anniversary)
expiry.setDate(expiry.getDate() - 1)
return expiry.toISOString().split("T")[0]
}
const onSubmit = (data: FormData) => {
const payload: CreateDomainRequest = {
domain_name: cleanDomain(data.domain_name),
@@ -247,6 +274,19 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
quiet_hours_end: data.quiet_hours_enabled ? data.quiet_hours_end : undefined,
}
// If lookup returned no expiry, attach manual dates
if (!isEdit && lookupData && !lookupData.expiry_date) {
const calculatedExpiry = calculateExpiryDate(manualRegDate, manualRegPeriod)
if (calculatedExpiry) {
payload.expiry_date = calculatedExpiry
payload.creation_date = manualRegDate
}
// Use the manual purchase price if set (overrides form value when WHOIS fails)
if (manualPurchasePrice > 0) {
payload.purchase_price = manualPurchasePrice
}
}
if (isEdit && domain) {
updateMutation.mutate({
id: domain.id,
@@ -384,6 +424,8 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
/>
{lookupData && !isEdit && (
<div className="space-y-3">
{/* Lookup Results */}
<div className="rounded-lg border p-4 space-y-2">
<h4 className="font-medium">Lookup Results</h4>
{lookupData.registrar_name && (
@@ -399,6 +441,76 @@ export function DomainDialog({ open, onOpenChange, domain, isEdit = false }: Dom
<p className="text-sm">Location: {lookupData.host_country}</p>
)}
</div>
{/* Manual expiry fallback when WHOIS doesn't return expiry */}
{!lookupData.expiry_date && (
<div className="rounded-lg border border-yellow-500/30 bg-yellow-500/5 p-4 space-y-3">
<div className="flex items-center gap-2 text-yellow-700">
<AlertTriangle className="h-4 w-4" />
<h4 className="font-medium text-sm">Expiry date not found in WHOIS</h4>
</div>
<p className="text-xs text-muted-foreground">
Enter your registration details below and we&apos;ll calculate the expiry date.
</p>
<div className="grid grid-cols-2 gap-3">
<div className="space-y-1">
<label className="text-xs font-medium">Registration Date</label>
<div className="flex items-center gap-2">
<Calendar className="h-3.5 w-3.5 text-muted-foreground" />
<Input
type="date"
value={manualRegDate}
onChange={(e) => setManualRegDate(e.target.value)}
className="h-8 text-sm"
/>
</div>
</div>
<div className="space-y-1">
<label className="text-xs font-medium">Registration Period</label>
<select
value={manualRegPeriod}
onChange={(e) => setManualRegPeriod(Number(e.target.value))}
className="w-full h-8 px-2 rounded-md border border-input bg-background text-sm"
>
<option value={1}>1 year</option>
<option value={2}>2 years</option>
<option value={3}>3 years</option>
<option value={5}>5 years</option>
<option value={10}>10 years</option>
</select>
</div>
</div>
<div className="space-y-1">
<label className="text-xs font-medium">Purchase Price (total for selected period)</label>
<Input
type="number"
min={0}
step="0.01"
value={manualPurchasePrice || ""}
placeholder="e.g. 29.99"
onChange={(e) => setManualPurchasePrice(Number(e.target.value))}
className="h-8 text-sm"
/>
{manualPurchasePrice > 0 && manualRegPeriod > 1 && (
<p className="text-[10px] text-muted-foreground">
~{(manualPurchasePrice / manualRegPeriod).toFixed(2)} per year
</p>
)}
</div>
{manualRegDate && manualRegPeriod > 0 && (
<div className="rounded-md bg-muted p-2 text-xs">
<p className="font-medium">Calculated Expiry:</p>
<p className="text-muted-foreground">
{calculateExpiryDate(manualRegDate, manualRegPeriod)}
</p>
</div>
)}
</div>
)}
</div>
)}
</TabsContent>
@@ -58,6 +58,7 @@ import { useToast } from "@/components/ui/use-toast"
import {
deleteMonitor,
getMonitorTypeLabel,
getMonitorFaviconUrl,
listMonitors,
manualCheck,
pauseMonitor,
@@ -101,13 +102,35 @@ function StatusIndicator({ status }: { status: MonitorStatus }) {
)
}
// Favicon component
function MonitorFavicon({ monitor, className }: { monitor: Monitor; className?: string }) {
const [error, setError] = useState(false)
const faviconUrl = getMonitorFaviconUrl(monitor)
if (!faviconUrl || error) {
return <GlobeIcon className={cn("h-4 w-4 text-muted-foreground", className)} />
}
return (
<img
src={faviconUrl}
alt=""
className={cn("h-4 w-4 object-contain", className)}
onError={() => setError(true)}
loading="lazy"
/>
)
}
// Monitor Card component for grid view
function MonitorCard({
monitor,
onEdit,
displayOptions,
}: {
monitor: Monitor
onEdit: (m: Monitor) => void
displayOptions: DisplayOptions
}) {
const { toast } = useToast()
const queryClient = useQueryClient()
@@ -146,8 +169,11 @@ function MonitorCard({
<div className="flex items-start justify-between">
<Link href={`/monitor/${monitor.id}`} className="flex items-center gap-3 cursor-pointer min-w-0">
<div className="shrink-0">
<div className="flex items-center gap-2">
<MonitorFavicon monitor={monitor} className="h-5 w-5" />
<StatusIndicator status={monitor.status} />
</div>
</div>
<div className="min-w-0">
<div className="font-medium truncate hover:underline">{monitor.name}</div>
<div className="text-xs text-muted-foreground truncate">
@@ -187,15 +213,21 @@ function MonitorCard({
</div>
{/* Uptime - Prominent pill display */}
{displayOptions.showUptimePills && (
<div className="flex flex-col gap-2">
<div className="flex items-center gap-2 flex-wrap">
{displayOptions.showUptimePercentage && (
<UptimePill uptime={monitor.uptime_stats?.uptime_24h ?? 100} label="24h" />
{monitor.uptime_stats?.uptime_7d !== undefined && monitor.uptime_stats.uptime_7d !== monitor.uptime_stats?.uptime_24h && (
)}
{displayOptions.showUptimePercentage && monitor.uptime_stats?.uptime_7d !== undefined && monitor.uptime_stats.uptime_7d !== monitor.uptime_stats?.uptime_24h && (
<UptimePill uptime={monitor.uptime_stats.uptime_7d} label="7d" />
)}
</div>
{displayOptions.showHeartbeatDots && (
<UptimeDots heartbeats={monitor.recent_heartbeats} />
)}
</div>
)}
<div className="flex items-center justify-between text-sm">
<div className="text-xs text-muted-foreground">Response</div>
@@ -366,9 +398,11 @@ function UptimeDots({ heartbeats }: { heartbeats?: Array<{ status: string; time:
function MonitorRow({
monitor,
onEdit,
displayOptions,
}: {
monitor: Monitor
onEdit: (m: Monitor) => void
displayOptions: DisplayOptions
}) {
const { toast } = useToast()
const queryClient = useQueryClient()
@@ -412,7 +446,7 @@ function MonitorRow({
<TableRow>
<TableCell>
<Link href={`/monitor/${monitor.id}`} className="flex items-center gap-3 cursor-pointer">
<GlobeIcon className="h-4 w-4 text-muted-foreground" />
<MonitorFavicon monitor={monitor} className="h-5 w-5" />
<div>
<div className="font-medium hover:underline">{monitor.name}</div>
<div className="text-xs text-muted-foreground">
@@ -440,7 +474,11 @@ function MonitorRow({
)}
</TableCell>
<TableCell>
{displayOptions.showUptimePills ? (
<UptimeBar stats={monitor.uptime_stats} />
) : (
<span className="text-sm text-muted-foreground">-</span>
)}
</TableCell>
<TableCell>
<div className="flex flex-wrap gap-1">
@@ -534,6 +572,12 @@ type ViewMode = "table" | "grid"
type StatusFilter = "all" | MonitorStatus
type TypeFilter = "all" | MonitorType
interface DisplayOptions {
showUptimePills: boolean
showUptimePercentage: boolean
showHeartbeatDots: boolean
}
// Main component
export default memo(function MonitorsTable() {
const { t } = useLingui()
@@ -549,6 +593,11 @@ export default memo(function MonitorsTable() {
window.innerWidth < 1024 ? "grid" : "table"
)
const [displayOptions, setDisplayOptions] = useBrowserStorage<DisplayOptions>(
"monitorsDisplayOptions",
{ showUptimePills: true, showUptimePercentage: true, showHeartbeatDots: true }
)
const { data: monitors = [], isLoading } = useQuery({
queryKey: ["monitors"],
queryFn: listMonitors,
@@ -746,6 +795,42 @@ export default memo(function MonitorsTable() {
</DropdownMenuRadioGroup>
<DropdownMenuSeparator />
{/* Display Options */}
<DropdownMenuLabel className="flex items-center gap-2">
<Settings2Icon className="size-4" />
<Trans>Display</Trans>
</DropdownMenuLabel>
<div className="px-2 py-1 space-y-1">
<label className="flex items-center gap-2 text-sm cursor-pointer hover:bg-muted/50 rounded px-1 py-0.5">
<input
type="checkbox"
checked={displayOptions.showUptimePills}
onChange={(e) => setDisplayOptions({ ...displayOptions, showUptimePills: e.target.checked })}
className="rounded border-gray-300"
/>
<span>Show uptime pills</span>
</label>
<label className="flex items-center gap-2 text-sm cursor-pointer hover:bg-muted/50 rounded px-1 py-0.5">
<input
type="checkbox"
checked={displayOptions.showUptimePercentage}
onChange={(e) => setDisplayOptions({ ...displayOptions, showUptimePercentage: e.target.checked })}
className="rounded border-gray-300"
/>
<span>Show percentage</span>
</label>
<label className="flex items-center gap-2 text-sm cursor-pointer hover:bg-muted/50 rounded px-1 py-0.5">
<input
type="checkbox"
checked={displayOptions.showHeartbeatDots}
onChange={(e) => setDisplayOptions({ ...displayOptions, showHeartbeatDots: e.target.checked })}
className="rounded border-gray-300"
/>
<span>Show heartbeat dots</span>
</label>
</div>
<DropdownMenuSeparator />
{/* Status Filter */}
<DropdownMenuLabel className="flex items-center gap-2">
<FilterIcon className="size-4" />
@@ -834,6 +919,7 @@ export default memo(function MonitorsTable() {
key={monitor.id}
monitor={monitor}
onEdit={setEditingMonitor}
displayOptions={displayOptions}
/>
))}
</TableBody>
@@ -845,6 +931,7 @@ export default memo(function MonitorsTable() {
key={monitor.id}
monitor={monitor}
onEdit={setEditingMonitor}
displayOptions={displayOptions}
/>
))}
</div>
@@ -109,6 +109,7 @@ export default function DomainDetail({ id }: { id: string }) {
const queryClient = useQueryClient()
const [deleteDialogOpen, setDeleteDialogOpen] = useState(false)
const [isDeleting, setIsDeleting] = useState(false)
const [isEditDialogOpen, setIsEditDialogOpen] = useState(false)
const [expiryDialogOpen, setExpiryDialogOpen] = useState(false)
const [manualExpiryDate, setManualExpiryDate] = useState("")
const [manualPurchaseDate, setManualPurchaseDate] = useState("")
@@ -37,6 +37,7 @@ import {
} from "lucide-react"
import {
type Heartbeat,
type Monitor,
getMonitor,
getMonitorStats,
getMonitorHeartbeats,
@@ -45,6 +46,7 @@ import {
resumeMonitor,
deleteMonitor,
getMonitorTypeLabel,
getMonitorFaviconUrl,
formatUptime,
formatPing,
} from "@/lib/monitors"
@@ -457,6 +459,16 @@ export default memo(function MonitorDetail({ id }: { id: string }) {
const headerIconColor = isUp ? "text-green-500" : isPaused ? "text-gray-500" : isPending ? "text-yellow-500" : "text-red-500"
const headerBgColor = isUp ? "bg-green-500/10" : isPaused ? "bg-gray-500/10" : isPending ? "bg-yellow-500/10" : "bg-red-500/10"
// Favicon component
function MonitorFaviconImage({ monitor }: { monitor: Monitor }) {
const [error, setError] = useState(false)
const faviconUrl = getMonitorFaviconUrl(monitor)
if (!faviconUrl || error) {
return <Globe className={cn("h-6 w-6", headerIconColor)} />
}
return <img src={faviconUrl} alt="" className="h-6 w-6 object-contain" onError={() => setError(true)} />
}
return (
<div className="grid gap-4 mb-14">
{/* Header */}
@@ -470,7 +482,7 @@ export default memo(function MonitorDetail({ id }: { id: string }) {
headerBgColor
)}
>
<Globe className={cn("h-6 w-6", headerIconColor)} />
<MonitorFaviconImage monitor={monitor} />
</div>
<div>
<h1 className="text-2xl font-bold">{monitor.name}</h1>
+3
View File
@@ -154,6 +154,9 @@ export interface CreateDomainRequest {
quiet_hours_enabled?: boolean
quiet_hours_start?: string
quiet_hours_end?: string
// Manual expiry override when WHOIS fails
expiry_date?: string
creation_date?: string
}
export interface UpdateDomainRequest {
+7
View File
@@ -340,6 +340,13 @@ export function formatPing(ping: number): string {
return `${(ping / 1000).toFixed(2)}s`
}
// Favicon URL helper - uses Google's favicon service as fallback
export function getMonitorFaviconUrl(monitor: Monitor): string | null {
const hostname = extractHostnameFromMonitor(monitor)
if (!hostname) return null
return `https://www.google.com/s2/favicons?domain=${encodeURIComponent(hostname)}&sz=32`
}
// Domain extraction and grouping utilities
export function extractHostnameFromMonitor(monitor: Monitor): string | null {
if (monitor.hostname) {
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "عرض"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "الشبكة"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "عرض أحدث 200 تنبيه."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "الأعمدة الظاهرة"
#~ msgid "Visible Fields"
#~ msgstr "الأعمدة الظاهرة"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Показване"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Мрежа"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Прегледайте последните си 200 сигнала."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Видими полета"
#~ msgid "Visible Fields"
#~ msgstr "Видими полета"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Zobrazení"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Síť"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Zobrazit vašich 200 nejnovějších upozornění."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Viditelné sloupce"
#~ msgid "Visible Fields"
#~ msgstr "Viditelné sloupce"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Visning"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Se dine 200 nyeste alarmer."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Synlige felter"
#~ msgid "Visible Fields"
#~ msgstr "Synlige felter"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Anzeige"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Netzwerk"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Sieh dir die neusten 200 Alarme an."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Sichtbare Spalten"
#~ msgid "Visible Fields"
#~ msgstr "Sichtbare Spalten"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -507,8 +507,8 @@ msgid "Close"
msgstr "Close"
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr "Columns"
msgid "Columns"
msgstr "Columns"
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -788,6 +788,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Display"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr "Display"
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr "Display Columns"
@@ -1455,8 +1459,8 @@ msgid "Net"
msgstr "Net"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr "Network (Grouped)"
#~ msgid "Network (Grouped)"
#~ msgstr "Network (Grouped)"
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2456,8 +2460,8 @@ msgid "View your 200 most recent alerts."
msgstr "View your 200 most recent alerts."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Visible Fields"
#~ msgid "Visible Fields"
#~ msgstr "Visible Fields"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Pantalla"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Red"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Ver tus 200 alertas más recientes."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Columnas visibles"
#~ msgid "Visible Fields"
#~ msgstr "Columnas visibles"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "نمایش"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "شبکه"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "۲۰۰ هشدار اخیر خود را مشاهده کنید."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "فیلدهای قابل مشاهده"
#~ msgid "Visible Fields"
#~ msgstr "فیلدهای قابل مشاهده"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Affichage"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Rés"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Voir vos 200 dernières alertes."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Colonnes visibles"
#~ msgid "Visible Fields"
#~ msgstr "Colonnes visibles"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "תצוגה"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "רשת"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "צפה ב-200 ההתראות האחרונות שלך."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "שדות גלויים"
#~ msgid "Visible Fields"
#~ msgstr "שדות גלויים"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Prikaz"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Mreža"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Pogledajte posljednjih 200 upozorenja."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Vidljiva polja"
#~ msgid "Visible Fields"
#~ msgstr "Vidljiva polja"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Megjelenítés"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Hálózat"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Legfrissebb 200 riasztásod áttekintése."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Látható mezők"
#~ msgid "Visible Fields"
#~ msgstr "Látható mezők"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Tampilan"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Jaringan"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Lihat 200 peringatan terbaru anda."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Metrik yang Terlihat"
#~ msgid "Visible Fields"
#~ msgstr "Metrik yang Terlihat"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr ""
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Rete"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Visualizza i tuoi 200 avvisi più recenti."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Colonne visibili"
#~ msgid "Visible Fields"
#~ msgstr "Colonne visibili"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "表示"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "帯域"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "直近200件のアラートを表示します。"
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "表示列"
#~ msgid "Visible Fields"
#~ msgstr "表示列"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "표시"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "네트워크"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "최근 200개의 알림을 봅니다."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "표시할 열"
#~ msgid "Visible Fields"
#~ msgstr "표시할 열"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Weergave"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Netwerk"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Bekijk je 200 meest recente meldingen."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Zichtbare kolommen"
#~ msgid "Visible Fields"
#~ msgstr "Zichtbare kolommen"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Vis"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Nett"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Vis de 200 siste varslene."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Synlige Felter"
#~ msgid "Visible Fields"
#~ msgstr "Synlige Felter"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Widok"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Sieć"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Wyświetl 200 ostatnich alertów."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Widoczne kolumny"
#~ msgid "Visible Fields"
#~ msgstr "Widoczne kolumny"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Ecrã"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Rede"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Veja os seus 200 alertas mais recentes."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Campos Visíveis"
#~ msgid "Visible Fields"
#~ msgstr "Campos Visíveis"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Отображение"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Сеть"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Просмотреть 200 последних оповещений."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Видимые столбцы"
#~ msgid "Visible Fields"
#~ msgstr "Видимые столбцы"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Zaslon"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Mreža"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Oglejte si svojih 200 najnovejših opozoril."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Vidna polja"
#~ msgid "Visible Fields"
#~ msgstr "Vidna polja"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Приказ"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Мрежа"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Погледајте ваших 200 најновијих упозорења."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Видљива поља"
#~ msgid "Visible Fields"
#~ msgstr "Видљива поља"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Visa"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Nät"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Visa dina 200 senaste larm."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Synliga fält"
#~ msgid "Visible Fields"
#~ msgstr "Synliga fält"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Görünüm"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Ağ"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "En son 200 uyarınızı görüntüleyin."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Görünür Alanlar"
#~ msgid "Visible Fields"
#~ msgstr "Görünür Alanlar"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Відображення"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Мережа"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Переглянути 200 останніх сповіщень."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Видимі стовпці"
#~ msgid "Visible Fields"
#~ msgstr "Видимі стовпці"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "Hiển thị"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "Mạng"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "Xem 200 cảnh báo gần đây nhất của bạn."
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "Các cột hiển thị"
#~ msgid "Visible Fields"
#~ msgstr "Các cột hiển thị"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "显示"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "网络"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "查看您最近的200个警报。"
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "可见列"
#~ msgid "Visible Fields"
#~ msgstr "可见列"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "顯示"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "網絡"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "檢視最近 200 則警報。"
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "可見欄位"
#~ msgid "Visible Fields"
#~ msgstr "可見欄位"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx
+10 -6
View File
@@ -512,8 +512,8 @@ msgid "Close"
msgstr ""
#: src/components/systems-table/systems-table.tsx
#~ msgid "Columns"
#~ msgstr ""
msgid "Columns"
msgstr ""
#: src/components/login/forgot-pass-form.tsx
#: src/components/login/forgot-pass-form.tsx
@@ -793,6 +793,10 @@ msgctxt "Layout display options"
msgid "Display"
msgstr "顯示"
#: src/components/monitors-table/monitors-table.tsx
msgid "Display"
msgstr ""
#: src/components/domains-table/domains-table.tsx
msgid "Display Columns"
msgstr ""
@@ -1460,8 +1464,8 @@ msgid "Net"
msgstr "網路"
#: src/components/monitors-table/monitors-table.tsx
msgid "Network (Grouped)"
msgstr ""
#~ msgid "Network (Grouped)"
#~ msgstr ""
#: src/components/routes/system/charts/network-charts.tsx
msgid "Network traffic of docker containers"
@@ -2461,8 +2465,8 @@ msgid "View your 200 most recent alerts."
msgstr "檢視最近 200 則警報。"
#: src/components/systems-table/systems-table.tsx
msgid "Visible Fields"
msgstr "顯示欄位"
#~ msgid "Visible Fields"
#~ msgstr "顯示欄位"
#: src/components/routes/domain.tsx
#: src/components/routes/monitor.tsx