fix(notifications): polish the alert and destination cards (#5021)

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Amir Raminfar
2026-09-05 18:48:50 -07:00
committed by GitHub
co-authored by Claude Opus 5
parent 8e8f9db446
commit 49d7954190
23 changed files with 544 additions and 266 deletions
+31 -9
View File
@@ -12,9 +12,24 @@
</template>
</template>
<template #content>
<div class="w-72">
<ul class="space-y-4 p-2">
<li v-for="release in announcements" v-if="announcements.length > 0">
<div class="flex max-h-[70vh] w-80 flex-col">
<!-- The API stops walking releases at the running version, so everything below is an
update you don't have yet. Nothing said so before. -->
<div
v-if="announcements.length > 0"
class="border-base-content/15 flex items-baseline justify-between gap-2 border-b px-2 pb-2"
>
<span class="text-sm font-semibold">{{ $t("releases.newer", announcements.length) }}</span>
<span class="text-base-content/60 font-mono text-xs">{{ config.version }}</span>
</div>
<ul class="min-h-0 flex-1 space-y-4 overflow-y-auto p-2">
<li v-if="announcements.length === 0">
<div class="text-base-content/80 text-sm">
{{ $t("releases.no_releases") }}
</div>
</li>
<li v-for="release in announcements" :key="release.tag">
<template v-if="release.announcement">
<div class="flex items-baseline gap-1">
<carbon:information class="text-info self-center" />
@@ -44,7 +59,8 @@
{{ release.name }}
</a>
<span class="ml-1 text-xs"><RelativeTime :date="release.createdAt" /></span>
<Tag class="bg-red ml-auto px-1 py-1 text-xs" v-if="release.latest">
<!-- Red read as a warning on what is the good news in this list. -->
<Tag class="bg-primary! text-primary-content ml-auto px-1 py-1 text-xs" v-if="release.latest">
{{ $t("releases.latest") }}
</Tag>
</div>
@@ -53,12 +69,18 @@
</div>
</template>
</li>
<li v-else>
<div class="text-base-content/80 text-sm">
{{ $t("releases.no_releases") }}
</div>
</li>
</ul>
<div v-if="announcements.length > 0" class="border-base-content/15 border-t px-2 pt-2">
<a
href="https://github.com/amir20/dozzle/releases"
class="link-primary text-xs"
target="_blank"
rel="noreferrer noopener"
>
{{ $t("releases.all") }}
</a>
</div>
</div>
</template>
</Dropdown>
+87 -30
View File
@@ -4,7 +4,7 @@
:class="{ 'opacity-60': !alert.enabled, 'highlight-new': isHighlighted }"
@animationend="isHighlighted = false"
>
<div class="card-body gap-4 p-5">
<div class="card-body gap-3 p-4">
<!-- Header -->
<div class="flex items-start justify-between gap-2">
<div class="flex min-w-0 flex-wrap items-center gap-2">
@@ -56,29 +56,33 @@
/>
</div>
<!-- Expressions -->
<div class="text-base-content/80 grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 text-sm">
<!-- Only the rule itself lives here: which containers, and what fires it. A fixed label
column keeps the chips on the same line across every card, which an `auto` column
could not do since each card sized it to its own longest label. The value column is
`1fr` so long expressions wrap, but each chip is w-fit so a short one doesn't stretch
a full-width bar across the card. -->
<div class="text-base-content/60 grid grid-cols-[minmax(0,7rem)_1fr] items-center gap-x-3 gap-y-2 text-sm">
<span>{{ $t("notifications.alert.containers") }}</span>
<code class="bg-base-200 text-base-content rounded px-2 py-0.5 font-mono">{{ alert.containerExpression }}</code>
<code class="bg-base-200 text-base-content w-fit max-w-full rounded px-2 py-0.5 font-mono break-all">{{
alert.containerExpression
}}</code>
<template v-if="alert.metricExpression">
<span>{{ $t("notifications.alert.metric-filter") }}</span>
<code class="bg-base-200 text-base-content rounded px-2 py-0.5 font-mono">{{ alert.metricExpression }}</code>
<span>{{ $t("notifications.alert.sample-window") }}</span>
<span>{{ formatDuration(alert.sampleWindow || 15, locale || undefined) }}</span>
<span>{{ $t("notifications.alert.cooldown") }}</span>
<span>{{ formatDuration(alert.cooldown || 300, locale || undefined) }}</span>
<code class="bg-base-200 text-base-content w-fit max-w-full rounded px-2 py-0.5 font-mono break-all">{{
alert.metricExpression
}}</code>
</template>
<template v-else-if="alert.eventExpression">
<span>{{ $t("notifications.alert.event-filter") }}</span>
<code class="bg-base-200 text-base-content rounded px-2 py-0.5 font-mono">{{ alert.eventExpression }}</code>
<template v-if="alert.cooldown">
<span>{{ $t("notifications.alert.cooldown") }}</span>
<span>{{ formatDuration(alert.cooldown, locale || undefined) }}</span>
</template>
<code class="bg-base-200 text-base-content w-fit max-w-full rounded px-2 py-0.5 font-mono break-all">{{
alert.eventExpression
}}</code>
</template>
<template v-else>
<span>{{ $t("notifications.alert.log-filter") }}</span>
<code class="bg-base-200 text-base-content rounded px-2 py-0.5 font-mono">{{ alert.logExpression }}</code>
<code class="bg-base-200 text-base-content w-fit max-w-full rounded px-2 py-0.5 font-mono break-all">{{
alert.logExpression
}}</code>
</template>
</div>
@@ -86,24 +90,63 @@
<div
class="border-base-content/10 text-base-content/80 flex items-center justify-between gap-2 border-t pt-3 text-xs"
>
<!-- These are firing counts, not match counts. "0 containers" next to a filter that
clearly matches something read as "this alert matches nothing". -->
<div class="flex min-w-0 flex-wrap items-center gap-x-4 gap-y-1">
<span>
{{ $t("notifications.alert.containers-count", { count: alert.triggeredContainers }) }}
</span>
<span>
{{ $t("notifications.alert.triggered-count", { count: alert.triggerCount }) }}
</span>
<span v-if="alert.lastTriggeredAt">
{{ $t("notifications.alert.last-triggered", { time: formatTimeAgo(alert.lastTriggeredAt) }) }}
</span>
<template v-if="confirmingDelete">
<span class="text-base-content">{{ $t("notifications.alert.delete-warning") }}</span>
</template>
<template v-else>
<span v-if="!alert.triggerCount">{{ $t("notifications.alert.never-triggered") }}</span>
<template v-else>
<span>{{ $t("notifications.alert.triggered-count", alert.triggerCount) }}</span>
<span>{{ $t("notifications.alert.containers-count", alert.triggeredContainers) }}</span>
<span v-if="alert.lastTriggeredAt">
{{ $t("notifications.alert.last-triggered", { time: formatTimeAgo(alert.lastTriggeredAt) }) }}
</span>
</template>
<!-- Timing is how the rule is tuned, not what it matches, so it sits with the other
metadata instead of competing with the expressions above. -->
<span v-if="alert.metricExpression">
{{
$t("notifications.alert.window-meta", {
duration: formatDuration(alert.sampleWindow || 15, locale || undefined),
})
}}
</span>
<span v-if="cooldownSeconds">
{{
$t("notifications.alert.cooldown-meta", {
duration: formatDuration(cooldownSeconds, locale || undefined),
})
}}
</span>
</template>
</div>
<div class="flex shrink-0 items-center gap-1">
<button class="btn btn-ghost btn-square" @click="editAlert">
<!-- Deleting an alert is not undoable and there is no trash to restore it from. -->
<div v-if="confirmingDelete" class="flex shrink-0 items-center gap-2">
<button class="btn btn-xs" :disabled="isDeleting" @click="confirmingDelete = false">
{{ $t("notifications.alert.delete-cancel") }}
</button>
<button class="btn btn-xs btn-error" :disabled="isDeleting" @click="deleteAlert">
<span v-if="isDeleting" class="loading loading-spinner loading-xs"></span>
{{ $t("notifications.alert.delete-confirm") }}
</button>
</div>
<div v-else class="flex shrink-0 items-center gap-1">
<button
class="btn btn-ghost btn-square"
:aria-label="$t('notifications.destination.edit')"
@click="editAlert"
>
<mdi:pencil-outline />
</button>
<button class="btn btn-ghost btn-square" @click="deleteAlert" :disabled="isDeleting">
<span v-if="isDeleting" class="loading loading-spinner loading-xs"></span>
<mdi:trash-can-outline v-else />
<button
class="btn btn-ghost btn-square"
:aria-label="$t('notifications.alert.delete-confirm')"
@click="confirmingDelete = true"
>
<mdi:trash-can-outline />
</button>
</div>
</div>
@@ -121,6 +164,13 @@ const { alert, onUpdated, highlight } = defineProps<{
highlight?: boolean;
}>();
// Log alerts have no cooldown, metric alerts default to 5m, events only have one when set.
const cooldownSeconds = computed(() => {
if (alert.metricExpression) return alert.cooldown || 300;
if (alert.eventExpression) return alert.cooldown || 0;
return 0;
});
const isHighlighted = ref(highlight ?? false);
watch(
() => highlight,
@@ -129,8 +179,11 @@ watch(
},
);
const { t } = useI18n();
const { showToast } = useToast();
const showDrawer = useDrawer();
const isDeleting = ref(false);
const confirmingDelete = ref(false);
const dispatchers = ref<Dispatcher[]>([]);
onMounted(async () => {
@@ -169,8 +222,12 @@ function editAlert() {
async function deleteAlert() {
isDeleting.value = true;
try {
await fetch(withBase(`/api/notifications/rules/${alert.id}`), { method: "DELETE" });
const res = await fetch(withBase(`/api/notifications/rules/${alert.id}`), { method: "DELETE" });
if (!res.ok) throw new Error((await res.json().catch(() => ({}))).error ?? res.statusText);
confirmingDelete.value = false;
onUpdated?.();
} catch (e) {
showToast({ type: "error", message: e instanceof Error ? e.message : t("error.something-went-wrong") });
} finally {
isDeleting.value = false;
}
+5 -4
View File
@@ -65,10 +65,11 @@
<span v-if="containerResult.containers?.length" class="text-success">
<mdi:check class="inline" />
{{
$t("notifications.alert-form.containers-match", {
count: containerResult.containers.length,
names: matchedNames,
})
$t(
"notifications.alert-form.containers-match",
{ count: containerResult.containers.length, names: matchedNames },
containerResult.containers.length,
)
}}
</span>
<span v-else class="text-warning">
@@ -1,73 +1,93 @@
<template>
<div class="card bg-base-100 border border-transparent" :class="{ 'hover:border-primary': !confirmingDelete }">
<div class="card-body gap-2 p-4">
<div class="flex items-start gap-3">
<button
type="button"
class="flex flex-1 cursor-pointer items-start gap-3 text-left"
:aria-label="$t('notifications.destination.edit')"
@click="editDestination"
>
<div class="flex h-10 w-10 shrink-0 items-center justify-center rounded-lg">
<mdi:webhook v-if="destination.type === 'webhook'" class="text-lg" />
<mdi:cloud v-else class="text-primary text-lg" />
</div>
<div class="min-w-0 flex-1">
<h4 class="truncate font-semibold">{{ destination.name }}</h4>
<p class="text-base-content/60 text-sm">
{{
destination.type === "webhook"
? $t("notifications.destination.http-webhook")
: $t("notifications.destination.dozzle-cloud")
}}
</p>
<p class="text-base-content/50 mt-1 text-xs">
{{
usedByCount
? $t("notifications.destination.used-by", { count: usedByCount })
: $t("notifications.destination.unused")
}}
</p>
</div>
</button>
<div class="dropdown dropdown-end" @click.stop>
<div tabindex="0" role="button" class="btn btn-ghost btn-sm btn-square">
<ion:ellipsis-vertical />
</div>
<ul
tabindex="0"
class="menu dropdown-content rounded-box bg-base-100 border-base-content/20 z-50 w-40 border p-1 shadow-sm"
>
<li>
<a @click="editDestination">{{ $t("notifications.destination.edit") }}</a>
</li>
<li v-if="destination.type !== 'cloud'">
<a @click="duplicateDestination">{{ $t("notifications.destination.duplicate") }}</a>
</li>
<li v-if="destination.type !== 'cloud'">
<a class="text-error" @click="confirmingDelete = true">{{ $t("notifications.destination.delete") }}</a>
</li>
</ul>
<div
class="card bg-base-100 border"
:class="confirmingDelete ? 'border-error/50' : 'hover:border-primary border-transparent'"
>
<!-- Both states share one grid cell, so the card is always as tall as the taller of the two
and asking to confirm doesn't resize it. Confirming replaces the card rather than
stacking a banner under it: at 288px wide a filled alert wrapped onto three ragged
lines. -->
<div class="grid">
<!-- Sized to fit the resting card: title, one line of consequence, buttons pinned to the
bottom. Anything taller and the grid would raise every card's resting height. -->
<div class="card-body col-start-1 row-start-1 gap-0 p-4" :class="{ invisible: !confirmingDelete }">
<div class="flex items-center gap-2">
<mdi:alert-outline class="text-error shrink-0" />
<h4 class="text-sm font-semibold">{{ $t("notifications.destination.delete-warning") }}</h4>
</div>
<p class="text-base-content/60 mt-1 text-xs">
<!-- Deleting orphans every alert pointing here, so name the cost before doing it. -->
{{
usedByCount
? $t("notifications.destination.delete-warning-used", usedByCount)
: $t("notifications.destination.unused")
}}
</p>
<div class="mt-auto flex justify-end gap-2 pt-2">
<button class="btn btn-xs" :disabled="isDeleting" @click="confirmingDelete = false">
{{ $t("notifications.destination.delete-cancel") }}
</button>
<button class="btn btn-xs btn-error" :disabled="isDeleting" @click="deleteDestination">
<span v-if="isDeleting" class="loading loading-spinner loading-xs"></span>
{{ $t("notifications.destination.delete-confirm") }}
</button>
</div>
</div>
<!-- Deleting orphans every alert pointing here, so name the cost before doing it. -->
<div v-if="confirmingDelete" class="alert alert-warning flex-wrap py-2 text-sm">
<mdi:alert-outline />
<span class="flex-1">
{{
usedByCount
? $t("notifications.destination.delete-warning-used", { count: usedByCount })
: $t("notifications.destination.delete-warning")
}}
</span>
<button class="btn btn-xs" :disabled="isDeleting" @click="confirmingDelete = false">
{{ $t("notifications.destination.delete-cancel") }}
</button>
<button class="btn btn-xs btn-error" :disabled="isDeleting" @click="deleteDestination">
<span v-if="isDeleting" class="loading loading-spinner loading-xs"></span>
{{ $t("notifications.destination.delete-confirm") }}
</button>
<div class="card-body col-start-1 row-start-1 gap-2 p-4" :class="{ invisible: confirmingDelete }">
<div class="flex items-start gap-3">
<button
type="button"
class="flex flex-1 cursor-pointer items-start gap-3 text-left"
:aria-label="$t('notifications.destination.edit')"
@click="editDestination"
>
<div class="flex h-10 w-10 shrink-0 items-center justify-center rounded-lg">
<mdi:webhook v-if="destination.type === 'webhook'" class="text-lg" />
<mdi:cloud v-else class="text-primary text-lg" />
</div>
<div class="min-w-0 flex-1">
<h4 class="truncate font-semibold">{{ destination.name }}</h4>
<p class="text-base-content/60 truncate text-sm">
{{
destination.type === "webhook"
? $t("notifications.destination.http-webhook")
: $t("notifications.destination.dozzle-cloud")
}}
<!-- Two webhooks are otherwise indistinguishable once named vaguely. -->
<span v-if="webhookHost" class="text-base-content/45">· {{ webhookHost }}</span>
</p>
<p class="text-base-content/50 mt-1 text-xs">
{{
usedByCount
? $t("notifications.destination.used-by", usedByCount)
: $t("notifications.destination.unused")
}}
</p>
</div>
</button>
<div class="dropdown dropdown-end" @click.stop>
<div tabindex="0" role="button" class="btn btn-ghost btn-sm btn-square">
<ion:ellipsis-vertical />
</div>
<ul
tabindex="0"
class="menu dropdown-content rounded-box bg-base-100 border-base-content/20 z-50 w-40 border p-1 shadow-sm"
>
<li>
<a @click="runFromMenu(editDestination)">{{ $t("notifications.destination.edit") }}</a>
</li>
<li v-if="destination.type !== 'cloud'">
<a @click="runFromMenu(duplicateDestination)">{{ $t("notifications.destination.duplicate") }}</a>
</li>
<li v-if="destination.type !== 'cloud'">
<a class="text-error" @click="runFromMenu(() => (confirmingDelete = true))">
{{ $t("notifications.destination.delete") }}
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
@@ -92,6 +112,25 @@ const showDrawer = useDrawer();
const confirmingDelete = ref(false);
const isDeleting = ref(false);
/** Host of the webhook URL, so cards for two webhooks aren't identical. */
const webhookHost = computed(() => {
if (!destination.url) return "";
try {
return new URL(destination.url).host;
} catch {
return "";
}
});
/**
* A CSS-only daisyUI dropdown stays open until it loses focus, so picking an item left the menu
* sitting on top of whatever the item revealed.
*/
function runFromMenu(action: () => void) {
if (document.activeElement instanceof HTMLElement) document.activeElement.blur();
action();
}
function editDestination() {
showDrawer(
DestinationForm,
@@ -29,7 +29,7 @@
<mdi:alert v-else class="inline" />
{{
matchCount
? $t("notifications.alert-form.event-matches", { count: matchCount })
? $t("notifications.alert-form.event-matches", matchCount)
: $t("notifications.alert-form.event-matches-none")
}}
</span>
@@ -16,7 +16,7 @@
<span v-else-if="!logError && logExpression.trim() && hasContainers" class="text-sm">
<span v-if="logMessages.length" class="text-success">
<mdi:check class="inline" />
{{ $t("notifications.alert-form.logs-match", { count: logTotalCount, window: windowLabel }) }}
{{ $t("notifications.alert-form.logs-match", { count: logTotalCount, window: windowLabel }, logTotalCount) }}
</span>
<span v-else class="text-warning">
<mdi:alert class="inline" />
@@ -39,7 +39,7 @@
</div>
<p v-if="truncated" class="text-base-content/50 mt-1 text-xs">
{{ $t("notifications.alert-form.log-scan-note", { count: scannedContainers }) }}
{{ $t("notifications.alert-form.log-scan-note", scannedContainers) }}
</p>
</div>
</template>
@@ -38,7 +38,7 @@
<mdi:check v-else class="inline" />
{{
triggerCount
? $t("notifications.alert-form.metric-would-fire", { count: triggerCount })
? $t("notifications.alert-form.metric-would-fire", triggerCount)
: $t("notifications.alert-form.metric-would-not-fire")
}}
</span>
+20 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: Alle Containere
all-namespaces: Alle Navneområder
namespaces: Navneområder
owners: Ejere
host: Vært
hosts: Værter
password: Kodeord
@@ -248,9 +249,11 @@ releases:
bugFixes: en fejlrettelse | {count} rettelser
breaking: en ødelæggende ændring | {count} ødelæggende ændringer
three_parts: "{first}, {second} og {third}"
two_parts: "{first} med {second}"
two_parts: "{first} og {second}"
latest: Nyeste
no_releases: Du har den nyeste version
newer: "1 nyere version | {count} nyere versioner"
all: Alle versioner
log_actions:
copy_log: Kopier log
jump_to_context: Hop til kontekst
@@ -305,22 +308,28 @@ notifications:
sample-window: Prøvevindue
destination: Destination
dispatcher-deleted: Dispatcher slettet
containers-count: "{count} containere"
triggered-count: "{count} udløst"
containers-count: "i 1 container | i {count} containere"
triggered-count: "Udløst én gang | Udløst {count} gange"
never-triggered: Aldrig udløst
last-triggered: "Sidst: {time}"
delete-warning: Slet denne alarm?
delete-cancel: Behold
delete-confirm: Slet
window-meta: "{duration} vindue"
cooldown-meta: "{duration} pause"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Rediger
duplicate: Dupliker
delete: Slet
used-by: "Bruges af {count} alarmer"
used-by: "Bruges af 1 alarm | Bruges af {count} alarmer"
unused: Bruges ikke af nogen alarm
copy-of: "Kopi af {name}"
copy-failed: Kunne ikke duplikere denne destination
delete-failed: Kunne ikke slette denne destination
delete-warning: Slet denne destination?
delete-warning-used: "{count} alarmer sender hertil og holder op med at give besked."
delete-warning-used: "1 alarm sender hertil og holder op med at give besked. | {count} alarmer sender hertil og holder op med at give besked."
delete-cancel: Behold
delete-confirm: Slet
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: Vises på alarmkortet og i hver notifikation den sender.
container-filter: Containere
container-filter-hint: Hvilke containere denne alarm overvåger. Kun kørende containere matches.
containers-match: "Matcher {count} kørende containere: {names}"
containers-match: "Matcher 1 kørende container: {names} | Matcher {count} kørende containere: {names}"
no-containers-match: Ingen kørende containere matcher dette filter
checking: Kontrollerer…
examples: "Eksempler:"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: sek
log-filter: Log-betingelse
log-filter-hint: Hvilke loglinjer der udløser alarmen.
logs-match: "{count} matchende linjer i de sidste {window}"
logs-match: "1 matchende linje i de sidste {window} | {count} matchende linjer i de sidste {window}"
no-logs-match: Ingen matchende linjer i de sidste {window}
log-preview-hint: Skriv en betingelse for at se hvilke nylige loglinjer der ville have udløst denne alarm.
log-scan-note: Forhåndsvisningen gennemgik de første {count} matchende containere.
log-scan-note: "Forhåndsvisningen gennemgik den første matchende container. | Forhåndsvisningen gennemgik de første {count} matchende containere."
preview-needs-containers: Vælg containere først for at se en forhåndsvisning med rigtige data.
preview-fix-expression: Ret udtrykket for at se en forhåndsvisning.
destination: Destination
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: Over nu
metric-no-samples: Ingen data
metric-no-samples-hint: Der er endnu ikke indsamlet statistik for de matchende containere.
metric-would-fire: "Ville udløse for {count} containere lige nu"
metric-would-fire: "Ville udløse for 1 container lige nu | Ville udløse for {count} containere lige nu"
metric-would-not-fire: Ingen container er over grænsen lige nu
sample-window-label: Prøvevindue
sample-window-hint: "Udløses når betingelsen holder i {duration}"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: Ved at gemme erstattes denne alarms {type}-betingelse, som går tabt.
event-filter: Hændelses-betingelse
event-filter-hint: Hvilke containerhændelser der udløser alarmen.
event-matches: "Matcher {count} af disse hændelser"
event-matches: "Matcher 1 af disse hændelser | Matcher {count} af disse hændelser"
event-matches-none: Matcher ingen af disse hændelser
event-preview-hint: Skriv en betingelse for at se hvilke containerhændelser den ville fange.
event-preview-note: Eksempelhændelser, ikke historik. Docker-hændelser vurderes når de sker.
@@ -479,6 +488,7 @@ cloud:
link-instance: Tilknyt instans
relink-instance: Gentilknyt instans
connected: Tilsluttet
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Begivenheder i denne periode
dashboard: Dashboard
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: Alle Container
all-namespaces: Alle Namespaces
namespaces: Namespaces
owners: Besitzer
host: Host
hosts: Hosts
password: Passwort
@@ -251,6 +252,8 @@ releases:
two_parts: "{first} und {second}"
latest: Letzte
no_releases: Du hast die aktuellste Version
newer: "1 neuere Version | {count} neuere Versionen"
all: Alle Versionen
log_actions:
copy_log: Log kopieren
jump_to_context: Zum Kontext springen
@@ -305,22 +308,28 @@ notifications:
sample-window: Zeitfenster
destination: Ziel
dispatcher-deleted: Dispatcher gelöscht
containers-count: "{count} Container"
triggered-count: "{count} ausgelöst"
containers-count: "in 1 Container | in {count} Containern"
triggered-count: "Einmal ausgelöst | {count}-mal ausgelöst"
never-triggered: Nie ausgelöst
last-triggered: "Zuletzt: {time}"
delete-warning: Diesen Alarm löschen?
delete-cancel: Behalten
delete-confirm: Löschen
window-meta: "{duration} Zeitfenster"
cooldown-meta: "{duration} Abklingzeit"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Bearbeiten
duplicate: Duplizieren
delete: Löschen
used-by: "Von {count} Alarmen verwendet"
used-by: "Von 1 Alarm verwendet | Von {count} Alarmen verwendet"
unused: Von keinem Alarm verwendet
copy-of: "{name} Kopie"
copy-failed: Dieses Ziel konnte nicht dupliziert werden
delete-failed: Dieses Ziel konnte nicht gelöscht werden
delete-warning: Dieses Ziel löschen?
delete-warning-used: "{count} Alarme senden hierhin und benachrichtigen dann nicht mehr."
delete-warning-used: "1 Alarm sendet hierhin und benachrichtigt dann nicht mehr. | {count} Alarme senden hierhin und benachrichtigen dann nicht mehr."
delete-cancel: Behalten
delete-confirm: Löschen
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: Wird auf der Alarmkarte und in jeder gesendeten Benachrichtigung angezeigt.
container-filter: Container
container-filter-hint: Welche Container dieser Alarm überwacht. Nur laufende Container werden berücksichtigt.
containers-match: "Trifft auf {count} laufende Container zu: {names}"
containers-match: "Trifft auf 1 laufenden Container zu: {names} | Trifft auf {count} laufende Container zu: {names}"
no-containers-match: Keine laufenden Container entsprechen diesem Filter
checking: Wird geprüft…
examples: "Beispiele:"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: Sek.
log-filter: Log-Bedingung
log-filter-hint: Welche Log-Zeilen den Alarm auslösen.
logs-match: "{count} passende Zeilen in den letzten {window}"
logs-match: "1 passende Zeile in den letzten {window} | {count} passende Zeilen in den letzten {window}"
no-logs-match: Keine passenden Zeilen in den letzten {window}
log-preview-hint: Schreiben Sie eine Bedingung, um zu sehen, welche letzten Log-Zeilen diesen Alarm ausgelöst hätten.
log-scan-note: Die Vorschau hat die ersten {count} passenden Container durchsucht.
log-scan-note: "Die Vorschau hat den ersten passenden Container durchsucht. | Die Vorschau hat die ersten {count} passenden Container durchsucht."
preview-needs-containers: Wählen Sie zuerst Container aus, um eine Vorschau mit echten Daten zu sehen.
preview-fix-expression: Korrigieren Sie den Ausdruck, um eine Vorschau zu sehen.
destination: Ziel
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: Jetzt darüber
metric-no-samples: Keine Daten
metric-no-samples-hint: Für die passenden Container wurden noch keine Statistiken erfasst.
metric-would-fire: "Würde derzeit für {count} Container auslösen"
metric-would-fire: "Würde derzeit für 1 Container auslösen | Würde derzeit für {count} Container auslösen"
metric-would-not-fire: Derzeit liegt kein Container über dem Schwellenwert
sample-window-label: Zeitfenster
sample-window-hint: "Löst aus, sobald die Bedingung {duration} lang erfüllt ist"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: Beim Speichern wird die {type}-Bedingung dieses Alarms ersetzt und geht verloren.
event-filter: Ereignis-Bedingung
event-filter-hint: Welche Container-Ereignisse den Alarm auslösen.
event-matches: "Trifft auf {count} dieser Ereignisse zu"
event-matches: "Trifft auf 1 dieser Ereignisse zu | Trifft auf {count} dieser Ereignisse zu"
event-matches-none: Trifft auf keines dieser Ereignisse zu
event-preview-hint: Schreiben Sie eine Bedingung, um zu sehen, welche Container-Ereignisse sie erfassen würde.
event-preview-note: Beispielereignisse, kein Verlauf. Docker-Ereignisse werden abgeglichen, sobald sie auftreten.
@@ -479,6 +488,7 @@ cloud:
link-instance: Instanz verknüpfen
relink-instance: Instanz erneut verknüpfen
connected: Verbunden
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Ereignisse in diesem Zeitraum
dashboard: Dashboard
+19 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: All Containers
all-namespaces: All
namespaces: Namespaces
owners: Owners
host: Host
hosts: Hosts
password: Password
@@ -302,9 +303,11 @@ releases:
bugFixes: one bug fix | {count} fixes
breaking: one breaking change | {count} breaking changes
three_parts: "{first}, {second} and {third}"
two_parts: "{first} with {second}"
two_parts: "{first} and {second}"
latest: Latest
no_releases: You have the latest version
newer: "1 newer release | {count} newer releases"
all: All releases
log_actions:
copy_log: Copy log
jump_to_context: Jump to context
@@ -359,22 +362,28 @@ notifications:
sample-window: Sample window
destination: Destination
dispatcher-deleted: Dispatcher deleted
containers-count: "{count} containers"
triggered-count: "{count} triggered"
containers-count: "in 1 container | in {count} containers"
triggered-count: "Triggered once | Triggered {count} times"
never-triggered: Never triggered
last-triggered: "Last: {time}"
delete-warning: Delete this alert?
delete-cancel: Keep
delete-confirm: Delete
window-meta: "{duration} window"
cooldown-meta: "{duration} cooldown"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Edit
duplicate: Duplicate
delete: Delete
used-by: "Used by {count} alerts"
used-by: "Used by 1 alert | Used by {count} alerts"
unused: Not used by any alert
copy-of: "{name} copy"
copy-failed: Could not duplicate this destination
delete-failed: Could not delete this destination
delete-warning: Delete this destination?
delete-warning-used: "{count} alerts send here and will stop notifying."
delete-warning-used: "1 alert sends here and will stop notifying. | {count} alerts send here and will stop notifying."
delete-cancel: Keep
delete-confirm: Delete
alert-form:
@@ -395,7 +404,7 @@ notifications:
alert-name-hint: Shown on the alert card and in every notification it sends.
container-filter: Containers
container-filter-hint: Which containers this alert watches. Only running containers are matched.
containers-match: "Matches {count} running containers: {names}"
containers-match: "Matches 1 running container: {names} | Matches {count} running containers: {names}"
no-containers-match: No running containers match this filter
checking: Checking…
examples: "Examples:"
@@ -403,10 +412,10 @@ notifications:
seconds-unit: sec
log-filter: Log Condition
log-filter-hint: Which log lines trigger the alert.
logs-match: "{count} matching lines in the last {window}"
logs-match: "1 matching line in the last {window} | {count} matching lines in the last {window}"
no-logs-match: No matching lines in the last {window}
log-preview-hint: Write a condition to see which recent log lines would have triggered this alert.
log-scan-note: Preview scanned the first {count} matching containers.
log-scan-note: "Preview scanned the first matching container. | Preview scanned the first {count} matching containers."
preview-needs-containers: Pick containers first to preview against real data.
preview-fix-expression: Fix the expression to see a preview.
destination: Destination
@@ -430,7 +439,7 @@ notifications:
metric-matching-now: Over now
metric-no-samples: No stats
metric-no-samples-hint: No stats collected yet for the matching containers.
metric-would-fire: "Would fire for {count} containers right now"
metric-would-fire: "Would fire for 1 container right now | Would fire for {count} containers right now"
metric-would-not-fire: No container is over the threshold right now
sample-window-label: Sample Window
sample-window-hint: "Fires once the condition holds for {duration}"
@@ -447,7 +456,7 @@ notifications:
type-switch-warning: Saving replaces this alert's {type} condition, which will be lost.
event-filter: Event Condition
event-filter-hint: Which container events trigger the alert.
event-matches: "Matches {count} of these events"
event-matches: "Matches 1 of these events | Matches {count} of these events"
event-matches-none: Matches none of these events
event-preview-hint: Write a condition to see which container events it would catch.
event-preview-note: Sample events, not history. Docker events are matched as they happen.
+20 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: Todos los contenedores
all-namespaces: Todos los espacios de nombres
namespaces: Espacios de nombres
owners: Propietarios
host: Host
hosts: Hosts
password: Contraseña
@@ -292,9 +293,11 @@ releases:
bugFixes: una corrección de error | {count} correcciones
breaking: un cambio importante | {count} cambios importantes
three_parts: "{first}, {second} y {third}"
two_parts: "{first} con {second}"
two_parts: "{first} y {second}"
latest: Último
no_releases: No hay lanzamientos
newer: "1 versión más reciente | {count} versiones más recientes"
all: Todas las versiones
log_actions:
copy_log: Copiar registro
jump_to_context: Ir al contexto
@@ -349,22 +352,28 @@ notifications:
sample-window: Ventana de muestreo
destination: Destino
dispatcher-deleted: Dispatcher eliminado
containers-count: "{count} contenedores"
triggered-count: "{count} activados"
containers-count: "en 1 contenedor | en {count} contenedores"
triggered-count: "Disparada una vez | Disparada {count} veces"
never-triggered: Nunca disparada
last-triggered: "Último: {time}"
delete-warning: ¿Eliminar esta alerta?
delete-cancel: Conservar
delete-confirm: Eliminar
window-meta: "ventana de {duration}"
cooldown-meta: "espera de {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Editar
duplicate: Duplicar
delete: Eliminar
used-by: "Usado por {count} alertas"
used-by: "Usado por 1 alerta | Usado por {count} alertas"
unused: No lo usa ninguna alerta
copy-of: "Copia de {name}"
copy-failed: No se pudo duplicar este destino
delete-failed: No se pudo eliminar este destino
delete-warning: ¿Eliminar este destino?
delete-warning-used: "{count} alertas envían aquí y dejarán de notificar."
delete-warning-used: "1 alerta envía aquí y dejará de notificar. | {count} alertas envían aquí y dejarán de notificar."
delete-cancel: Conservar
delete-confirm: Eliminar
alert-form:
@@ -385,7 +394,7 @@ notifications:
alert-name-hint: Se muestra en la tarjeta de la alerta y en cada notificación que envía.
container-filter: Contenedores
container-filter-hint: Qué contenedores vigila esta alerta. Solo se consideran los contenedores en ejecución.
containers-match: "Coincide con {count} contenedores en ejecución: {names}"
containers-match: "Coincide con 1 contenedor en ejecución: {names} | Coincide con {count} contenedores en ejecución: {names}"
no-containers-match: Ningún contenedor en ejecución coincide con este filtro
checking: Comprobando…
examples: "Ejemplos:"
@@ -393,10 +402,10 @@ notifications:
seconds-unit: seg
log-filter: Condición de log
log-filter-hint: Qué líneas de log disparan la alerta.
logs-match: "{count} líneas coincidentes en las últimas {window}"
logs-match: "1 línea coincidente en las últimas {window} | {count} líneas coincidentes en las últimas {window}"
no-logs-match: Ninguna línea coincidente en las últimas {window}
log-preview-hint: Escribe una condición para ver qué líneas de log recientes habrían disparado esta alerta.
log-scan-note: La vista previa revisó los primeros {count} contenedores coincidentes.
log-scan-note: "La vista previa revisó el primer contenedor coincidente. | La vista previa revisó los primeros {count} contenedores coincidentes."
preview-needs-containers: Elige contenedores primero para ver una vista previa con datos reales.
preview-fix-expression: Corrige la expresión para ver una vista previa.
destination: Destino
@@ -420,7 +429,7 @@ notifications:
metric-matching-now: Por encima
metric-no-samples: Sin datos
metric-no-samples-hint: Todavía no se han recogido estadísticas de los contenedores coincidentes.
metric-would-fire: "Se dispararía para {count} contenedores ahora mismo"
metric-would-fire: "Se dispararía para 1 contenedor ahora mismo | Se dispararía para {count} contenedores ahora mismo"
metric-would-not-fire: Ningún contenedor supera el umbral ahora mismo
sample-window-label: Ventana de muestreo
sample-window-hint: "Se dispara cuando la condición se mantiene durante {duration}"
@@ -437,7 +446,7 @@ notifications:
type-switch-warning: Al guardar se reemplazará la condición {type} de esta alerta y se perderá.
event-filter: Condición de evento
event-filter-hint: Qué eventos de contenedor disparan la alerta.
event-matches: "Coincide con {count} de estos eventos"
event-matches: "Coincide con 1 de estos eventos | Coincide con {count} de estos eventos"
event-matches-none: No coincide con ninguno de estos eventos
event-preview-hint: Escribe una condición para ver qué eventos de contenedor detectaría.
event-preview-note: Eventos de ejemplo, no un histórico. Los eventos de Docker se evalúan en el momento.
@@ -523,6 +532,7 @@ cloud:
link-instance: Vincular instancia
relink-instance: Revincular instancia
connected: Conectado
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Eventos en este período
dashboard: Panel
+20 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: Tous les conteneurs
all-namespaces: Tous les espaces de noms
namespaces: Espaces de noms
owners: Propriétaires
host: Hôte
hosts: Hôtes
password: Mot de passe
@@ -248,9 +249,11 @@ releases:
bugFixes: correction d'un bug | {count} bugs
breaking: un changement radical | {count} changements radicaux
three_parts: "{first}, {second} et {third}"
two_parts: "{first} avec {second}"
two_parts: "{first} et {second}"
latest: Plus récent
no_releases: Vous avez la dernière version
newer: "1 version plus récente | {count} versions plus récentes"
all: Toutes les versions
log_actions:
copy_log: Copier le journal
jump_to_context: Aller au contexte
@@ -305,22 +308,28 @@ notifications:
sample-window: Fenêtre d'échantillonnage
destination: Destination
dispatcher-deleted: Dispatcher supprimé
containers-count: "{count} conteneurs"
triggered-count: "{count} déclenchés"
containers-count: "dans 1 conteneur | dans {count} conteneurs"
triggered-count: "Déclenchée une fois | Déclenchée {count} fois"
never-triggered: Jamais déclenchée
last-triggered: "Dernier: {time}"
delete-warning: Supprimer cette alerte ?
delete-cancel: Conserver
delete-confirm: Supprimer
window-meta: "fenêtre de {duration}"
cooldown-meta: "délai de {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Modifier
duplicate: Dupliquer
delete: Supprimer
used-by: "Utilisée par {count} alertes"
used-by: "Utilisée par 1 alerte | Utilisée par {count} alertes"
unused: Utilisée par aucune alerte
copy-of: "Copie de {name}"
copy-failed: Impossible de dupliquer cette destination
delete-failed: Impossible de supprimer cette destination
delete-warning: Supprimer cette destination ?
delete-warning-used: "{count} alertes envoient ici et cesseront de notifier."
delete-warning-used: "1 alerte envoie ici et cessera de notifier. | {count} alertes envoient ici et cesseront de notifier."
delete-cancel: Conserver
delete-confirm: Supprimer
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: Affiché sur la carte de l'alerte et dans chaque notification envoyée.
container-filter: Conteneurs
container-filter-hint: Quels conteneurs cette alerte surveille. Seuls les conteneurs en cours d'exécution sont pris en compte.
containers-match: "Correspond à {count} conteneurs en cours d'exécution : {names}"
containers-match: "Correspond à 1 conteneur en cours d'exécution : {names} | Correspond à {count} conteneurs en cours d'exécution : {names}"
no-containers-match: Aucun conteneur en cours d'exécution ne correspond à ce filtre
checking: Vérification…
examples: "Exemples :"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: s
log-filter: Condition de log
log-filter-hint: Quelles lignes de log déclenchent l'alerte.
logs-match: "{count} lignes correspondantes sur les {window} dernières"
logs-match: "1 ligne correspondante sur les {window} dernières | {count} lignes correspondantes sur les {window} dernières"
no-logs-match: Aucune ligne correspondante sur les {window} dernières
log-preview-hint: Écrivez une condition pour voir quelles lignes de log récentes auraient déclenché cette alerte.
log-scan-note: L'aperçu a parcouru les {count} premiers conteneurs correspondants.
log-scan-note: "L'aperçu a parcouru le premier conteneur correspondant. | L'aperçu a parcouru les {count} premiers conteneurs correspondants."
preview-needs-containers: Choisissez d'abord des conteneurs pour un aperçu sur des données réelles.
preview-fix-expression: Corrigez l'expression pour voir un aperçu.
destination: Destination
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: Au-dessus
metric-no-samples: Aucune stat
metric-no-samples-hint: Aucune statistique collectée pour l'instant sur les conteneurs correspondants.
metric-would-fire: "Se déclencherait pour {count} conteneurs en ce moment"
metric-would-fire: "Se déclencherait pour 1 conteneur en ce moment | Se déclencherait pour {count} conteneurs en ce moment"
metric-would-not-fire: Aucun conteneur ne dépasse le seuil en ce moment
sample-window-label: Fenêtre d'échantillonnage
sample-window-hint: "Se déclenche dès que la condition tient pendant {duration}"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: L'enregistrement remplacera la condition {type} de cette alerte, qui sera perdue.
event-filter: Condition d'événement
event-filter-hint: Quels événements de conteneur déclenchent l'alerte.
event-matches: "Correspond à {count} de ces événements"
event-matches: "Correspond à 1 de ces événements | Correspond à {count} de ces événements"
event-matches-none: Ne correspond à aucun de ces événements
event-preview-hint: Écrivez une condition pour voir quels événements de conteneur elle capterait.
event-preview-note: Événements d'exemple, pas un historique. Les événements Docker sont évalués en temps réel.
@@ -479,6 +488,7 @@ cloud:
link-instance: Lier l'instance
relink-instance: Relier l'instance
connected: Connecté
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Événements pour cette période
dashboard: Tableau de bord
+20 -10
View File
@@ -58,6 +58,7 @@ label:
all-containers: Semua Kontainer
all-namespaces: Semua Namespace
namespaces: Namespace
owners: Pemilik
host: Host
hosts: Host
password: Kata sandi
@@ -257,10 +258,12 @@ releases:
bugFixes: satu perbaikan bug | {count} perbaikan
breaking: satu perubahan besar | {count} perubahan besar
three_parts: "{first}, {second}, dan {third}"
two_parts: "{first} dengan {second}"
two_parts: "{first} dan {second}"
latest: Terbaru
no_releases: Anda sudah menggunakan versi terbaru
newer: "1 rilis lebih baru | {count} rilis lebih baru"
all: Semua rilis
log_actions:
copy_log: Salin log
jump_to_context: Lompat ke konteks
@@ -317,22 +320,28 @@ notifications:
sample-window: Jendela sampel
destination: Tujuan
dispatcher-deleted: Dispatcher dihapus
containers-count: "{count} kontainer"
triggered-count: "{count} terpicu"
containers-count: "di 1 kontainer | di {count} kontainer"
triggered-count: "Terpicu sekali | Terpicu {count} kali"
never-triggered: Belum pernah terpicu
last-triggered: "Terakhir: {time}"
delete-warning: Hapus peringatan ini?
delete-cancel: Simpan
delete-confirm: Hapus
window-meta: "jendela {duration}"
cooldown-meta: "jeda {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Edit
duplicate: Duplikat
delete: Hapus
used-by: "Dipakai oleh {count} peringatan"
used-by: "Dipakai oleh 1 peringatan | Dipakai oleh {count} peringatan"
unused: Tidak dipakai peringatan mana pun
copy-of: "Salinan {name}"
copy-failed: Tidak dapat menduplikasi tujuan ini
delete-failed: Tidak dapat menghapus tujuan ini
delete-warning: Hapus tujuan ini?
delete-warning-used: "{count} peringatan mengirim ke sini dan akan berhenti memberi tahu."
delete-warning-used: "1 peringatan mengirim ke sini dan akan berhenti memberi tahu. | {count} peringatan mengirim ke sini dan akan berhenti memberi tahu."
delete-cancel: Simpan
delete-confirm: Hapus
alert-form:
@@ -353,7 +362,7 @@ notifications:
alert-name-hint: Ditampilkan pada kartu peringatan dan di setiap notifikasi yang dikirim.
container-filter: Kontainer
container-filter-hint: Kontainer mana yang diawasi peringatan ini. Hanya kontainer yang berjalan yang dicocokkan.
containers-match: "Cocok dengan {count} kontainer yang berjalan: {names}"
containers-match: "Cocok dengan 1 kontainer yang berjalan: {names} | Cocok dengan {count} kontainer yang berjalan: {names}"
no-containers-match: Tidak ada kontainer berjalan yang cocok dengan filter ini
checking: Memeriksa…
examples: "Contoh:"
@@ -361,10 +370,10 @@ notifications:
seconds-unit: dtk
log-filter: Kondisi log
log-filter-hint: Baris log mana yang memicu peringatan.
logs-match: "{count} baris cocok dalam {window} terakhir"
logs-match: "1 baris cocok dalam {window} terakhir | {count} baris cocok dalam {window} terakhir"
no-logs-match: Tidak ada baris yang cocok dalam {window} terakhir
log-preview-hint: Tulis kondisi untuk melihat baris log terbaru mana yang akan memicu peringatan ini.
log-scan-note: Pratinjau memindai {count} kontainer cocok pertama.
log-scan-note: "Pratinjau memindai kontainer cocok pertama. | Pratinjau memindai {count} kontainer cocok pertama."
preview-needs-containers: Pilih kontainer dulu untuk melihat pratinjau dengan data nyata.
preview-fix-expression: Perbaiki ekspresi untuk melihat pratinjau.
destination: Tujuan
@@ -388,7 +397,7 @@ notifications:
metric-matching-now: Di atas kini
metric-no-samples: Tanpa data
metric-no-samples-hint: Belum ada statistik yang dikumpulkan untuk kontainer yang cocok.
metric-would-fire: "Saat ini akan terpicu untuk {count} kontainer"
metric-would-fire: "Saat ini akan terpicu untuk 1 kontainer | Saat ini akan terpicu untuk {count} kontainer"
metric-would-not-fire: Tidak ada kontainer yang melewati ambang batas saat ini
sample-window-label: Jendela Sampel
sample-window-hint: "Terpicu setelah kondisi bertahan selama {duration}"
@@ -405,7 +414,7 @@ notifications:
type-switch-warning: Menyimpan akan mengganti kondisi {type} peringatan ini, dan kondisi itu hilang.
event-filter: Kondisi peristiwa
event-filter-hint: Peristiwa kontainer mana yang memicu peringatan.
event-matches: "Cocok dengan {count} dari peristiwa ini"
event-matches: "Cocok dengan 1 dari peristiwa ini | Cocok dengan {count} dari peristiwa ini"
event-matches-none: Tidak cocok dengan satu pun peristiwa ini
event-preview-hint: Tulis kondisi untuk melihat peristiwa kontainer mana yang akan tertangkap.
event-preview-note: Contoh peristiwa, bukan riwayat. Peristiwa Docker dicocokkan saat terjadi.
@@ -491,6 +500,7 @@ cloud:
link-instance: Tautkan instans
relink-instance: Tautkan ulang instans
connected: Terhubung
pro-badge: Dozzle Cloud Pro
plan: Paket
usage: Event periode ini
dashboard: Dasbor
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: Tutti i Container
all-namespaces: Tutti i Namespace
namespaces: Namespace
owners: Proprietari
host: Host
hosts: Hosts
password: Password
@@ -251,6 +252,8 @@ releases:
two_parts: "{first} e {second}"
latest: Ultimo
no_releases: Stai utilizzando l'ultima versione
newer: "1 versione più recente | {count} versioni più recenti"
all: Tutte le versioni
log_actions:
copy_log: Copia log
jump_to_context: Vai a
@@ -305,22 +308,28 @@ notifications:
sample-window: Finestra di campionamento
destination: Destinazione
dispatcher-deleted: Dispatcher eliminato
containers-count: "{count} container"
triggered-count: "{count} attivati"
containers-count: "in 1 container | in {count} container"
triggered-count: "Scattato una volta | Scattato {count} volte"
never-triggered: Mai scattato
last-triggered: "Ultimo: {time}"
delete-warning: Eliminare questo avviso?
delete-cancel: Mantieni
delete-confirm: Elimina
window-meta: "finestra di {duration}"
cooldown-meta: "attesa di {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Modifica
duplicate: Duplica
delete: Elimina
used-by: "Usata da {count} avvisi"
used-by: "Usata da 1 avviso | Usata da {count} avvisi"
unused: Non usata da nessun avviso
copy-of: "Copia di {name}"
copy-failed: Impossibile duplicare questa destinazione
delete-failed: Impossibile eliminare questa destinazione
delete-warning: Eliminare questa destinazione?
delete-warning-used: "{count} avvisi inviano qui e smetteranno di notificare."
delete-warning-used: "1 avviso invia qui e smetterà di notificare. | {count} avvisi inviano qui e smetteranno di notificare."
delete-cancel: Mantieni
delete-confirm: Elimina
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: Mostrato sulla scheda dell'avviso e in ogni notifica che invia.
container-filter: Container
container-filter-hint: Quali container osserva questo avviso. Vengono considerati solo i container in esecuzione.
containers-match: "Corrisponde a {count} container in esecuzione: {names}"
containers-match: "Corrisponde a 1 container in esecuzione: {names} | Corrisponde a {count} container in esecuzione: {names}"
no-containers-match: Nessun container in esecuzione corrisponde a questo filtro
checking: Verifica in corso…
examples: "Esempi:"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: sec
log-filter: Condizione sui log
log-filter-hint: Quali righe di log attivano l'avviso.
logs-match: "{count} righe corrispondenti nelle ultime {window}"
logs-match: "1 riga corrispondente nelle ultime {window} | {count} righe corrispondenti nelle ultime {window}"
no-logs-match: Nessuna riga corrispondente nelle ultime {window}
log-preview-hint: Scrivi una condizione per vedere quali righe di log recenti avrebbero attivato questo avviso.
log-scan-note: L'anteprima ha esaminato i primi {count} container corrispondenti.
log-scan-note: "L'anteprima ha esaminato il primo container corrispondente. | L'anteprima ha esaminato i primi {count} container corrispondenti."
preview-needs-containers: Scegli prima i container per vedere un'anteprima con dati reali.
preview-fix-expression: Correggi l'espressione per vedere un'anteprima.
destination: Destinazione
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: Sopra ora
metric-no-samples: Nessun dato
metric-no-samples-hint: Non sono ancora state raccolte statistiche per i container corrispondenti.
metric-would-fire: "Scatterebbe per {count} container in questo momento"
metric-would-fire: "Scatterebbe per 1 container in questo momento | Scatterebbe per {count} container in questo momento"
metric-would-not-fire: Nessun container supera la soglia in questo momento
sample-window-label: Finestra di campionamento
sample-window-hint: "Scatta quando la condizione si mantiene per {duration}"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: Salvando sostituirai la condizione {type} di questo avviso, che andrà persa.
event-filter: Condizione sugli eventi
event-filter-hint: Quali eventi dei container attivano l'avviso.
event-matches: "Corrisponde a {count} di questi eventi"
event-matches: "Corrisponde a 1 di questi eventi | Corrisponde a {count} di questi eventi"
event-matches-none: Non corrisponde a nessuno di questi eventi
event-preview-hint: Scrivi una condizione per vedere quali eventi dei container intercetterebbe.
event-preview-note: Eventi di esempio, non uno storico. Gli eventi Docker vengono valutati quando accadono.
@@ -479,6 +488,7 @@ cloud:
link-instance: Collega istanza
relink-instance: Ricollega istanza
connected: Connesso
pro-badge: Dozzle Cloud Pro
plan: Piano
usage: Eventi in questo periodo
dashboard: Dashboard
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: 전체 컨테이너
all-namespaces: 전체
namespaces: 네임스페이스
owners: 소유자
host: 호스트
hosts: 호스트
password: 비밀번호
@@ -255,6 +256,8 @@ releases:
two_parts: "{first} 및 {second}"
latest: 최신
no_releases: 최신 버전을 사용하고 있습니다
newer: "새 릴리스 1개 | 새 릴리스 {count}개"
all: 모든 릴리스
log_actions:
copy_log: 로그 복사
jump_to_context: 해당 위치로 이동
@@ -309,22 +312,28 @@ notifications:
sample-window: 샘플 창
destination: 목적지
dispatcher-deleted: 디스패처 삭제됨
containers-count: "컨테이너 {count}개"
triggered-count: "{count}회 트리거됨"
containers-count: "컨테이너 1개에서 | 컨테이너 {count}개에서"
triggered-count: "1회 발생 | {count}회 발생"
never-triggered: 발생한 적 없음
last-triggered: "마지막: {time}"
delete-warning: 이 알림을 삭제할까요?
delete-cancel: 유지
delete-confirm: 삭제
window-meta: "{duration} 구간"
cooldown-meta: "{duration} 대기"
destination:
http-webhook: HTTP 웹훅
dozzle-cloud: Dozzle Cloud
edit: 편집
duplicate: 복제
delete: 삭제
used-by: "알림 {count}개가 사용 중"
used-by: "알림 1개가 사용 중 | 알림 {count}개가 사용 중"
unused: 사용하는 알림 없음
copy-of: "{name} 복사본"
copy-failed: 이 대상을 복제하지 못했습니다
delete-failed: 이 대상을 삭제하지 못했습니다
delete-warning: 이 대상을 삭제할까요?
delete-warning-used: "알림 {count}개가 여기로 보내고 있으며 알림이 중단됩니다."
delete-warning-used: "알림 1개가 여기로 보내고 있으며 알림이 중단됩니다. | 알림 {count}개가 여기로 보내고 있으며 알림이 중단됩니다."
delete-cancel: 유지
delete-confirm: 삭제
alert-form:
@@ -345,7 +354,7 @@ notifications:
alert-name-hint: 알림 카드와 전송되는 모든 알림에 표시됩니다.
container-filter: 컨테이너
container-filter-hint: 이 알림이 감시할 컨테이너입니다. 실행 중인 컨테이너만 일치합니다.
containers-match: "실행 중인 컨테이너 {count}개와 일치: {names}"
containers-match: "실행 중인 컨테이너 1개와 일치: {names} | 실행 중인 컨테이너 {count}개와 일치: {names}"
no-containers-match: 이 필터와 일치하는 실행 중인 컨테이너가 없습니다
checking: 확인 중…
examples: "예시:"
@@ -353,10 +362,10 @@ notifications:
seconds-unit: 초
log-filter: 로그 조건
log-filter-hint: 어떤 로그 줄이 알림을 발생시킬지 정합니다.
logs-match: "최근 {window} 동안 일치하는 줄 {count}개"
logs-match: "최근 {window} 동안 일치하는 줄 1개 | 최근 {window} 동안 일치하는 줄 {count}개"
no-logs-match: 최근 {window} 동안 일치하는 줄이 없습니다
log-preview-hint: 조건을 작성하면 최근 로그 중 어떤 줄이 이 알림을 발생시켰을지 볼 수 있습니다.
log-scan-note: 미리보기는 일치하는 컨테이너 중 처음 {count}개를 검사했습니다.
log-scan-note: "미리보기는 일치하는 첫 컨테이너를 검사했습니다. | 미리보기는 일치하는 컨테이너 중 처음 {count}개를 검사했습니다."
preview-needs-containers: 실제 데이터로 미리 보려면 먼저 컨테이너를 선택하세요.
preview-fix-expression: 미리보기를 보려면 표현식을 수정하세요.
destination: 목적지
@@ -380,7 +389,7 @@ notifications:
metric-matching-now: 현재 초과
metric-no-samples: 통계 없음
metric-no-samples-hint: 일치하는 컨테이너에 대해 아직 수집된 통계가 없습니다.
metric-would-fire: "지금 컨테이너 {count}개에서 발생합니다"
metric-would-fire: "지금 컨테이너 1개에서 발생합니다 | 지금 컨테이너 {count}개에서 발생합니다"
metric-would-not-fire: 지금 임계값을 넘은 컨테이너가 없습니다
sample-window-label: 샘플 창
sample-window-hint: "조건이 {duration} 동안 유지되면 발생합니다"
@@ -397,7 +406,7 @@ notifications:
type-switch-warning: 저장하면 이 알림의 {type} 조건이 대체되어 사라집니다.
event-filter: 이벤트 조건
event-filter-hint: 어떤 컨테이너 이벤트가 알림을 발생시킬지 정합니다.
event-matches: "이 이벤트 중 {count}개와 일치"
event-matches: "이 이벤트 중 1개와 일치 | 이 이벤트 중 {count}개와 일치"
event-matches-none: 이 이벤트 중 어느 것과도 일치하지 않습니다
event-preview-hint: 조건을 작성하면 어떤 컨테이너 이벤트를 잡아낼지 볼 수 있습니다.
event-preview-note: 이력이 아니라 예시 이벤트입니다. Docker 이벤트는 발생하는 즉시 평가됩니다.
@@ -483,6 +492,7 @@ cloud:
link-instance: 인스턴스 연결
relink-instance: 인스턴스 재연결
connected: 연결됨
pro-badge: Dozzle Cloud Pro
plan: 플랜
usage: 이번 기간 이벤트
dashboard: 대시보드
+20 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: Alle containers
all-namespaces: Alle Namespaces
namespaces: Namespaces
owners: Eigenaren
host: Host
hosts: Hosts
password: Wachtwoord
@@ -249,9 +250,11 @@ releases:
bugFixes: één bugfix | {count} bugfixes
breaking: één breaking change | {count} breaking changes
three_parts: "{first}, {second} en {third}"
two_parts: "{first} met {second}"
two_parts: "{first} en {second}"
latest: Meest recent
no_releases: Je gebruikt de nieuwste versie
newer: "1 nieuwere versie | {count} nieuwere versies"
all: Alle versies
log_actions:
copy_log: Log kopiëren
jump_to_context: Ga naar context
@@ -306,22 +309,28 @@ notifications:
sample-window: Steekproefvenster
destination: Bestemming
dispatcher-deleted: Dispatcher verwijderd
containers-count: "{count} containers"
triggered-count: "{count} geactiveerd"
containers-count: "in 1 container | in {count} containers"
triggered-count: "Eén keer afgegaan | {count} keer afgegaan"
never-triggered: Nooit afgegaan
last-triggered: "Laatst: {time}"
delete-warning: Deze melding verwijderen?
delete-cancel: Behouden
delete-confirm: Verwijderen
window-meta: "venster van {duration}"
cooldown-meta: "{duration} afkoeltijd"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Bewerken
duplicate: Dupliceren
delete: Verwijderen
used-by: "Gebruikt door {count} meldingen"
used-by: "Gebruikt door 1 melding | Gebruikt door {count} meldingen"
unused: Door geen enkele melding gebruikt
copy-of: "Kopie van {name}"
copy-failed: Deze bestemming kon niet worden gedupliceerd
delete-failed: Deze bestemming kon niet worden verwijderd
delete-warning: Deze bestemming verwijderen?
delete-warning-used: "{count} meldingen sturen hierheen en stoppen met notificeren."
delete-warning-used: "1 melding stuurt hierheen en stopt met notificeren. | {count} meldingen sturen hierheen en stoppen met notificeren."
delete-cancel: Behouden
delete-confirm: Verwijderen
alert-form:
@@ -342,7 +351,7 @@ notifications:
alert-name-hint: Wordt getoond op de meldingskaart en in elke notificatie die hij verstuurt.
container-filter: Containers
container-filter-hint: Welke containers deze melding bewaakt. Alleen draaiende containers tellen mee.
containers-match: "Komt overeen met {count} draaiende containers: {names}"
containers-match: "Komt overeen met 1 draaiende container: {names} | Komt overeen met {count} draaiende containers: {names}"
no-containers-match: Geen draaiende containers komen overeen met dit filter
checking: Bezig met controleren…
examples: "Voorbeelden:"
@@ -350,10 +359,10 @@ notifications:
seconds-unit: sec
log-filter: Logvoorwaarde
log-filter-hint: Welke logregels de melding activeren.
logs-match: "{count} overeenkomende regels in de laatste {window}"
logs-match: "1 overeenkomende regel in de laatste {window} | {count} overeenkomende regels in de laatste {window}"
no-logs-match: Geen overeenkomende regels in de laatste {window}
log-preview-hint: Schrijf een voorwaarde om te zien welke recente logregels deze melding hadden geactiveerd.
log-scan-note: Het voorbeeld doorzocht de eerste {count} overeenkomende containers.
log-scan-note: "Het voorbeeld doorzocht de eerste overeenkomende container. | Het voorbeeld doorzocht de eerste {count} overeenkomende containers."
preview-needs-containers: Kies eerst containers om een voorbeeld met echte data te zien.
preview-fix-expression: Corrigeer de expressie om een voorbeeld te zien.
destination: Bestemming
@@ -377,7 +386,7 @@ notifications:
metric-matching-now: Nu erboven
metric-no-samples: Geen data
metric-no-samples-hint: Nog geen statistieken verzameld voor de overeenkomende containers.
metric-would-fire: "Zou nu afgaan voor {count} containers"
metric-would-fire: "Zou nu afgaan voor 1 container | Zou nu afgaan voor {count} containers"
metric-would-not-fire: Geen enkele container zit nu boven de drempel
sample-window-label: Steekproefvenster
sample-window-hint: "Gaat af zodra de voorwaarde {duration} standhoudt"
@@ -394,7 +403,7 @@ notifications:
type-switch-warning: Opslaan vervangt de {type}-voorwaarde van deze melding, die verloren gaat.
event-filter: Gebeurtenisvoorwaarde
event-filter-hint: Welke containergebeurtenissen de melding activeren.
event-matches: "Komt overeen met {count} van deze gebeurtenissen"
event-matches: "Komt overeen met 1 van deze gebeurtenissen | Komt overeen met {count} van deze gebeurtenissen"
event-matches-none: Komt met geen van deze gebeurtenissen overeen
event-preview-hint: Schrijf een voorwaarde om te zien welke containergebeurtenissen hij zou opvangen.
event-preview-note: Voorbeeldgebeurtenissen, geen geschiedenis. Docker-gebeurtenissen worden live beoordeeld.
@@ -480,6 +489,7 @@ cloud:
link-instance: Instantie koppelen
relink-instance: Instantie opnieuw koppelen
connected: Verbonden
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Gebeurtenissen deze periode
dashboard: Dashboard
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: Wszystkie kontenery
all-namespaces: Wszystkie przestrzenie nazw
namespaces: Przestrzenie nazw
owners: Właściciele
host: Host
hosts: Hosty
password: Hasło
@@ -254,6 +255,8 @@ releases:
two_parts: "{first} oraz {second}"
latest: Najnowsza
no_releases: Masz najnowszą wersję
newer: "1 nowsze wydanie | {count} nowszych wydań"
all: Wszystkie wydania
log_actions:
copy_log: Skopiuj logi
jump_to_context: Przeskocz do kontekstu
@@ -308,22 +311,28 @@ notifications:
sample-window: Okno próbkowania
destination: Miejsce docelowe
dispatcher-deleted: Dispatcher usunięty
containers-count: "{count} kontenerów"
triggered-count: "{count} wyzwolonych"
containers-count: "w 1 kontenerze | w {count} kontenerach"
triggered-count: "Zadziałał raz | Zadziałał {count} razy"
never-triggered: Nigdy nie zadziałał
last-triggered: "Ostatnio: {time}"
delete-warning: Usunąć ten alert?
delete-cancel: Zachowaj
delete-confirm: Usuń
window-meta: "okno {duration}"
cooldown-meta: "przerwa {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Edytuj
duplicate: Duplikuj
delete: Usuń
used-by: "Używany przez {count} alertów"
used-by: "Używany przez 1 alert | Używany przez {count} alertów"
unused: Nieużywany przez żaden alert
copy-of: "Kopia {name}"
copy-failed: Nie udało się zduplikować tego celu
delete-failed: Nie udało się usunąć tego celu
delete-warning: Usunąć ten cel?
delete-warning-used: "{count} alertów wysyła tutaj i przestanie powiadamiać."
delete-warning-used: "1 alert wysyła tutaj i przestanie powiadamiać. | {count} alertów wysyła tutaj i przestanie powiadamiać."
delete-cancel: Zachowaj
delete-confirm: Usuń
alert-form:
@@ -344,7 +353,7 @@ notifications:
alert-name-hint: Widoczna na karcie alertu i w każdym wysyłanym powiadomieniu.
container-filter: Kontenery
container-filter-hint: Które kontenery obserwuje ten alert. Dopasowywane są tylko działające kontenery.
containers-match: "Pasuje do {count} działających kontenerów: {names}"
containers-match: "Pasuje do 1 działającego kontenera: {names} | Pasuje do {count} działających kontenerów: {names}"
no-containers-match: Żaden działający kontener nie pasuje do tego filtra
checking: Sprawdzanie…
examples: "Przykłady:"
@@ -352,10 +361,10 @@ notifications:
seconds-unit: sek
log-filter: Warunek logów
log-filter-hint: Które linie logów wyzwalają alert.
logs-match: "{count} pasujących linii w ciągu ostatnich {window}"
logs-match: "1 pasująca linia w ciągu ostatnich {window} | {count} pasujących linii w ciągu ostatnich {window}"
no-logs-match: Brak pasujących linii w ciągu ostatnich {window}
log-preview-hint: Napisz warunek, aby zobaczyć, które ostatnie linie logów wyzwoliłyby ten alert.
log-scan-note: Podgląd przeszukał pierwsze {count} pasujących kontenerów.
log-scan-note: "Podgląd przeszukał pierwszy pasujący kontener. | Podgląd przeszukał pierwsze {count} pasujących kontenerów."
preview-needs-containers: Najpierw wybierz kontenery, aby zobaczyć podgląd na prawdziwych danych.
preview-fix-expression: Popraw wyrażenie, aby zobaczyć podgląd.
destination: Miejsce docelowe
@@ -379,7 +388,7 @@ notifications:
metric-matching-now: Powyżej teraz
metric-no-samples: Brak danych
metric-no-samples-hint: Nie zebrano jeszcze statystyk dla pasujących kontenerów.
metric-would-fire: "Zadziałałby teraz dla {count} kontenerów"
metric-would-fire: "Zadziałałby teraz dla 1 kontenera | Zadziałałby teraz dla {count} kontenerów"
metric-would-not-fire: Żaden kontener nie przekracza teraz progu
sample-window-label: Okno próbkowania
sample-window-hint: "Wyzwala się, gdy warunek utrzyma się przez {duration}"
@@ -396,7 +405,7 @@ notifications:
type-switch-warning: Zapisanie zastąpi warunek {type} tego alertu, który zostanie utracony.
event-filter: Warunek zdarzenia
event-filter-hint: Które zdarzenia kontenerów wyzwalają alert.
event-matches: "Pasuje do {count} z tych zdarzeń"
event-matches: "Pasuje do 1 z tych zdarzeń | Pasuje do {count} z tych zdarzeń"
event-matches-none: Nie pasuje do żadnego z tych zdarzeń
event-preview-hint: Napisz warunek, aby zobaczyć, które zdarzenia kontenerów by wychwycił.
event-preview-note: Przykładowe zdarzenia, nie historia. Zdarzenia Dockera są oceniane na bieżąco.
@@ -482,6 +491,7 @@ cloud:
link-instance: Połącz instancję
relink-instance: Połącz ponownie instancję
connected: Połączony
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Zdarzenia w tym okresie
dashboard: Panel
+20 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: Todos os Containers
all-namespaces: Todos
namespaces: Namespaces
owners: Proprietários
host: Host
hosts: Hosts
password: Senha
@@ -248,9 +249,11 @@ releases:
bugFixes: uma correção de bug | {count} correções
breaking: uma mudança incompatível | {count} mudanças incompatíveis
three_parts: "{first}, {second} e {third}"
two_parts: "{first} com {second}"
two_parts: "{first} e {second}"
latest: Mais recente
no_releases: Você tem a versão mais recente
newer: "1 versão mais recente | {count} versões mais recentes"
all: Todas as versões
log_actions:
copy_log: Copiar log
jump_to_context: Ir para contexto
@@ -305,22 +308,28 @@ notifications:
sample-window: Janela de amostragem
destination: Destino
dispatcher-deleted: Dispatcher excluído
containers-count: "{count} containers"
triggered-count: "{count} acionados"
containers-count: "em 1 contêiner | em {count} contêineres"
triggered-count: "Disparado uma vez | Disparado {count} vezes"
never-triggered: Nunca disparado
last-triggered: "Último: {time}"
delete-warning: Excluir este alerta?
delete-cancel: Manter
delete-confirm: Excluir
window-meta: "janela de {duration}"
cooldown-meta: "espera de {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Editar
duplicate: Duplicar
delete: Excluir
used-by: "Usado por {count} alertas"
used-by: "Usado por 1 alerta | Usado por {count} alertas"
unused: Não usado por nenhum alerta
copy-of: "Cópia de {name}"
copy-failed: Não foi possível duplicar este destino
delete-failed: Não foi possível excluir este destino
delete-warning: Excluir este destino?
delete-warning-used: "{count} alertas enviam para cá e deixarão de notificar."
delete-warning-used: "1 alerta envia para cá e deixará de notificar. | {count} alertas enviam para cá e deixarão de notificar."
delete-cancel: Manter
delete-confirm: Excluir
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: Aparece no cartão do alerta e em todas as notificações que ele envia.
container-filter: Contêineres
container-filter-hint: Quais contêineres este alerta observa. Apenas contêineres em execução são considerados.
containers-match: "Corresponde a {count} contêineres em execução: {names}"
containers-match: "Corresponde a 1 contêiner em execução: {names} | Corresponde a {count} contêineres em execução: {names}"
no-containers-match: Nenhum contêiner em execução corresponde a este filtro
checking: Verificando…
examples: "Exemplos:"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: seg
log-filter: Condição de log
log-filter-hint: Quais linhas de log disparam o alerta.
logs-match: "{count} linhas correspondentes nas últimas {window}"
logs-match: "1 linha correspondente nas últimas {window} | {count} linhas correspondentes nas últimas {window}"
no-logs-match: Nenhuma linha correspondente nas últimas {window}
log-preview-hint: Escreva uma condição para ver quais linhas de log recentes teriam disparado este alerta.
log-scan-note: A pré-visualização percorreu os primeiros {count} contêineres correspondentes.
log-scan-note: "A pré-visualização percorreu o primeiro contêiner correspondente. | A pré-visualização percorreu os primeiros {count} contêineres correspondentes."
preview-needs-containers: Escolha contêineres primeiro para pré-visualizar com dados reais.
preview-fix-expression: Corrija a expressão para ver uma pré-visualização.
destination: Destino
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: Acima agora
metric-no-samples: Sem dados
metric-no-samples-hint: Nenhuma estatística coletada ainda para os contêineres correspondentes.
metric-would-fire: "Dispararia para {count} contêineres agora"
metric-would-fire: "Dispararia para 1 contêiner agora | Dispararia para {count} contêineres agora"
metric-would-not-fire: Nenhum contêiner está acima do limite agora
sample-window-label: Janela de amostragem
sample-window-hint: "Dispara quando a condição se mantém por {duration}"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: Salvar substitui a condição {type} deste alerta, que será perdida.
event-filter: Condição de evento
event-filter-hint: Quais eventos de contêiner disparam o alerta.
event-matches: "Corresponde a {count} destes eventos"
event-matches: "Corresponde a 1 destes eventos | Corresponde a {count} destes eventos"
event-matches-none: Não corresponde a nenhum destes eventos
event-preview-hint: Escreva uma condição para ver quais eventos de contêiner ela capturaria.
event-preview-note: Eventos de exemplo, não histórico. Eventos do Docker são avaliados no momento em que ocorrem.
@@ -479,6 +488,7 @@ cloud:
link-instance: Vincular instância
relink-instance: Revincular instância
connected: Conectado
pro-badge: Dozzle Cloud Pro
plan: Plano
usage: Eventos neste período
dashboard: Painel
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: Все контейнеры
all-namespaces: Все пространства имён
namespaces: Пространства имён
owners: Владельцы
host: Хост
hosts: Хосты
password: Пароль
@@ -251,6 +252,8 @@ releases:
two_parts: "{first} и {second}"
latest: Последняя
no_releases: У вас последняя версия
newer: "1 новая версия | Новых версий: {count}"
all: Все версии
log_actions:
copy_log: Копировать лог
jump_to_context: Перейти к контексту
@@ -305,22 +308,28 @@ notifications:
sample-window: Окно выборки
destination: Назначение
dispatcher-deleted: Диспетчер удалён
containers-count: "{count} контейнеров"
triggered-count: "{count} сработало"
containers-count: "в 1 контейнере | в {count} контейнерах"
triggered-count: "Сработало 1 раз | Сработало {count} раз"
never-triggered: Ни разу не сработало
last-triggered: "Последнее: {time}"
delete-warning: Удалить это оповещение?
delete-cancel: Оставить
delete-confirm: Удалить
window-meta: "окно {duration}"
cooldown-meta: "пауза {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Редактировать
duplicate: Дублировать
delete: Удалить
used-by: "Используется в {count} оповещениях"
used-by: "Используется в 1 оповещении | Используется в {count} оповещениях"
unused: Не используется ни в одном оповещении
copy-of: "Копия {name}"
copy-failed: Не удалось продублировать это назначение
delete-failed: Не удалось удалить это назначение
delete-warning: Удалить это назначение?
delete-warning-used: "{count} оповещений отправляют сюда и перестанут уведомлять."
delete-warning-used: "1 оповещение отправляет сюда и перестанет уведомлять. | {count} оповещений отправляют сюда и перестанут уведомлять."
delete-cancel: Оставить
delete-confirm: Удалить
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: Показывается на карточке оповещения и в каждом отправленном уведомлении.
container-filter: Контейнеры
container-filter-hint: За какими контейнерами следит это оповещение. Учитываются только запущенные контейнеры.
containers-match: "Подходит {count} запущенных контейнеров: {names}"
containers-match: "Подходит 1 запущенный контейнер: {names} | Подходит {count} запущенных контейнеров: {names}"
no-containers-match: Ни один запущенный контейнер не подходит под этот фильтр
checking: Проверка…
examples: "Примеры:"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: сек
log-filter: Условие по логам
log-filter-hint: Какие строки логов вызывают оповещение.
logs-match: "{count} подходящих строк за последние {window}"
logs-match: "1 подходящая строка за последние {window} | {count} подходящих строк за последние {window}"
no-logs-match: Нет подходящих строк за последние {window}
log-preview-hint: Напишите условие, чтобы увидеть, какие недавние строки логов вызвали бы это оповещение.
log-scan-note: Предпросмотр просмотрел первые {count} подходящих контейнеров.
log-scan-note: "Предпросмотр просмотрел первый подходящий контейнер. | Предпросмотр просмотрел первые {count} подходящих контейнеров."
preview-needs-containers: Сначала выберите контейнеры, чтобы увидеть предпросмотр на реальных данных.
preview-fix-expression: Исправьте выражение, чтобы увидеть предпросмотр.
destination: Назначение
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: Сейчас выше
metric-no-samples: Нет данных
metric-no-samples-hint: Для подходящих контейнеров статистика ещё не собрана.
metric-would-fire: "Сейчас сработало бы для {count} контейнеров"
metric-would-fire: "Сейчас сработало бы для 1 контейнера | Сейчас сработало бы для {count} контейнеров"
metric-would-not-fire: Сейчас ни один контейнер не превышает порог
sample-window-label: Окно выборки
sample-window-hint: "Срабатывает, когда условие держится {duration}"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: Сохранение заменит условие «{type}» этого оповещения, и оно будет потеряно.
event-filter: Условие по событиям
event-filter-hint: Какие события контейнеров вызывают оповещение.
event-matches: "Подходит {count} из этих событий"
event-matches: "Подходит 1 из этих событий | Подходит {count} из этих событий"
event-matches-none: Не подходит ни одно из этих событий
event-preview-hint: Напишите условие, чтобы увидеть, какие события контейнеров оно поймает.
event-preview-note: Примеры событий, а не история. События Docker проверяются по мере их появления.
@@ -479,6 +488,7 @@ cloud:
link-instance: Привязать экземпляр
relink-instance: Привязать повторно
connected: Подключён
pro-badge: Dozzle Cloud Pro
plan: План
usage: События за этот период
dashboard: Панель управления
+20 -10
View File
@@ -45,6 +45,7 @@ label:
all-containers: Vsi zabojniki
all-namespaces: Vsi
namespaces: Imenski prostori
owners: Lastniki
host: Gostitelj
hosts: Gostitelji
password: Geslo
@@ -254,9 +255,11 @@ releases:
bugFixes: en popravek napake | {count} popravkov
breaking: ena ključna sprememba | {count} ključnih sprememb
three_parts: "{first}, {second} in {third}"
two_parts: "{first} s/z {second}"
two_parts: "{first} in {second}"
latest: Najnovejše
no_releases: Imate najnovejšo različico
newer: "1 novejša izdaja | {count} novejših izdaj"
all: Vse izdaje
log_actions:
copy_log: Kopiraj dnevnik
jump_to_context: Skoči na kontekst
@@ -311,22 +314,28 @@ notifications:
sample-window: Vzorčno okno
destination: Cilj
dispatcher-deleted: Pošiljatelj izbrisan
containers-count: "{count} zabojnikov"
triggered-count: "{count} sproženih"
containers-count: "v 1 vsebniku | v {count} vsebnikih"
triggered-count: "Sproženo enkrat | Sproženo {count}-krat"
never-triggered: Nikoli sproženo
last-triggered: "Zadnje: {time}"
delete-warning: Izbrišem to opozorilo?
delete-cancel: Obdrži
delete-confirm: Izbriši
window-meta: "okno {duration}"
cooldown-meta: "premor {duration}"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Uredi
duplicate: Podvoji
delete: Izbriši
used-by: "Uporablja ga {count} opozoril"
used-by: "Uporablja ga 1 opozorilo | Uporablja ga {count} opozoril"
unused: Ne uporablja ga nobeno opozorilo
copy-of: "Kopija {name}"
copy-failed: Tega cilja ni bilo mogoče podvojiti
delete-failed: Tega cilja ni bilo mogoče izbrisati
delete-warning: Izbrišem ta cilj?
delete-warning-used: "{count} opozoril pošilja sem in bo prenehalo obveščati."
delete-warning-used: "1 opozorilo pošilja sem in bo prenehalo obveščati. | {count} opozoril pošilja sem in bo prenehalo obveščati."
delete-cancel: Obdrži
delete-confirm: Izbriši
alert-form:
@@ -347,7 +356,7 @@ notifications:
alert-name-hint: Prikazano na kartici opozorila in v vsakem poslanem obvestilu.
container-filter: Vsebniki
container-filter-hint: Katere vsebnike to opozorilo nadzoruje. Upoštevani so samo delujoči vsebniki.
containers-match: "Ustreza {count} delujočim vsebnikom: {names}"
containers-match: "Ustreza 1 delujočemu vsebniku: {names} | Ustreza {count} delujočim vsebnikom: {names}"
no-containers-match: Noben delujoč vsebnik ne ustreza temu filtru
checking: Preverjanje…
examples: "Primeri:"
@@ -355,10 +364,10 @@ notifications:
seconds-unit: s
log-filter: Pogoj dnevnika
log-filter-hint: Katere vrstice dnevnika sprožijo opozorilo.
logs-match: "{count} ustreznih vrstic v zadnjih {window}"
logs-match: "1 ustrezna vrstica v zadnjih {window} | {count} ustreznih vrstic v zadnjih {window}"
no-logs-match: Nobena vrstica ne ustreza v zadnjih {window}
log-preview-hint: Napišite pogoj, da vidite, katere nedavne vrstice dnevnika bi sprožile to opozorilo.
log-scan-note: Predogled je pregledal prvih {count} ustreznih vsebnikov.
log-scan-note: "Predogled je pregledal prvi ustrezni vsebnik. | Predogled je pregledal prvih {count} ustreznih vsebnikov."
preview-needs-containers: Najprej izberite vsebnike za predogled z resničnimi podatki.
preview-fix-expression: Popravite izraz, da vidite predogled.
destination: Cilj
@@ -382,7 +391,7 @@ notifications:
metric-matching-now: Zdaj nad
metric-no-samples: Ni podatkov
metric-no-samples-hint: Za ustrezne vsebnike statistika še ni bila zbrana.
metric-would-fire: "Trenutno bi se sprožilo za {count} vsebnikov"
metric-would-fire: "Trenutno bi se sprožilo za 1 vsebnik | Trenutno bi se sprožilo za {count} vsebnikov"
metric-would-not-fire: Noben vsebnik trenutno ne presega praga
sample-window-label: Vzorčno okno
sample-window-hint: "Sproži se, ko pogoj velja {duration}"
@@ -399,7 +408,7 @@ notifications:
type-switch-warning: Shranjevanje bo zamenjalo pogoj {type} tega opozorila, ki bo izgubljen.
event-filter: Pogoj dogodka
event-filter-hint: Kateri dogodki vsebnikov sprožijo opozorilo.
event-matches: "Ustreza {count} od teh dogodkov"
event-matches: "Ustreza 1 od teh dogodkov | Ustreza {count} od teh dogodkov"
event-matches-none: Ne ustreza nobenemu od teh dogodkov
event-preview-hint: Napišite pogoj, da vidite, katere dogodke vsebnikov bi ujel.
event-preview-note: Vzorčni dogodki, ne zgodovina. Dogodki Dockerja se ovrednotijo, ko se zgodijo.
@@ -485,6 +494,7 @@ cloud:
link-instance: Poveži instanco
relink-instance: Ponovno poveži instanco
connected: Povezano
pro-badge: Dozzle Cloud Pro
plan: Načrt
usage: Dogodki v tem obdobju
dashboard: Nadzorna plošča
+20 -10
View File
@@ -57,6 +57,7 @@ label:
all-containers: Tüm Konteynerlar
all-namespaces: Tümü
namespaces: Ad Alanları
owners: Sahipler
host: Sunucu
hosts: Sunucular
password: Şifre
@@ -252,9 +253,11 @@ releases:
bugFixes: bir hata düzeltmesi | {count} düzeltme
breaking: bir kırılma değişikliği | {count} kırılma değişikliği
three_parts: "{first}, {second} ve {third}"
two_parts: "{first} ile {second}"
two_parts: "{first} ve {second}"
latest: En son
no_releases: En son sürüme sahipsiniz
newer: "1 yeni sürüm | {count} yeni sürüm"
all: Tüm sürümler
log_actions:
copy_log: Günlüğü kopyala
jump_to_context: Bağlama git
@@ -309,22 +312,28 @@ notifications:
sample-window: Örnek penceresi
destination: Hedef
dispatcher-deleted: Dağıtıcı silindi
containers-count: "{count} konteyner"
triggered-count: "{count} tetiklendi"
containers-count: "1 konteynerde | {count} konteynerde"
triggered-count: "1 kez tetiklendi | {count} kez tetiklendi"
never-triggered: Hiç tetiklenmedi
last-triggered: "Son: {time}"
delete-warning: Bu uyarı silinsin mi?
delete-cancel: Vazgeç
delete-confirm: Sil
window-meta: "{duration} pencere"
cooldown-meta: "{duration} bekleme"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: Düzenle
duplicate: Çoğalt
delete: Sil
used-by: "{count} uyarı tarafından kullanılıyor"
used-by: "1 uyarı tarafından kullanılıyor | {count} uyarı tarafından kullanılıyor"
unused: Hiçbir uyarı kullanmıyor
copy-of: "{name} kopyası"
copy-failed: Bu hedef çoğaltılamadı
delete-failed: Bu hedef silinemedi
delete-warning: Bu hedef silinsin mi?
delete-warning-used: "{count} uyarı buraya gönderiyor ve bildirim durduracak."
delete-warning-used: "1 uyarı buraya gönderiyor ve bildirim durduracak. | {count} uyarı buraya gönderiyor ve bildirim durduracak."
delete-cancel: Vazgeç
delete-confirm: Sil
alert-form:
@@ -345,7 +354,7 @@ notifications:
alert-name-hint: Uyarı kartında ve gönderdiği her bildirimde görünür.
container-filter: Konteynerler
container-filter-hint: Bu uyarının izlediği konteynerler. Yalnızca çalışan konteynerler eşleştirilir.
containers-match: "{count} çalışan konteynerle eşleşiyor: {names}"
containers-match: "1 çalışan konteynerle eşleşiyor: {names} | {count} çalışan konteynerle eşleşiyor: {names}"
no-containers-match: Bu filtreyle eşleşen çalışan konteyner yok
checking: Kontrol ediliyor…
examples: "Örnekler:"
@@ -353,10 +362,10 @@ notifications:
seconds-unit: sn
log-filter: Log koşulu
log-filter-hint: Hangi log satırlarının uyarıyı tetiklediği.
logs-match: "Son {window} içinde {count} eşleşen satır"
logs-match: "Son {window} içinde 1 eşleşen satır | Son {window} içinde {count} eşleşen satır"
no-logs-match: Son {window} içinde eşleşen satır yok
log-preview-hint: Son log satırlarından hangilerinin bu uyarıyı tetikleyeceğini görmek için bir koşul yazın.
log-scan-note: Önizleme, eşleşen ilk {count} konteyneri taradı.
log-scan-note: "Önizleme, eşleşen ilk konteyneri taradı. | Önizleme, eşleşen ilk {count} konteyneri taradı."
preview-needs-containers: Gerçek veriyle önizleme için önce konteynerleri seçin.
preview-fix-expression: Önizleme görmek için ifadeyi düzeltin.
destination: Hedef
@@ -380,7 +389,7 @@ notifications:
metric-matching-now: Şu an üstünde
metric-no-samples: Veri yok
metric-no-samples-hint: Eşleşen konteynerler için henüz istatistik toplanmadı.
metric-would-fire: "Şu anda {count} konteyner için tetiklenirdi"
metric-would-fire: "Şu anda 1 konteyner için tetiklenirdi | Şu anda {count} konteyner için tetiklenirdi"
metric-would-not-fire: Şu anda eşiğin üstünde konteyner yok
sample-window-label: Örnek Penceresi
sample-window-hint: "Koşul {duration} boyunca sürdüğünde tetiklenir"
@@ -397,7 +406,7 @@ notifications:
type-switch-warning: Kaydetmek bu uyarının {type} koşulunu değiştirir ve o koşul kaybolur.
event-filter: Olay koşulu
event-filter-hint: Hangi konteyner olaylarının uyarıyı tetiklediği.
event-matches: "Bu olaylardan {count} tanesiyle eşleşiyor"
event-matches: "Bu olaylardan 1 tanesiyle eşleşiyor | Bu olaylardan {count} tanesiyle eşleşiyor"
event-matches-none: Bu olayların hiçbiriyle eşleşmiyor
event-preview-hint: Hangi konteyner olaylarını yakalayacağını görmek için bir koşul yazın.
event-preview-note: Geçmiş değil, örnek olaylar. Docker olayları gerçekleştikçe değerlendirilir.
@@ -483,6 +492,7 @@ cloud:
link-instance: Örneği bağla
relink-instance: Örneği yeniden bağla
connected: Bağlı
pro-badge: Dozzle Cloud Pro
plan: Plan
usage: Bu dönemdeki olaylar
dashboard: Pano
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: 所有容器
all-namespaces: 所有命名空間
namespaces: 命名空間
owners: 所屬工作負載
no-logs: 容器尚無日誌
search-status:
searching: 正在搜尋較舊的日誌…
@@ -254,6 +255,8 @@ releases:
two_parts: "{first} 與 {second}"
latest: 最新版本
no_releases: 您已經是最新版本
newer: "有 1 個更新版本 | 有 {count} 個更新版本"
all: 所有版本
log_actions:
copy_log: 複製日誌
jump_to_context: 跳至相關內容
@@ -308,22 +311,28 @@ notifications:
sample-window: 取樣視窗
destination: 目標
dispatcher-deleted: 發送器已刪除
containers-count: "{count} 個容器"
triggered-count: "{count} 次觸發"
containers-count: "涉及 1 個容器 | 涉及 {count} 個容器"
triggered-count: "觸發過 1 次 | 觸發過 {count} 次"
never-triggered: 從未觸發
last-triggered: "最後觸發: {time}"
delete-warning: 刪除這則警示?
delete-cancel: 保留
delete-confirm: 刪除
window-meta: "{duration} 區間"
cooldown-meta: "{duration} 冷卻"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: 編輯
duplicate: 複製
delete: 刪除
used-by: "被 {count} 則警示使用"
used-by: "被 1 則警示使用 | 被 {count} 則警示使用"
unused: 沒有警示使用
copy-of: "{name} 副本"
copy-failed: 無法複製此接收目標
delete-failed: 無法刪除此接收目標
delete-warning: 刪除此接收目標?
delete-warning-used: "有 {count} 則警示傳送到這裡,刪除後將不再通知。"
delete-warning-used: "有 1 則警示傳送到這裡,刪除後將不再通知。 | 有 {count} 則警示傳送到這裡,刪除後將不再通知。"
delete-cancel: 保留
delete-confirm: 刪除
alert-form:
@@ -344,7 +353,7 @@ notifications:
alert-name-hint: 顯示在警示卡片以及它發出的每則通知中。
container-filter: 容器
container-filter-hint: 此警示監看哪些容器。僅比對執行中的容器。
containers-match: "符合 {count} 個執行中的容器:{names}"
containers-match: "符合 1 個執行中的容器:{names} | 符合 {count} 個執行中的容器:{names}"
no-containers-match: 沒有執行中的容器符合此篩選條件
checking: 檢查中…
examples: "範例:"
@@ -352,10 +361,10 @@ notifications:
seconds-unit: 秒
log-filter: 日誌條件
log-filter-hint: 哪些日誌行會觸發警示。
logs-match: "最近 {window} 內有 {count} 行符合"
logs-match: "最近 {window} 內有 1 行符合 | 最近 {window} 內有 {count} 行符合"
no-logs-match: 最近 {window} 內沒有符合的行
log-preview-hint: 寫一個條件,看看最近哪些日誌行會觸發這則警示。
log-scan-note: 預覽掃描了前 {count} 個符合的容器。
log-scan-note: "預覽掃描了第 1 個符合的容器。 | 預覽掃描了前 {count} 個符合的容器。"
preview-needs-containers: 請先選擇容器,才能用真實資料預覽。
preview-fix-expression: 修正運算式後即可看到預覽。
destination: 目標
@@ -379,7 +388,7 @@ notifications:
metric-matching-now: 目前超標
metric-no-samples: 無資料
metric-no-samples-hint: 符合的容器尚未收集到統計資料。
metric-would-fire: "目前會為 {count} 個容器觸發"
metric-would-fire: "目前會為 1 個容器觸發 | 目前會為 {count} 個容器觸發"
metric-would-not-fire: 目前沒有容器超過閾值
sample-window-label: 取樣視窗
sample-window-hint: "條件持續 {duration} 後觸發"
@@ -396,7 +405,7 @@ notifications:
type-switch-warning: 儲存會取代此警示的{type}條件,該條件將遺失。
event-filter: 事件條件
event-filter-hint: 哪些容器事件會觸發警示。
event-matches: "符合其中 {count} 個事件"
event-matches: "符合其中 1 個事件 | 符合其中 {count} 個事件"
event-matches-none: 不符合其中任何事件
event-preview-hint: 寫一個條件,看看它會攔截哪些容器事件。
event-preview-note: 這是範例事件,不是歷史紀錄。Docker 事件會在發生時即時比對。
@@ -482,6 +491,7 @@ cloud:
link-instance: 連結實例
relink-instance: 重新連結實例
connected: 已連線
pro-badge: Dozzle Cloud Pro
plan: 方案
usage: 本期事件數
dashboard: 儀表板
+19 -9
View File
@@ -57,6 +57,7 @@ label:
all-containers: 所有容器
all-namespaces: 所有命名空间
namespaces: 命名空间
owners: 所属工作负载
no-logs: 容器尚无日志
search-status:
searching: 正在搜索较旧的日志…
@@ -251,6 +252,8 @@ releases:
two_parts: "{first} 与 {second}"
latest: 最新
no_releases: 您拥有最新版本
newer: "有 1 个更新版本 | 有 {count} 个更新版本"
all: 所有版本
log_actions:
copy_log: 复制日志
jump_to_context: 跳转到上下文
@@ -305,22 +308,28 @@ notifications:
sample-window: 采样窗口
destination: 目标
dispatcher-deleted: 发送器已删除
containers-count: "{count} 个容器"
triggered-count: "{count} 次触发"
containers-count: "涉及 1 个容器 | 涉及 {count} 个容器"
triggered-count: "触发过 1 次 | 触发过 {count} 次"
never-triggered: 从未触发
last-triggered: "最后触发: {time}"
delete-warning: 删除这条告警?
delete-cancel: 保留
delete-confirm: 删除
window-meta: "{duration} 窗口"
cooldown-meta: "{duration} 冷却"
destination:
http-webhook: HTTP Webhook
dozzle-cloud: Dozzle Cloud
edit: 编辑
duplicate: 复制
delete: 删除
used-by: "被 {count} 条告警使用"
used-by: "被 1 条告警使用 | 被 {count} 条告警使用"
unused: 没有告警使用
copy-of: "{name} 副本"
copy-failed: 无法复制此接收目标
delete-failed: 无法删除此接收目标
delete-warning: 删除此接收目标?
delete-warning-used: "有 {count} 条告警发送到这里,删除后将不再通知。"
delete-warning-used: "有 1 条告警发送到这里,删除后将不再通知。 | 有 {count} 条告警发送到这里,删除后将不再通知。"
delete-cancel: 保留
delete-confirm: 删除
alert-form:
@@ -341,7 +350,7 @@ notifications:
alert-name-hint: 显示在告警卡片以及它发出的每条通知中。
container-filter: 容器
container-filter-hint: 此告警监视哪些容器。仅匹配正在运行的容器。
containers-match: "匹配 {count} 个运行中的容器:{names}"
containers-match: "匹配 1 个运行中的容器:{names} | 匹配 {count} 个运行中的容器:{names}"
no-containers-match: 没有运行中的容器符合此筛选条件
checking: 检查中…
examples: "示例:"
@@ -349,10 +358,10 @@ notifications:
seconds-unit: 秒
log-filter: 日志条件
log-filter-hint: 哪些日志行会触发告警。
logs-match: "最近 {window} 内有 {count} 行匹配"
logs-match: "最近 {window} 内有 1 行匹配 | 最近 {window} 内有 {count} 行匹配"
no-logs-match: 最近 {window} 内没有匹配的行
log-preview-hint: 写一个条件,看看最近哪些日志行会触发这条告警。
log-scan-note: 预览扫描了前 {count} 个匹配的容器。
log-scan-note: "预览扫描了第 1 个匹配的容器。 | 预览扫描了前 {count} 个匹配的容器。"
preview-needs-containers: 先选择容器,才能用真实数据预览。
preview-fix-expression: 修正表达式后即可看到预览。
destination: 目标
@@ -376,7 +385,7 @@ notifications:
metric-matching-now: 当前超标
metric-no-samples: 无数据
metric-no-samples-hint: 匹配的容器尚未收集到统计数据。
metric-would-fire: "当前会为 {count} 个容器触发"
metric-would-fire: "当前会为 1 个容器触发 | 当前会为 {count} 个容器触发"
metric-would-not-fire: 当前没有容器超过阈值
sample-window-label: 采样窗口
sample-window-hint: "条件持续 {duration} 后触发"
@@ -393,7 +402,7 @@ notifications:
type-switch-warning: 保存会替换此告警的{type}条件,该条件将丢失。
event-filter: 事件条件
event-filter-hint: 哪些容器事件会触发告警。
event-matches: "匹配其中 {count} 个事件"
event-matches: "匹配其中 1 个事件 | 匹配其中 {count} 个事件"
event-matches-none: 不匹配其中任何事件
event-preview-hint: 写一个条件,看看它会捕获哪些容器事件。
event-preview-note: 这是示例事件,不是历史记录。Docker 事件在发生时实时匹配。
@@ -479,6 +488,7 @@ cloud:
link-instance: 关联实例
relink-instance: 重新关联实例
connected: 已连接
pro-badge: Dozzle Cloud Pro
plan: 计划
usage: 本期事件数
dashboard: 仪表盘