🎁 Sync 2026-09-27 08:52:29

This commit is contained in:
github-actions[bot] committed 2026-09-27 08:52:29 +08:00
1 parent 4dc511f21f
commit 4cdb414fdd
16 files changed
+1117 -717

No files matched your search

+2 -2
View File
@@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk
LUCI_TITLE:=Firewall Live View LUCI_TITLE:=Firewall Live View
LUCI_DESCRIPTION:=Live firewall log table (firewall4/nft; iptables-tagged lines still classify) with filters LUCI_DESCRIPTION:=Live firewall log table (firewall4/nft; iptables-tagged lines still classify) with filters
LUCI_DEPENDS:=+luci-base +logd +jsonfilter LUCI_DEPENDS:=+luci-base +logd +jsonfilter +coreutils-timeout
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
PKG_VERSION:=0.1.46 PKG_VERSION:=0.1.46
PKG_RELEASE:=39 PKG_RELEASE:=40
# Reproducible build: honor SOURCE_DATE_EPOCH from the build environment (set by docker-sdk.sh / CI). # Reproducible build: honor SOURCE_DATE_EPOCH from the build environment (set by docker-sdk.sh / CI).
ifdef SOURCE_DATE_EPOCH ifdef SOURCE_DATE_EPOCH
@@ -159,6 +159,7 @@ return view.extend({
/* Coalesce hostname-cache paints deferred while tablePaused. */ /* Coalesce hostname-cache paints deferred while tablePaused. */
resolvePaintPending: false, resolvePaintPending: false,
lastPollError: false, lastPollError: false,
lastPollErrorCode: null,
lastRulesError: null, lastRulesError: null,
followLive: true, followLive: true,
rulesMap: {}, rulesMap: {},
@@ -166,6 +167,8 @@ return view.extend({
viewMode: 'simple', viewMode: 'simple',
expandedRowId: null, expandedRowId: null,
loggingStatus: null, loggingStatus: null,
/* Invalidates status reads started before a newer toggle or refresh. */
loggingStatusReadGeneration: 0,
loggingBusy: false, loggingBusy: false,
loggingNotice: '', loggingNotice: '',
_loggingNoticeFromToggle: false, _loggingNoticeFromToggle: false,
@@ -359,6 +362,14 @@ return view.extend({
this.fillingBuffer = !shortRead && (rawCount === null || rawCount >= effective || grew); this.fillingBuffer = !shortRead && (rawCount === null || rawCount >= effective || grew);
}, },
hashFilterKeyAllowed(key) {
const fields = this.FILTER_CHIP_FIELDS;
for (let i = 0; i < fields.length; i++) {
if (fields[i].key === key) return true;
}
return false;
},
applyHash() { applyHash() {
this.resolveRpcPreferences(); this.resolveRpcPreferences();
@@ -367,17 +378,14 @@ return view.extend({
const key = entries[i].key; const key = entries[i].key;
const val = entries[i].val; const val = entries[i].val;
if (key === 'limit' || key === 'poll' || key === 'maxraw') continue; if (key === 'limit' || key === 'poll' || key === 'maxraw') continue;
if (key === 'fetch-mode' || key === 'row-tint') continue;
if (key === 'view') { if (key === 'view') {
if (val === 'advanced' || val === 'detailed') this.viewMode = 'detailed'; if (val === 'advanced' || val === 'detailed') this.viewMode = 'detailed';
else if (val === 'simple') this.viewMode = 'simple'; else if (val === 'simple') this.viewMode = 'simple';
continue; continue;
} }
const el = document.getElementById('fwlive-' + key); if (!this.hashFilterKeyAllowed(key)) continue;
if (key === 'proto') { this.setFilterFieldValue(key, val);
proto.setProtoFilterValue(val);
continue;
}
if (el) el.value = val;
} }
}, },
@@ -675,17 +683,21 @@ return view.extend({
table.renderThead(el, { columns: this.activeColumns().slice() }, {}); table.renderThead(el, { columns: this.activeColumns().slice() }, {});
}, },
async loadRulesMap() { isCurrentPollEpoch(epoch) {
return !this.viewDisposed && (epoch == null || epoch === this.currentPollEpoch());
},
async loadRulesMap(epoch) {
try { try {
const res = await callFwliveRules(); const res = await callFwliveRules();
if (this.viewDisposed) return; if (!this.isCurrentPollEpoch(epoch)) return;
this.rulesMap = (res && res.rules) || {}; this.rulesMap = (res && res.rules) || {};
this.firewallBackend = (res && res.backend) || 'nft'; this.firewallBackend = (res && res.backend) || 'nft';
/* Bounds / mktemp failures are reply.error — same idea as poll. */ /* Bounds / mktemp failures are reply.error — same idea as poll. */
this.lastRulesError = (res && res.error) || null; this.lastRulesError = (res && res.error) || null;
if (this.lastRulesError) console.warn('fwlive rules map error:', this.lastRulesError); if (this.lastRulesError) console.warn('fwlive rules map error:', this.lastRulesError);
} catch (_e) { } catch (_e) {
if (this.viewDisposed) return; if (!this.isCurrentPollEpoch(epoch)) return;
this.rulesMap = {}; this.rulesMap = {};
this.firewallBackend = 'nft'; this.firewallBackend = 'nft';
this.lastRulesError = 'rules_unavailable'; this.lastRulesError = 'rules_unavailable';
@@ -704,9 +716,10 @@ return view.extend({
const label = document.getElementById('fwlive-backend'); const label = document.getElementById('fwlive-backend');
if (label) { if (label) {
const warnings = (this.loggingStatus && this.loggingStatus.warnings) || [];
let text = this.backendDisplayLabel(); let text = this.backendDisplayLabel();
let degraded = false; let degraded = false;
if (this.lastRulesError) { if (this.lastRulesError && this.lastRulesError !== 'timeout_missing') {
let err = ''; let err = '';
if (this.lastRulesError === 'rules_truncated') if (this.lastRulesError === 'rules_truncated')
err = _('Rule labels incomplete — map truncated'); err = _('Rule labels incomplete — map truncated');
@@ -716,12 +729,6 @@ return view.extend({
text = text ? text + ' \u00b7 ' + err : err; text = text ? text + ' \u00b7 ' + err : err;
degraded = true; degraded = true;
} }
const warnings = (this.loggingStatus && this.loggingStatus.warnings) || [];
if (warnings.indexOf('timeout_missing') >= 0) {
const warn = _('Limited diagnostics — timeout command missing');
text = text ? text + ' \u00b7 ' + warn : warn;
degraded = true;
}
if (warnings.indexOf('legacy_iptables_detected') >= 0) { if (warnings.indexOf('legacy_iptables_detected') >= 0) {
const warn = _( const warn = _(
'Live view may be incomplete — a legacy iptables table is registered' 'Live view may be incomplete — a legacy iptables table is registered'
@@ -736,16 +743,25 @@ return view.extend({
this.updateEmptyStateUi(); this.updateEmptyStateUi();
}, },
async loadLoggingStatus() { async loadLoggingStatus(epoch) {
const readGeneration = ++this.loggingStatusReadGeneration;
const wasWeakDevice = this.weakDevice; const wasWeakDevice = this.weakDevice;
try { try {
const status = await callFwliveLoggingStatus(); const status = await callFwliveLoggingStatus();
if (this.viewDisposed) return; if (
!this.isCurrentPollEpoch(epoch) ||
readGeneration !== this.loggingStatusReadGeneration
)
return;
this.loggingStatus = status; this.loggingStatus = status;
if (!this._loggingNoticeFromToggle) this.loggingNotice = ''; if (!this._loggingNoticeFromToggle) this.loggingNotice = '';
this.weakDevice = !!(this.loggingStatus && this.loggingStatus.weak_device === true); this.weakDevice = !!(this.loggingStatus && this.loggingStatus.weak_device === true);
} catch (_e) { } catch (_e) {
if (this.viewDisposed) return; if (
!this.isCurrentPollEpoch(epoch) ||
readGeneration !== this.loggingStatusReadGeneration
)
return;
/* Keep last-known toolbar; unknown until the first successful fetch. */ /* Keep last-known toolbar; unknown until the first successful fetch. */
if (!this.loggingNotice) if (!this.loggingNotice)
this.loggingNotice = this.loggingStatus this.loggingNotice = this.loggingStatus
@@ -755,6 +771,7 @@ return view.extend({
this.updateBackendUi(); this.updateBackendUi();
this.updateLoggingToolbarUi(); this.updateLoggingToolbarUi();
this.updateEmptyStateUi(); this.updateEmptyStateUi();
this.updateStatus();
if (wasWeakDevice !== this.weakDevice && document.getElementById('fwlive-table')) if (wasWeakDevice !== this.weakDevice && document.getElementById('fwlive-table'))
this.renderRows(true); this.renderRows(true);
}, },
@@ -762,6 +779,8 @@ return view.extend({
async runLoggingToggle(opts) { async runLoggingToggle(opts) {
if (this.loggingBusy) return; if (this.loggingBusy) return;
/* Older recovery reads must not overwrite this toggle's later status. */
this.loggingStatusReadGeneration++;
this.loggingBusy = true; this.loggingBusy = true;
this.loggingNotice = ''; this.loggingNotice = '';
this._loggingNoticeFromToggle = false; this._loggingNoticeFromToggle = false;
@@ -934,10 +953,13 @@ return view.extend({
resolveRuleLabel(hint) { resolveRuleLabel(hint) {
if (!hint) return ''; if (!hint) return '';
if (this.rulesMap[hint]) return this.rulesMap[hint]; const own = Object.prototype.hasOwnProperty;
if (own.call(this.rulesMap, hint) && typeof this.rulesMap[hint] === 'string')
return this.rulesMap[hint];
const slug = hint.toLowerCase(); const slug = hint.toLowerCase();
if (this.rulesMap[slug]) return this.rulesMap[slug]; if (own.call(this.rulesMap, slug) && typeof this.rulesMap[slug] === 'string')
return this.rulesMap[slug];
return log.formatRuleLabel(hint); return log.formatRuleLabel(hint);
}, },
@@ -947,6 +969,23 @@ return view.extend({
return row; return row;
}, },
refreshBufferedRuleLabels() {
let changed = false;
for (let i = 0; i < this.entries.length; i++) {
const row = this.entries[i];
const label = this.resolveRuleLabel(row.rule_hint);
if (row.rule_label !== label) {
row.rule_label = label;
changed = true;
}
}
/* Keep buffered rows current without painting a paused or hidden table. */
if (changed && !this.tablePaused && (!this.summaryMode || this.summaryRowsShown))
this.renderRows(true);
return changed;
},
normalizePollBatch(raw) { normalizePollBatch(raw) {
const normalized = []; const normalized = [];
const seen = {}; const seen = {};
@@ -987,11 +1026,13 @@ return view.extend({
/* Caller must discard stale epochs before this synchronous application. /* Caller must discard stale epochs before this synchronous application.
* This updates transport/adaptive state, summary/banner UI, rows, and buffer. */ * This updates transport/adaptive state, summary/banner UI, rows, and buffer. */
failPollReply(rtt) { failPollReply(rtt, errorCode) {
this.lastPollError = true; this.lastPollError = true;
this.lastPollErrorCode = typeof errorCode === 'string' ? errorCode : null;
this.fillingBuffer = false; this.fillingBuffer = false;
this.notePollRtt(rtt, true); this.notePollRtt(rtt, true);
this.updateAdaptiveBanner(); this.updateAdaptiveBanner();
if (this.lastPollErrorCode === 'timeout_missing') this.updateBackendUi();
}, },
applyPollReply(poll, context) { applyPollReply(poll, context) {
@@ -1008,7 +1049,7 @@ return view.extend({
return; return;
} }
if (reply.error) { if (reply.error) {
this.failPollReply(rtt); this.failPollReply(rtt, reply.error);
return; return;
} }
const raw = reply.log; const raw = reply.log;
@@ -1018,6 +1059,7 @@ return view.extend({
} }
this.lastPollError = false; this.lastPollError = false;
this.lastPollErrorCode = null;
if (reply.adaptive === 0 || reply.adaptive === false) this.serverAdaptive = 0; if (reply.adaptive === 0 || reply.adaptive === false) this.serverAdaptive = 0;
else if (reply.adaptive === 1 || reply.adaptive === true) this.serverAdaptive = 1; else if (reply.adaptive === 1 || reply.adaptive === true) this.serverAdaptive = 1;
else this.serverAdaptive = undefined; else this.serverAdaptive = undefined;
@@ -1082,12 +1124,19 @@ return view.extend({
/* Visibility changes and disposal invalidate all application of this reply. */ /* Visibility changes and disposal invalidate all application of this reply. */
if (epoch !== this.currentPollEpoch()) return; if (epoch !== this.currentPollEpoch()) return;
const recoveringTimeoutProvider = this.lastPollErrorCode === 'timeout_missing';
this.applyPollReply(poll, { this.applyPollReply(poll, {
beforeLength: beforeLength, beforeLength: beforeLength,
fetchLines: fetchLines, fetchLines: fetchLines,
pausedAtStart: pausedAtStart, pausedAtStart: pausedAtStart,
resumeMerge: resumeMerge resumeMerge: resumeMerge
}); });
if (recoveringTimeoutProvider && !this.lastPollError) {
await Promise.all([this.loadRulesMap(epoch), this.loadLoggingStatus(epoch)]);
/* Recovery RPCs can outlive the poll epoch; don't repaint stale views. */
if (epoch !== this.currentPollEpoch() || this.viewDisposed) return;
this.refreshBufferedRuleLabels();
}
}, },
rememberSessionId(id) { rememberSessionId(id) {
@@ -1132,10 +1181,9 @@ return view.extend({
constants.WEAK_DEVICE_DISPLAY_ROW_CAP constants.WEAK_DEVICE_DISPLAY_ROW_CAP
) )
); );
if (this.degradedSampling && this.serverAdaptive !== 0) bits.push(_('Degraded — sampling')); if (this.degradedSampling) bits.push(_('Degraded — sampling'));
if (this.serverTruncated && this.serverAdaptive !== 0) bits.push(_('truncated')); if (this.serverTruncated) bits.push(_('truncated'));
if (this.resolveLoadShed && this.serverAdaptive !== 0) if (this.resolveLoadShed) bits.push(_('resolve paused (load)'));
bits.push(_('resolve paused (load)'));
if (!this.tablePaused && !this.followLive) if (!this.tablePaused && !this.followLive)
bits.push(_('scroll frozen — scroll to top to follow live')); bits.push(_('scroll frozen — scroll to top to follow live'));
return bits.length ? ' — ' + bits.join(', ') : ''; return bits.length ? ' — ' + bits.join(', ') : '';
@@ -1513,7 +1561,10 @@ return view.extend({
if (this.lastPollError) { if (this.lastPollError) {
status.className = 'fwlive-status fwlive-status-error'; status.className = 'fwlive-status fwlive-status-error';
status.textContent = _('Connection lost — retrying…') + suffix; status.textContent =
this.lastPollErrorCode === 'timeout_missing'
? _('Installation is incomplete. Reinstall luci-app-fwlive.')
: _('Connection lost — retrying…') + suffix;
this.updateAdaptiveBanner(); this.updateAdaptiveBanner();
return; return;
} }
@@ -2096,7 +2147,10 @@ return view.extend({
/* fetchEntries already accounts the poll RTT for every rpc /* fetchEntries already accounts the poll RTT for every rpc
* outcome; a throw here is a local normalize/buffer bug, not * outcome; a throw here is a local normalize/buffer bug, not
* network slowness, so count nothing further. */ * network slowness, so count nothing further. */
if (epoch === this.currentPollEpoch()) this.lastPollError = true; if (epoch === this.currentPollEpoch()) {
this.lastPollError = true;
this.lastPollErrorCode = null;
}
} }
if (epoch !== this.currentPollEpoch()) return; if (epoch !== this.currentPollEpoch()) return;
@@ -2129,7 +2183,10 @@ return view.extend({
} catch (_e) { } catch (_e) {
/* Keep the coordinator promise settling so a queued refresh cannot /* Keep the coordinator promise settling so a queued refresh cannot
* be stranded by an unexpected local rendering failure. */ * be stranded by an unexpected local rendering failure. */
if (epoch === this.currentPollEpoch()) this.lastPollError = true; if (epoch === this.currentPollEpoch()) {
this.lastPollError = true;
this.lastPollErrorCode = null;
}
} }
}, },
@@ -2593,6 +2650,7 @@ return view.extend({
this.hostnameFailed = new Map(); this.hostnameFailed = new Map();
this.resolveGeneration = 0; this.resolveGeneration = 0;
this.lastPollError = false; this.lastPollError = false;
this.lastPollErrorCode = null;
this.applyHash(); this.applyHash();
this.attachHandlers(); this.attachHandlers();
this.applyRowTintMode(); this.applyRowTintMode();
+167 -163
View File
@@ -12,16 +12,16 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1548
msgid "%d matching · %d/%d stored" msgid "%d matching · %d/%d stored"
msgstr "%d Treffer · %d/%d gespeichert" msgstr "%d Treffer · %d/%d gespeichert"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1341
msgid "%s · requested up to %d raw lines · %d firewall messages returned" msgid "%s · requested up to %d raw lines · %d firewall messages returned"
msgstr "" msgstr ""
"%s · bis zu %d Rohzeilen angefordert · %d Firewall-Meldungen zurückgegeben" "%s · bis zu %d Rohzeilen angefordert · %d Firewall-Meldungen zurückgegeben"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1331
msgid "" msgid ""
"%s · requested up to %d raw lines · server limited fetch to %d · %d firewall " "%s · requested up to %d raw lines · server limited fetch to %d · %d firewall "
"messages returned" "messages returned"
@@ -29,29 +29,29 @@ msgstr ""
"%s · bis zu %d Rohzeilen angefordert · Server begrenzte Abruf auf %d · %d " "%s · bis zu %d Rohzeilen angefordert · Server begrenzte Abruf auf %d · %d "
"Firewall-Meldungen zurückgegeben" "Firewall-Meldungen zurückgegeben"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:482 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:493
msgid "%s: %s" msgid "%s: %s"
msgstr "%s: %s" msgstr "%s: %s"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1502 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1550
msgid "0 matching · %d/%d stored" msgid "0 matching · %d/%d stored"
msgstr "0 Treffer · %d/%d gespeichert" msgstr "0 Treffer · %d/%d gespeichert"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:432 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:440
msgid "Accessible (teal/orange)" msgid "Accessible (teal/orange)"
msgstr "Barrierefrei (teal/orange)" msgstr "Barrierefrei (teal/orange)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:342 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:353
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:35 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:35
msgid "Action" msgid "Action"
msgstr "Aktion" msgstr "Aktion"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:855 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:874
msgid "Administrator access is required to disable logging." msgid "Administrator access is required to disable logging."
msgstr "" msgstr ""
"Zum Deaktivieren der Protokollierung sind Administratorrechte erforderlich." "Zum Deaktivieren der Protokollierung sind Administratorrechte erforderlich."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851
msgid "Administrator access is required to enable logging." msgid "Administrator access is required to enable logging."
msgstr "" msgstr ""
"Zum Aktivieren der Protokollierung sind Administratorrechte erforderlich." "Zum Aktivieren der Protokollierung sind Administratorrechte erforderlich."
@@ -60,27 +60,27 @@ msgstr ""
msgid "Allow/deny rules, LAN logging, or anything else." msgid "Allow/deny rules, LAN logging, or anything else."
msgstr "Allow/Deny-Regeln, LAN-Protokollierung oder irgendetwas anderes." msgstr "Allow/Deny-Regeln, LAN-Protokollierung oder irgendetwas anderes."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1691 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1742
msgid "Also seen" msgid "Also seen"
msgstr "Weitere" msgstr "Weitere"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:812 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:843 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:863
msgid "Another change is staged for the firewall; apply or revert it first." msgid "Another change is staged for the firewall; apply or revert it first."
msgstr "" msgstr ""
"Eine andere Änderung an der Firewall ist vorgemerkt; zuerst anwenden oder " "Eine andere Änderung an der Firewall ist vorgemerkt; zuerst anwenden oder "
"verwerfen." "verwerfen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2490 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547
msgid "Any action" msgid "Any action"
msgstr "Beliebige Aktion" msgstr "Beliebige Aktion"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1684 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1735
msgid "Any protocol" msgid "Any protocol"
msgstr "Beliebiges Protokoll" msgstr "Beliebiges Protokoll"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1334 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1382
msgid "Auto" msgid "Auto"
msgstr "Auto" msgstr "Auto"
@@ -88,7 +88,7 @@ msgstr "Auto"
msgid "Before you enable logging" msgid "Before you enable logging"
msgstr "Bevor Sie die Protokollierung aktivieren" msgstr "Bevor Sie die Protokollierung aktivieren"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:810 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:829
msgid "Cannot enable logging until kernel log modules are installed." msgid "Cannot enable logging until kernel log modules are installed."
msgstr "" msgstr ""
"Protokollierung kann erst aktiviert werden, wenn die Kernel-Log-Module " "Protokollierung kann erst aktiviert werden, wenn die Kernel-Log-Module "
@@ -98,11 +98,11 @@ msgstr ""
msgid "Changes:" msgid "Changes:"
msgstr "Änderungen:" msgstr "Änderungen:"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:431 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:439
msgid "Classic (green/red)" msgid "Classic (green/red)"
msgstr "Klassisch (grün/rot)" msgstr "Klassisch (grün/rot)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2221 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2278
msgid "Classic uses green/red; Accessible uses teal/orange" msgid "Classic uses green/red; Accessible uses teal/orange"
msgstr "Klassisch verwendet grün/rot; Barrierefrei verwendet teal/orange" msgstr "Klassisch verwendet grün/rot; Barrierefrei verwendet teal/orange"
@@ -110,7 +110,7 @@ msgstr "Klassisch verwendet grün/rot; Barrierefrei verwendet teal/orange"
msgid "Clear all" msgid "Clear all"
msgstr "Alle löschen" msgstr "Alle löschen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2561 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2619
msgid "" msgid ""
"Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for " "Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for "
"firewall settings · in Simple view, click a row for the full message" "firewall settings · in Simple view, click a row for the full message"
@@ -119,7 +119,7 @@ msgstr ""
"auf eine Regel für Firewall-Einstellungen · in der Einfachen Ansicht Zeile " "auf eine Regel für Firewall-Einstellungen · in der Einfachen Ansicht Zeile "
"anklicken für die vollständige Meldung" "anklicken für die vollständige Meldung"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2288 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346
msgid "" msgid ""
"Click a row (Time or other non-link cells) to see the full log line (Simple " "Click a row (Time or other non-link cells) to see the full log line (Simple "
"view)." "view)."
@@ -131,7 +131,7 @@ msgstr ""
msgid "Click a row for the full message" msgid "Click a row for the full message"
msgstr "Zeile anklicken für die vollständige Meldung" msgstr "Zeile anklicken für die vollständige Meldung"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2351
msgid "" msgid ""
"Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a " "Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a "
"chip) to exclude." "chip) to exclude."
@@ -139,40 +139,42 @@ msgstr ""
"Klicken Sie auf eine IP, Aktion oder ein Protokoll, um zu filtern; nutzen " "Klicken Sie auf eine IP, Aktion oder ein Protokoll, um zu filtern; nutzen "
"Sie das Protokoll-Menü (oder ≠ auf einem Chip) zum Ausschließen." "Sie das Protokoll-Menü (oder ≠ auf einem Chip) zum Ausschließen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1685 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1736
msgid "Common" msgid "Common"
msgstr "Häufig" msgstr "Häufig"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1567
msgid "Connection lost — retrying…" msgid "Connection lost — retrying…"
msgstr "Verbindung verloren — neuer Versuch…" msgstr "Verbindung verloren — neuer Versuch…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:818 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:837
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:868
msgid "Could not acquire the logging lock." msgid "Could not acquire the logging lock."
msgstr "Die Protokollierungssperre konnte nicht erworben werden." msgstr "Die Protokollierungssperre konnte nicht erworben werden."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:852 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:871
msgid "Could not disable logging." msgid "Could not disable logging."
msgstr "Protokollierung konnte nicht deaktiviert werden." msgstr "Protokollierung konnte nicht deaktiviert werden."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:823 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:842
msgid "Could not enable logging." msgid "Could not enable logging."
msgstr "Protokollierung konnte nicht aktiviert werden." msgstr "Protokollierung konnte nicht aktiviert werden."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:753 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:769
msgid "Could not load logging status." msgid "Could not load logging status."
msgstr "Protokollstatus konnte nicht geladen werden." msgstr "Protokollstatus konnte nicht geladen werden."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:752 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:768
msgid "Could not refresh logging status; showing the last known state." msgid "Could not refresh logging status; showing the last known state."
msgstr "Protokollstatus konnte nicht aktualisiert werden; zeige den zuletzt bekannten Zustand." msgstr ""
"Protokollstatus konnte nicht aktualisiert werden; zeige den zuletzt "
"bekannten Zustand."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:820 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:839
msgid "Could not snapshot the current logging state." msgid "Could not snapshot the current logging state."
msgstr "Der aktuelle Protokollierungszustand konnte nicht gesichert werden." msgstr "Der aktuelle Protokollierungszustand konnte nicht gesichert werden."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2574
msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set." msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set."
msgstr "" msgstr ""
"Eigenes Protokoll (! zum Ausschließen). Überschreibt das Menü, wenn gesetzt." "Eigenes Protokoll (! zum Ausschließen). Überschreibt das Menü, wenn gesetzt."
@@ -181,34 +183,34 @@ msgstr ""
msgid "DPort" msgid "DPort"
msgstr "Ziel-Port" msgstr "Ziel-Port"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1135 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1184
msgid "Degraded — sampling" msgid "Degraded — sampling"
msgstr "Eingeschränkt — Stichproben" msgstr "Eingeschränkt — Stichproben"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1305 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1353
msgid "Degraded — sampling (slow poll RTT; cadence reduced)." msgid "Degraded — sampling (slow poll RTT; cadence reduced)."
msgstr "" msgstr ""
"Eingeschränkt — Stichproben (langsame Poll-Roundtrip-Zeit; Frequenz " "Eingeschränkt — Stichproben (langsame Poll-Roundtrip-Zeit; Frequenz "
"reduziert)." "reduziert)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:357
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:43 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:43
msgid "Destination" msgid "Destination"
msgstr "Ziel" msgstr "Ziel"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2604
msgid "Destination IP contains (! to exclude)" msgid "Destination IP contains (! to exclude)"
msgstr "Ziel-IP enthält (! zum Ausschließen)" msgstr "Ziel-IP enthält (! zum Ausschließen)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:348 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:359
msgid "Destination port" msgid "Destination port"
msgstr "Ziel-Port" msgstr "Ziel-Port"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2609
msgid "Destination port (! to exclude)" msgid "Destination port (! to exclude)"
msgstr "Ziel-Port (! zum Ausschließen)" msgstr "Ziel-Port (! zum Ausschließen)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2405 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2462
msgid "Detail" msgid "Detail"
msgstr "Detail" msgstr "Detail"
@@ -220,15 +222,15 @@ msgstr "Richtung"
msgid "Disabling…" msgid "Disabling…"
msgstr "Wird deaktiviert…" msgstr "Wird deaktiviert…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1131 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1180
msgid "Display limited to %d rows on this device" msgid "Display limited to %d rows on this device"
msgstr "Anzeige auf %d Zeilen auf diesem Gerät begrenzt" msgstr "Anzeige auf %d Zeilen auf diesem Gerät begrenzt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2162 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2219
msgid "Display options" msgid "Display options"
msgstr "Anzeigeoptionen" msgstr "Anzeigeoptionen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2254 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2311
msgid "Display options on the bar set Limit, row tint, palette, and hostnames." msgid "Display options on the bar set Limit, row tint, palette, and hostnames."
msgstr "" msgstr ""
"Anzeigeoptionen in der Leiste setzen Limit, Zeilenfärbung, Palette und " "Anzeigeoptionen in der Leiste setzen Limit, Zeilenfärbung, Palette und "
@@ -256,7 +258,7 @@ msgstr ""
msgid "Enable logging" msgid "Enable logging"
msgstr "Protokollierung aktivieren" msgstr "Protokollierung aktivieren"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2249 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2307
msgid "" msgid ""
"Enable logging turns on WAN zone drop/reject logging only (same as Network → " "Enable logging turns on WAN zone drop/reject logging only (same as Network → "
"Firewall). It does not add rules or log normal LAN browsing." "Firewall). It does not add rules or log normal LAN browsing."
@@ -270,7 +272,7 @@ msgstr ""
msgid "Enabling…" msgid "Enabling…"
msgstr "Wird aktiviert…" msgstr "Wird aktiviert…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1698 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1749
msgid "Exclude" msgid "Exclude"
msgstr "Ausschließen" msgstr "Ausschließen"
@@ -278,11 +280,11 @@ msgstr "Ausschließen"
msgid "Exclude instead" msgid "Exclude instead"
msgstr "Stattdessen ausschließen" msgstr "Stattdessen ausschließen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2176 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2233
msgid "Fetch budget" msgid "Fetch budget"
msgstr "Abrufbudget" msgstr "Abrufbudget"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2257 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2315
msgid "" msgid ""
"Fetch budget controls raw log lines per poll. Auto derives from Limit; " "Fetch budget controls raw log lines per poll. Auto derives from Limit; "
"Manual selects a bounded maximum." "Manual selects a bounded maximum."
@@ -296,13 +298,13 @@ msgstr ""
msgid "Filter by %s" msgid "Filter by %s"
msgstr "Filtern nach %s" msgstr "Filtern nach %s"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:129
msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings." msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings."
msgstr "" msgstr ""
"Logs nach Regel filtern (Hinweis: %s). Strg+Klick öffnet die Firewall-" "Logs nach Regel filtern (Hinweis: %s). Strg+Klick öffnet die Firewall-"
"Einstellungen." "Einstellungen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2332 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2389
#: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3 #: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3
msgid "Firewall Live View" msgid "Firewall Live View"
msgstr "Firewall-Live-Ansicht" msgstr "Firewall-Live-Ansicht"
@@ -315,7 +317,7 @@ msgstr "Flags"
msgid "Flow" msgid "Flow"
msgstr "Fluss" msgstr "Fluss"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2267 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2325
msgid "" msgid ""
"For a responsive table on a weak device, keep Limit at 250 rows or below. " "For a responsive table on a weak device, keep Limit at 250 rows or below. "
"The weak-device cap affects rendered rows; the buffer can still retain more." "The weak-device cap affects rendered rows; the buffer can still retain more."
@@ -332,15 +334,15 @@ msgstr "Weitergeleitet"
msgid "Grant access to firewall live log view" msgid "Grant access to firewall live log view"
msgstr "Zugriff auf die Live-Ansicht der Firewall-Protokolle gewähren" msgstr "Zugriff auf die Live-Ansicht der Firewall-Protokolle gewähren"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2241 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298
msgid "Help" msgid "Help"
msgstr "Hilfe" msgstr "Hilfe"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
msgid "Hide rows" msgid "Hide rows"
msgstr "Zeilen ausblenden" msgstr "Zeilen ausblenden"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1467 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516
msgid "" msgid ""
"High event rate — table refresh is throttled to protect the browser. The " "High event rate — table refresh is throttled to protect the browser. The "
"buffer still updates; refresh will resume automatically." "buffer still updates; refresh will resume automatically."
@@ -349,11 +351,11 @@ msgstr ""
"Browser zu schonen. Der Puffer wird weiter aktualisiert; die Anzeige wird " "Browser zu schonen. Der Puffer wird weiter aktualisiert; die Anzeige wird "
"automatisch fortgesetzt." "automatisch fortgesetzt."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1312 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360
msgid "Hostname resolve paused while the router is under load." msgid "Hostname resolve paused while the router is under load."
msgstr "Hostnamenauflösung pausiert, solange der Router ausgelastet ist." msgstr "Hostnamenauflösung pausiert, solange der Router ausgelastet ist."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1689 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1740
msgid "ICMPv6" msgid "ICMPv6"
msgstr "ICMPv6" msgstr "ICMPv6"
@@ -361,7 +363,7 @@ msgstr "ICMPv6"
msgid "IN" msgid "IN"
msgstr "EINGANG" msgstr "EINGANG"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2304 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2362
msgid "" msgid ""
"If Row tint looks missing, the active LuCI theme may omit success/error or " "If Row tint looks missing, the active LuCI theme may omit success/error or "
"info/warn CSS variables; fwlive falls back to local colors (air-gapped, no " "info/warn CSS variables; fwlive falls back to local colors (air-gapped, no "
@@ -371,7 +373,7 @@ msgstr ""
"möglicherweise keine Erfolgs/Fehler-CSS-Variablen; fwlive fällt auf lokale " "möglicherweise keine Erfolgs/Fehler-CSS-Variablen; fwlive fällt auf lokale "
"Farben zurück (air-gapped, keine Daten verlassen das Gerät)." "Farben zurück (air-gapped, keine Daten verlassen das Gerät)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:323 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:324
msgid "" msgid ""
"If the WAN is quiet, wait for probes or use the optional ping check in " "If the WAN is quiet, wait for probes or use the optional ping check in "
"Help / the enabling-logs guide." "Help / the enabling-logs guide."
@@ -387,12 +389,16 @@ msgstr "Eingehend"
msgid "Include instead" msgid "Include instead"
msgstr "Stattdessen einschließen" msgstr "Stattdessen einschließen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:343 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1566
msgid "Installation is incomplete. Reinstall luci-app-fwlive."
msgstr "Installation unvollständig. Installieren Sie luci-app-fwlive neu."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:354
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37
msgid "Interface" msgid "Interface"
msgstr "Schnittstelle" msgstr "Schnittstelle"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2532 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2589
msgid "Interface (prefix ! to exclude)" msgid "Interface (prefix ! to exclude)"
msgstr "Schnittstelle (! voranstellen zum Ausschließen)" msgstr "Schnittstelle (! voranstellen zum Ausschließen)"
@@ -405,7 +411,7 @@ msgstr "Ich konfiguriere das unter Netzwerk → Firewall"
msgid "Kernel log modules missing" msgid "Kernel log modules missing"
msgstr "Kernel-Logmodule fehlen" msgstr "Kernel-Logmodule fehlen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:289 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:290
msgid "" msgid ""
"Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-" "Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-"
"nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall." "nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall."
@@ -418,32 +424,30 @@ msgstr ""
msgid "Len" msgid "Len"
msgstr "Länge" msgstr "Länge"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2165 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2222
msgid "Limit" msgid "Limit"
msgstr "Limit" msgstr "Limit"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:721 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:734
msgid "Limited diagnostics — timeout command missing"
msgstr "Eingeschränkte Diagnose — timeout-Befehl fehlt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:726
msgid "Live view may be incomplete — a legacy iptables table is registered" msgid "Live view may be incomplete — a legacy iptables table is registered"
msgstr "Die Live-Ansicht kann unvollständig sein — eine veraltete iptables-Tabelle ist registriert" msgstr ""
"Die Live-Ansicht kann unvollständig sein — eine veraltete iptables-Tabelle "
"ist registriert"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:332 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:332
msgid "Logging is off on this router" msgid "Logging is off on this router"
msgstr "Protokollierung ist auf diesem Router deaktiviert" msgstr "Protokollierung ist auf diesem Router deaktiviert"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1383
msgid "Manual" msgid "Manual"
msgstr "Manuell" msgstr "Manuell"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2194 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2251
msgid "Manual still uses server protection and poll cadence" msgid "Manual still uses server protection and poll cadence"
msgstr "Manuell nutzt weiterhin Serverschutz und Abfrageintervall" msgstr "Manuell nutzt weiterhin Serverschutz und Abfrageintervall"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2320
msgid "" msgid ""
"Manual still uses server protection and poll cadence; it changes the fetch " "Manual still uses server protection and poll cadence; it changes the fetch "
"budget, not the polling interval." "budget, not the polling interval."
@@ -455,18 +459,18 @@ msgstr ""
msgid "Manual test (System → Terminal):" msgid "Manual test (System → Terminal):"
msgstr "Manueller Test (System → Terminal):" msgstr "Manueller Test (System → Terminal):"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2188 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2245
msgid "Maximum raw lines" msgid "Maximum raw lines"
msgstr "Maximale Rohzeilen" msgstr "Maximale Rohzeilen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2417 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2474
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2424 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2481
msgid "Message" msgid "Message"
msgstr "Nachricht" msgstr "Nachricht"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2584
msgid "More filters" msgid "More filters"
msgstr "Weitere Filter" msgstr "Weitere Filter"
@@ -485,8 +489,8 @@ msgstr ""
msgid "No WAN zone found" msgid "No WAN zone found"
msgstr "Keine WAN-Zone gefunden" msgstr "Keine WAN-Zone gefunden"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:816 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:835
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:866
msgid "No WAN zone found; cannot toggle logging without one." msgid "No WAN zone found; cannot toggle logging without one."
msgstr "" msgstr ""
"Keine WAN-Zone gefunden; Protokollierung kann ohne eine solche nicht " "Keine WAN-Zone gefunden; Protokollierung kann ohne eine solche nicht "
@@ -504,7 +508,7 @@ msgstr "Nichts ändert sich, bis Sie auf Aktivieren klicken."
msgid "OUT" msgid "OUT"
msgstr "AUSGANG" msgstr "AUSGANG"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2447 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2504
msgid "One line" msgid "One line"
msgstr "Einzeilig" msgstr "Einzeilig"
@@ -512,7 +516,7 @@ msgstr "Einzeilig"
msgid "Open firewall zone settings" msgid "Open firewall zone settings"
msgstr "Firewall-Zonen-Einstellungen öffnen" msgstr "Firewall-Zonen-Einstellungen öffnen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:336
msgid "" msgid ""
"OpenWrt does not write firewall events to the log until you turn logging on. " "OpenWrt does not write firewall events to the log until you turn logging on. "
"Live View only shows what the firewall already logs — it does not add allow/" "Live View only shows what the firewall already logs — it does not add allow/"
@@ -526,29 +530,29 @@ msgstr ""
msgid "Outbound" msgid "Outbound"
msgstr "Ausgehend" msgstr "Ausgehend"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2215 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272
msgid "Palette" msgid "Palette"
msgstr "Palette" msgstr "Palette"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2428
msgid "Pause" msgid "Pause"
msgstr "Pause" msgstr "Pause"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
msgid "Paused" msgid "Paused"
msgstr "Pausiert" msgstr "Pausiert"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:344 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:355
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:41 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:41
msgid "Proto" msgid "Proto"
msgstr "Protokoll" msgstr "Protokoll"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2508 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2565
msgid "Protocol — common values" msgid "Protocol — common values"
msgstr "Protokoll — häufige Werte" msgstr "Protokoll — häufige Werte"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2487 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2544
msgid "Quick search" msgid "Quick search"
msgstr "Schnellsuche" msgstr "Schnellsuche"
@@ -556,15 +560,15 @@ msgstr "Schnellsuche"
msgid "Remove filter" msgid "Remove filter"
msgstr "Filter entfernen" msgstr "Filter entfernen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
msgid "Resume" msgid "Resume"
msgstr "Fortsetzen" msgstr "Fortsetzen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2205 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262
msgid "Row tint" msgid "Row tint"
msgstr "Zeileneinfärbung" msgstr "Zeileneinfärbung"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2356
msgid "" msgid ""
"Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/" "Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/"
"red, default) or Accessible (teal/orange). Action text stays colored either " "red, default) or Accessible (teal/orange). Action text stays colored either "
@@ -574,7 +578,7 @@ msgstr ""
"Klassisch (grün/rot, Standard) oder Barrierefrei (teal/orange). Aktionstext " "Klassisch (grün/rot, Standard) oder Barrierefrei (teal/orange). Aktionstext "
"bleibt in beiden Fällen farbig." "bleibt in beiden Fällen farbig."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2354 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2412
msgid "" msgid ""
"Row tint used a local color fallback because the active LuCI theme did not " "Row tint used a local color fallback because the active LuCI theme did not "
"apply pass/deny backgrounds." "apply pass/deny backgrounds."
@@ -586,15 +590,15 @@ msgstr ""
msgid "Rule" msgid "Rule"
msgstr "Regel" msgstr "Regel"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:712 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:725
msgid "Rule labels incomplete — map truncated" msgid "Rule labels incomplete — map truncated"
msgstr "Regel-Labels unvollständig — Zuordnung abgeschnitten" msgstr "Regel-Labels unvollständig — Zuordnung abgeschnitten"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:715 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:728
msgid "Rule labels unavailable" msgid "Rule labels unavailable"
msgstr "Regel-Labels nicht verfügbar" msgstr "Regel-Labels nicht verfügbar"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:714 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:727
msgid "Rule labels unavailable — temp file failed" msgid "Rule labels unavailable — temp file failed"
msgstr "Regel-Labels nicht verfügbar — temporäre Datei fehlgeschlagen" msgstr "Regel-Labels nicht verfügbar — temporäre Datei fehlgeschlagen"
@@ -602,81 +606,81 @@ msgstr "Regel-Labels nicht verfügbar — temporäre Datei fehlgeschlagen"
msgid "SPort" msgid "SPort"
msgstr "Quell-Port" msgstr "Quell-Port"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:341 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:352
msgid "Search" msgid "Search"
msgstr "Suche" msgstr "Suche"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1303 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351
msgid "Server adaptive protection is disabled." msgid "Server adaptive protection is disabled."
msgstr "Adaptiver Serverschutz ist deaktiviert." msgstr "Adaptiver Serverschutz ist deaktiviert."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1301 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1349
msgid "Server protection state is unknown." msgid "Server protection state is unknown."
msgstr "Serverschutz-Status unbekannt." msgstr "Serverschutz-Status unbekannt."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1308 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1356
msgid "Server shedding — at most %d log lines per poll." msgid "Server shedding — at most %d log lines per poll."
msgstr "Server reduziert — höchstens %d Protokollzeilen pro Abfrage." msgstr "Server reduziert — höchstens %d Protokollzeilen pro Abfrage."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1310 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1358
msgid "Server truncated this poll (adaptive cap)." msgid "Server truncated this poll (adaptive cap)."
msgstr "Server hat diese Abfrage gekürzt (adaptives Limit)." msgstr "Server hat diese Abfrage gekürzt (adaptives Limit)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2232 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2289
msgid "Show hostnames" msgid "Show hostnames"
msgstr "Hostnamen anzeigen" msgstr "Hostnamen anzeigen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2203 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2260
msgid "Show pass/deny row background colors" msgid "Show pass/deny row background colors"
msgstr "Pass/Deny-Zeilenhintergrundfarben anzeigen" msgstr "Pass/Deny-Zeilenhintergrundfarben anzeigen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2470 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527
msgid "Show rows" msgid "Show rows"
msgstr "Zeilen anzeigen" msgstr "Zeilen anzeigen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1369 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1417
msgid "Showing a compact summary of the top of the shown sample." msgid "Showing a compact summary of the top of the shown sample."
msgstr "Eine kompakte Zusammenfassung des Anfangs der angezeigten Stichprobe." msgstr "Eine kompakte Zusammenfassung des Anfangs der angezeigten Stichprobe."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2394 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2451
msgid "Simple" msgid "Simple"
msgstr "Einfach" msgstr "Einfach"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:345 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:356
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:42 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:42
msgid "Source" msgid "Source"
msgstr "Quelle" msgstr "Quelle"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2537 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2594
msgid "Source IP contains (! to exclude)" msgid "Source IP contains (! to exclude)"
msgstr "Quell-IP enthält (! zum Ausschließen)" msgstr "Quell-IP enthält (! zum Ausschließen)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:347 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:358
msgid "Source port" msgid "Source port"
msgstr "Quell-Port" msgstr "Quell-Port"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2542 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2599
msgid "Source port (! to exclude)" msgid "Source port (! to exclude)"
msgstr "Quell-Port (! zum Ausschließen)" msgstr "Quell-Port (! zum Ausschließen)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1419
msgid "Summary data is unavailable; show rows to inspect the sample." msgid "Summary data is unavailable; show rows to inspect the sample."
msgstr "" msgstr ""
"Zusammenfassungsdaten nicht verfügbar; Zeilen anzeigen, um die Stichprobe zu " "Zusammenfassungsdaten nicht verfügbar; Zeilen anzeigen, um die Stichprobe zu "
"prüfen." "prüfen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2461 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2518
msgid "Summary mode" msgid "Summary mode"
msgstr "Zusammenfassungsmodus" msgstr "Zusammenfassungsmodus"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1373 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1421
msgid "Summary was bounded before all categories could be included." msgid "Summary was bounded before all categories could be included."
msgstr "" msgstr ""
"Die Zusammenfassung wurde begrenzt, bevor alle Kategorien aufgenommen werden " "Die Zusammenfassung wurde begrenzt, bevor alle Kategorien aufgenommen werden "
"konnten." "konnten."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2330
msgid "" msgid ""
"Switching tabs pauses polling; returning performs one catch-up poll. " "Switching tabs pauses polling; returning performs one catch-up poll. "
"Hostnames are off by default because lookups add work." "Hostnames are off by default because lookups add work."
@@ -685,14 +689,14 @@ msgstr ""
"eine einmalige Aufholabfrage. Hostnamen sind standardmäßig deaktiviert, da " "eine einmalige Aufholabfrage. Hostnamen sind standardmäßig deaktiviert, da "
"Auflösungen zusätzliche Arbeit verursachen." "Auflösungen zusätzliche Arbeit verursachen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:822 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:841
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:870
msgid "The firewall did not reload; saved and live logging may differ." msgid "The firewall did not reload; saved and live logging may differ."
msgstr "" msgstr ""
"Die Firewall wurde nicht neu geladen; gespeicherte und aktive " "Die Firewall wurde nicht neu geladen; gespeicherte und aktive "
"Protokollierung können voneinander abweichen." "Protokollierung können voneinander abweichen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2340
msgid "" msgid ""
"The rate shown for WAN logging is the firewall zone log_limit. OpenWrt " "The rate shown for WAN logging is the firewall zone log_limit. OpenWrt "
"defaults to 10/minute when no explicit limit is configured; fwlive does not " "defaults to 10/minute when no explicit limit is configured; fwlive does not "
@@ -702,7 +706,7 @@ msgstr ""
"Standard ist 10/Minute ohne explizites Limit; fwlive setzt diese Grenze " "Standard ist 10/Minute ohne explizites Limit; fwlive setzt diese Grenze "
"nicht." "nicht."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2277 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2335
msgid "" msgid ""
"The router log ring may evict older events before fwlive reads them. fwlive " "The router log ring may evict older events before fwlive reads them. fwlive "
"cannot recover evicted entries or change forwarding behavior." "cannot recover evicted entries or change forwarding behavior."
@@ -711,7 +715,7 @@ msgstr ""
"fwlive sie liest. fwlive kann verdrängte Einträge nicht wiederherstellen und " "fwlive sie liest. fwlive kann verdrängte Einträge nicht wiederherstellen und "
"ändert das Weiterleitungsverhalten nicht." "ändert das Weiterleitungsverhalten nicht."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2244 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302
msgid "" msgid ""
"The table updates automatically when your firewall logs traffic. Use Pause " "The table updates automatically when your firewall logs traffic. Use Pause "
"if it moves too fast." "if it moves too fast."
@@ -719,7 +723,7 @@ msgstr ""
"Die Tabelle aktualisiert sich automatisch, wenn Ihre Firewall Verkehr " "Die Tabelle aktualisiert sich automatisch, wenn Ihre Firewall Verkehr "
"protokolliert. Pause nutzen, wenn es zu schnell wird." "protokolliert. Pause nutzen, wenn es zu schnell wird."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2358 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2415
msgid "Theme tint fallback" msgid "Theme tint fallback"
msgstr "Theme-Farb-Fallback" msgstr "Theme-Farb-Fallback"
@@ -738,15 +742,15 @@ msgstr ""
msgid "Time" msgid "Time"
msgstr "Zeit" msgstr "Zeit"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1378 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1426
msgid "Top drops" msgid "Top drops"
msgstr "Häufigste Drops" msgstr "Häufigste Drops"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1381 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1429
msgid "Top rules" msgid "Top rules"
msgstr "Häufigste Regeln" msgstr "Häufigste Regeln"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1375 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1423
msgid "Top talkers" msgid "Top talkers"
msgstr "Häufigste Absender" msgstr "Häufigste Absender"
@@ -756,7 +760,7 @@ msgstr ""
"Über das WAN-Protokollierungs-Steuerelement in der Beobachtungsleiste wieder " "Über das WAN-Protokollierungs-Steuerelement in der Beobachtungsleiste wieder "
"deaktivieren." "deaktivieren."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:349 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:350
msgid "" msgid ""
"Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → " "Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → "
"Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal " "Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal "
@@ -776,21 +780,21 @@ msgstr ""
msgid "Undo:" msgid "Undo:"
msgstr "Rückgängig:" msgstr "Rückgängig:"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2359
msgid "Use Detail for all columns (flags, length, raw message)." msgid "Use Detail for all columns (flags, length, raw message)."
msgstr "" msgstr ""
"Verwenden Sie „Detail“ für alle Spalten (Flags, Länge, rohe Nachricht)." "Verwenden Sie „Detail“ für alle Spalten (Flags, Länge, rohe Nachricht)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2376 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2433
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2382 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2439
msgid "View" msgid "View"
msgstr "Ansicht" msgstr "Ansicht"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:854 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:873
msgid "WAN drop/reject logging is off." msgid "WAN drop/reject logging is off."
msgstr "WAN-Drop/Reject-Protokollierung ist aus." msgstr "WAN-Drop/Reject-Protokollierung ist aus."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:316 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:317
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound WAN traffic will show up " "WAN drop/reject logging is on. Blocked inbound WAN traffic will show up "
"here. Normal LAN browsing will not." "here. Normal LAN browsing will not."
@@ -798,7 +802,7 @@ msgstr ""
"WAN-Drop/Reject-Protokollierung ist an. Blockierter eingehender WAN-Verkehr " "WAN-Drop/Reject-Protokollierung ist an. Blockierter eingehender WAN-Verkehr "
"erscheint hier. Normales LAN-Surfen nicht." "erscheint hier. Normales LAN-Surfen nicht."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:827 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound traffic should appear here as " "WAN drop/reject logging is on. Blocked inbound traffic should appear here as "
"it happens — not normal LAN browsing." "it happens — not normal LAN browsing."
@@ -806,7 +810,7 @@ msgstr ""
"WAN-Drop/Reject-Protokollierung ist an. Blockierter eingehender Verkehr " "WAN-Drop/Reject-Protokollierung ist an. Blockierter eingehender Verkehr "
"sollte hier in Echtzeit erscheinen — nicht normales LAN-Surfen." "sollte hier in Echtzeit erscheinen — nicht normales LAN-Surfen."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:830 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849
msgid "WAN logging is already enabled." msgid "WAN logging is already enabled."
msgstr "WAN-Protokollierung ist bereits aktiviert." msgstr "WAN-Protokollierung ist bereits aktiviert."
@@ -835,25 +839,25 @@ msgstr "WAN-Protokollierung nicht verfügbar: keine WAN-Zone"
msgid "Waiting for firewall events" msgid "Waiting for firewall events"
msgstr "Warte auf Firewall-Ereignisse" msgstr "Warte auf Firewall-Ereignisse"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2403
msgid "Watching" msgid "Watching"
msgstr "Beobachtet" msgstr "Beobachtet"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2436 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493
msgid "Wrap" msgid "Wrap"
msgstr "Umbrechen" msgstr "Umbrechen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2492 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2549
msgid "block" msgid "block"
msgstr "blockiert" msgstr "blockiert"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1122 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1171
msgid "buffer filling" msgid "buffer filling"
msgstr "Puffer füllt sich" msgstr "Puffer füllt sich"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1126 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1175
msgid "buffer full" msgid "buffer full"
msgstr "Puffer voll" msgstr "Puffer voll"
@@ -866,7 +870,7 @@ msgid "does not contain"
msgstr "enthält nicht" msgstr "enthält nicht"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2550
msgid "drop" msgid "drop"
msgstr "verworfen" msgstr "verworfen"
@@ -874,16 +878,16 @@ msgstr "verworfen"
msgid "is" msgid "is"
msgstr "ist" msgstr "ist"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1121 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1170
msgid "loading buffer" msgid "loading buffer"
msgstr "Lade Puffer" msgstr "Lade Puffer"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1546
msgid "loading…" msgid "loading…"
msgstr "lädt…" msgstr "lädt…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1399
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1408
msgid "none" msgid "none"
msgstr "keine" msgstr "keine"
@@ -891,98 +895,98 @@ msgstr "keine"
msgid "not" msgid "not"
msgstr "nicht" msgstr "nicht"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1706 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1757
msgid "not AH" msgid "not AH"
msgstr "nicht AH" msgstr "nicht AH"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1705 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1756
msgid "not ESP" msgid "not ESP"
msgstr "nicht ESP" msgstr "nicht ESP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1704 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1755
msgid "not GRE" msgid "not GRE"
msgstr "nicht GRE" msgstr "nicht GRE"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1701 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1752
msgid "not ICMP" msgid "not ICMP"
msgstr "nicht ICMP" msgstr "nicht ICMP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1702 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1753
msgid "not ICMPv6" msgid "not ICMPv6"
msgstr "nicht ICMPv6" msgstr "nicht ICMPv6"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1703 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1754
msgid "not IGMP" msgid "not IGMP"
msgstr "nicht IGMP" msgstr "nicht IGMP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1707 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1758
msgid "not SCTP" msgid "not SCTP"
msgstr "nicht SCTP" msgstr "nicht SCTP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1699 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1750
msgid "not TCP" msgid "not TCP"
msgstr "nicht TCP" msgstr "nicht TCP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1700 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1751
msgid "not UDP" msgid "not UDP"
msgstr "nicht UDP" msgstr "nicht UDP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2555
msgid "not block" msgid "not block"
msgstr "nicht blockieren" msgstr "nicht blockieren"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2497 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2554
msgid "not drop" msgid "not drop"
msgstr "nicht verwerfen" msgstr "nicht verwerfen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2496 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2553
msgid "not pass" msgid "not pass"
msgstr "nicht erlauben" msgstr "nicht erlauben"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2499 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2556
msgid "not reject" msgid "not reject"
msgstr "nicht zurückweisen" msgstr "nicht zurückweisen"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2557
msgid "not unknown" msgid "not unknown"
msgstr "nicht unbekannt" msgstr "nicht unbekannt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2515 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2572
msgid "or type…" msgid "or type…"
msgstr "oder tippen…" msgstr "oder tippen…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2491 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2548
msgid "pass" msgid "pass"
msgstr "erlaubt" msgstr "erlaubt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2494 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2551
msgid "reject" msgid "reject"
msgstr "abgelehnt" msgstr "abgelehnt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1177
msgid "render paused (high rate)" msgid "render paused (high rate)"
msgstr "Rendering pausiert (hohe Rate)" msgstr "Rendering pausiert (hohe Rate)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1138 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1186
msgid "resolve paused (load)" msgid "resolve paused (load)"
msgstr "Auflösung pausiert (Last)" msgstr "Auflösung pausiert (Last)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1140 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1188
msgid "scroll frozen — scroll to top to follow live" msgid "scroll frozen — scroll to top to follow live"
msgstr "Scrollen eingefroren — nach oben scrollen für Live-Ansicht" msgstr "Scrollen eingefroren — nach oben scrollen für Live-Ansicht"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1136 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1185
msgid "truncated" msgid "truncated"
msgstr "gekürzt" msgstr "gekürzt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2495 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552
msgid "unknown" msgid "unknown"
msgstr "unbekannt" msgstr "unbekannt"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:697 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:709
msgid "using fw4" msgid "using fw4"
msgstr "mit fw4" msgstr "mit fw4"
+169 -165
View File
@@ -13,15 +13,15 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1548
msgid "%d matching · %d/%d stored" msgid "%d matching · %d/%d stored"
msgstr "%d совпад. · сохранено %d/%d" msgstr "%d совпад. · сохранено %d/%d"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1341
msgid "%s · requested up to %d raw lines · %d firewall messages returned" msgid "%s · requested up to %d raw lines · %d firewall messages returned"
msgstr "%s · запрошено до %d сырых строк · возвращено %d сообщений firewall" msgstr "%s · запрошено до %d сырых строк · возвращено %d сообщений firewall"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1331
msgid "" msgid ""
"%s · requested up to %d raw lines · server limited fetch to %d · %d firewall " "%s · requested up to %d raw lines · server limited fetch to %d · %d firewall "
"messages returned" "messages returned"
@@ -29,28 +29,28 @@ msgstr ""
"%s · запрошено до %d сырых строк · сервер ограничил выборку до %d · " "%s · запрошено до %d сырых строк · сервер ограничил выборку до %d · "
"возвращено %d сообщений firewall" "возвращено %d сообщений firewall"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:482 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:493
msgid "%s: %s" msgid "%s: %s"
msgstr "%s: %s" msgstr "%s: %s"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1502 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1550
msgid "0 matching · %d/%d stored" msgid "0 matching · %d/%d stored"
msgstr "0 совпад. · сохранено %d/%d" msgstr "0 совпад. · сохранено %d/%d"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:432 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:440
msgid "Accessible (teal/orange)" msgid "Accessible (teal/orange)"
msgstr "Доступный (бирюзовый/оранжевый)" msgstr "Доступный (бирюзовый/оранжевый)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:342 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:353
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:35 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:35
msgid "Action" msgid "Action"
msgstr "Действие" msgstr "Действие"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:855 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:874
msgid "Administrator access is required to disable logging." msgid "Administrator access is required to disable logging."
msgstr "Для отключения журналирования требуются права администратора." msgstr "Для отключения журналирования требуются права администратора."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851
msgid "Administrator access is required to enable logging." msgid "Administrator access is required to enable logging."
msgstr "Для включения журналирования требуются права администратора." msgstr "Для включения журналирования требуются права администратора."
@@ -58,27 +58,27 @@ msgstr "Для включения журналирования требуютс
msgid "Allow/deny rules, LAN logging, or anything else." msgid "Allow/deny rules, LAN logging, or anything else."
msgstr "Правила allow/deny, журналирование LAN и любые другие настройки." msgstr "Правила allow/deny, журналирование LAN и любые другие настройки."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1691 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1742
msgid "Also seen" msgid "Also seen"
msgstr "Также встречаются" msgstr "Также встречаются"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:812 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:843 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:863
msgid "Another change is staged for the firewall; apply or revert it first." msgid "Another change is staged for the firewall; apply or revert it first."
msgstr "" msgstr ""
"В брандмауэре уже есть другое незафиксированное изменение; сначала примените " "В брандмауэре уже есть другое незафиксированное изменение; сначала примените "
"или отмените его." "или отмените его."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2490 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547
msgid "Any action" msgid "Any action"
msgstr "Любое действие" msgstr "Любое действие"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1684 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1735
msgid "Any protocol" msgid "Any protocol"
msgstr "Любой протокол" msgstr "Любой протокол"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1334 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1382
msgid "Auto" msgid "Auto"
msgstr "Авто" msgstr "Авто"
@@ -86,7 +86,7 @@ msgstr "Авто"
msgid "Before you enable logging" msgid "Before you enable logging"
msgstr "Перед включением журналирования" msgstr "Перед включением журналирования"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:810 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:829
msgid "Cannot enable logging until kernel log modules are installed." msgid "Cannot enable logging until kernel log modules are installed."
msgstr "" msgstr ""
"Невозможно включить журналирование, пока не установлены модули журнала ядра." "Невозможно включить журналирование, пока не установлены модули журнала ядра."
@@ -95,11 +95,11 @@ msgstr ""
msgid "Changes:" msgid "Changes:"
msgstr "Изменения:" msgstr "Изменения:"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:431 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:439
msgid "Classic (green/red)" msgid "Classic (green/red)"
msgstr "Классический (зелёный/красный)" msgstr "Классический (зелёный/красный)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2221 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2278
msgid "Classic uses green/red; Accessible uses teal/orange" msgid "Classic uses green/red; Accessible uses teal/orange"
msgstr "Классический — зелёный/красный; доступный — бирюзовый/оранжевый" msgstr "Классический — зелёный/красный; доступный — бирюзовый/оранжевый"
@@ -107,7 +107,7 @@ msgstr "Классический — зелёный/красный; доступ
msgid "Clear all" msgid "Clear all"
msgstr "Очистить всё" msgstr "Очистить всё"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2561 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2619
msgid "" msgid ""
"Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for " "Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for "
"firewall settings · in Simple view, click a row for the full message" "firewall settings · in Simple view, click a row for the full message"
@@ -116,7 +116,7 @@ msgstr ""
"правилу для настроек МЭ · в Простом виде щёлкните строку для полного " "правилу для настроек МЭ · в Простом виде щёлкните строку для полного "
"сообщения" "сообщения"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2288 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346
msgid "" msgid ""
"Click a row (Time or other non-link cells) to see the full log line (Simple " "Click a row (Time or other non-link cells) to see the full log line (Simple "
"view)." "view)."
@@ -128,7 +128,7 @@ msgstr ""
msgid "Click a row for the full message" msgid "Click a row for the full message"
msgstr "Щёлкните строку для полного сообщения" msgstr "Щёлкните строку для полного сообщения"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2351
msgid "" msgid ""
"Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a " "Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a "
"chip) to exclude." "chip) to exclude."
@@ -136,40 +136,42 @@ msgstr ""
"Щёлкните по IP, действию или протоколу для фильтрации; для исключения " "Щёлкните по IP, действию или протоколу для фильтрации; для исключения "
"используйте меню «Протокол» (или ≠ на чипе)." "используйте меню «Протокол» (или ≠ на чипе)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1685 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1736
msgid "Common" msgid "Common"
msgstr "Частые" msgstr "Частые"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1567
msgid "Connection lost — retrying…" msgid "Connection lost — retrying…"
msgstr "Соединение потеряно — повторная попытка…" msgstr "Соединение потеряно — повторная попытка…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:818 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:837
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:868
msgid "Could not acquire the logging lock." msgid "Could not acquire the logging lock."
msgstr "Не удалось получить блокировку журналирования." msgstr "Не удалось получить блокировку журналирования."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:852 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:871
msgid "Could not disable logging." msgid "Could not disable logging."
msgstr "Не удалось отключить журналирование." msgstr "Не удалось отключить журналирование."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:823 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:842
msgid "Could not enable logging." msgid "Could not enable logging."
msgstr "Не удалось включить журналирование." msgstr "Не удалось включить журналирование."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:753 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:769
msgid "Could not load logging status." msgid "Could not load logging status."
msgstr "Не удалось загрузить состояние журналирования." msgstr "Не удалось загрузить состояние журналирования."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:752 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:768
msgid "Could not refresh logging status; showing the last known state." msgid "Could not refresh logging status; showing the last known state."
msgstr "Не удалось обновить состояние журналирования; показан последний известный статус." msgstr ""
"Не удалось обновить состояние журналирования; показан последний известный "
"статус."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:820 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:839
msgid "Could not snapshot the current logging state." msgid "Could not snapshot the current logging state."
msgstr "Не удалось сохранить снимок текущего состояния журналирования." msgstr "Не удалось сохранить снимок текущего состояния журналирования."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2574
msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set." msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set."
msgstr "Свой протокол (! для исключения). Переопределяет меню, если задан." msgstr "Свой протокол (! для исключения). Переопределяет меню, если задан."
@@ -177,32 +179,32 @@ msgstr "Свой протокол (! для исключения). Переоп
msgid "DPort" msgid "DPort"
msgstr "Порт назн." msgstr "Порт назн."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1135 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1184
msgid "Degraded — sampling" msgid "Degraded — sampling"
msgstr "Упрощённый режим — выборка" msgstr "Упрощённый режим — выборка"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1305 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1353
msgid "Degraded — sampling (slow poll RTT; cadence reduced)." msgid "Degraded — sampling (slow poll RTT; cadence reduced)."
msgstr "Упрощённый режим — выборка (медленный RTT опроса; интервал увеличен)." msgstr "Упрощённый режим — выборка (медленный RTT опроса; интервал увеличен)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:357
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:43 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:43
msgid "Destination" msgid "Destination"
msgstr "Назначение" msgstr "Назначение"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2604
msgid "Destination IP contains (! to exclude)" msgid "Destination IP contains (! to exclude)"
msgstr "IP назначения содержит (! для исключения)" msgstr "IP назначения содержит (! для исключения)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:348 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:359
msgid "Destination port" msgid "Destination port"
msgstr "Порт назначения" msgstr "Порт назначения"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2609
msgid "Destination port (! to exclude)" msgid "Destination port (! to exclude)"
msgstr "Порт назначения (! для исключения)" msgstr "Порт назначения (! для исключения)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2405 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2462
msgid "Detail" msgid "Detail"
msgstr "Подробно" msgstr "Подробно"
@@ -214,15 +216,15 @@ msgstr "Напр."
msgid "Disabling…" msgid "Disabling…"
msgstr "Отключение…" msgstr "Отключение…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1131 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1180
msgid "Display limited to %d rows on this device" msgid "Display limited to %d rows on this device"
msgstr "На этом устройстве отображение ограничено %d строками" msgstr "На этом устройстве отображение ограничено %d строками"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2162 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2219
msgid "Display options" msgid "Display options"
msgstr "Параметры отображения" msgstr "Параметры отображения"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2254 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2311
msgid "Display options on the bar set Limit, row tint, palette, and hostnames." msgid "Display options on the bar set Limit, row tint, palette, and hostnames."
msgstr "" msgstr ""
"Параметры отображения на панели задают лимит, окраску строк, палитру и имена " "Параметры отображения на панели задают лимит, окраску строк, палитру и имена "
@@ -250,7 +252,7 @@ msgstr ""
msgid "Enable logging" msgid "Enable logging"
msgstr "Включить журнал" msgstr "Включить журнал"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2249 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2307
msgid "" msgid ""
"Enable logging turns on WAN zone drop/reject logging only (same as Network → " "Enable logging turns on WAN zone drop/reject logging only (same as Network → "
"Firewall). It does not add rules or log normal LAN browsing." "Firewall). It does not add rules or log normal LAN browsing."
@@ -264,7 +266,7 @@ msgstr ""
msgid "Enabling…" msgid "Enabling…"
msgstr "Включение…" msgstr "Включение…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1698 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1749
msgid "Exclude" msgid "Exclude"
msgstr "Исключить" msgstr "Исключить"
@@ -272,17 +274,17 @@ msgstr "Исключить"
msgid "Exclude instead" msgid "Exclude instead"
msgstr "Исключить вместо этого" msgstr "Исключить вместо этого"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2176 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2233
msgid "Fetch budget" msgid "Fetch budget"
msgstr "Бюджет выборки" msgstr "Бюджет выборки"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2257 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2315
msgid "" msgid ""
"Fetch budget controls raw log lines per poll. Auto derives from Limit; " "Fetch budget controls raw log lines per poll. Auto derives from Limit; "
"Manual selects a bounded maximum." "Manual selects a bounded maximum."
msgstr "" msgstr ""
"Бюджет выборки задаёт число сырых строк журнала за опрос. «Авто» выводится из " "Бюджет выборки задаёт число сырых строк журнала за опрос. «Авто» выводится "
"лимита; «Вручную» задаёт ограниченный максимум." "из лимита; «Вручную» задаёт ограниченный максимум."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:63 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:63
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:91 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:91
@@ -290,13 +292,13 @@ msgstr ""
msgid "Filter by %s" msgid "Filter by %s"
msgstr "Фильтр по %s" msgstr "Фильтр по %s"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:129
msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings." msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings."
msgstr "" msgstr ""
"Фильтр журналов по правилу (подсказка: %s). Ctrl+клик открывает настройки " "Фильтр журналов по правилу (подсказка: %s). Ctrl+клик открывает настройки "
"файрвола." "файрвола."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2332 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2389
#: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3 #: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3
msgid "Firewall Live View" msgid "Firewall Live View"
msgstr "Просмотр файрвола в реальном времени" msgstr "Просмотр файрвола в реальном времени"
@@ -309,7 +311,7 @@ msgstr "Флаги"
msgid "Flow" msgid "Flow"
msgstr "Поток" msgstr "Поток"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2267 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2325
msgid "" msgid ""
"For a responsive table on a weak device, keep Limit at 250 rows or below. " "For a responsive table on a weak device, keep Limit at 250 rows or below. "
"The weak-device cap affects rendered rows; the buffer can still retain more." "The weak-device cap affects rendered rows; the buffer can still retain more."
@@ -326,15 +328,15 @@ msgstr "Транзитный"
msgid "Grant access to firewall live log view" msgid "Grant access to firewall live log view"
msgstr "Предоставить доступ к живому просмотру журнала межсетевого экрана" msgstr "Предоставить доступ к живому просмотру журнала межсетевого экрана"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2241 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298
msgid "Help" msgid "Help"
msgstr "Справка" msgstr "Справка"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
msgid "Hide rows" msgid "Hide rows"
msgstr "Скрыть строки" msgstr "Скрыть строки"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1467 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516
msgid "" msgid ""
"High event rate — table refresh is throttled to protect the browser. The " "High event rate — table refresh is throttled to protect the browser. The "
"buffer still updates; refresh will resume automatically." "buffer still updates; refresh will resume automatically."
@@ -342,11 +344,11 @@ msgstr ""
"Высокая частота событий — обновление таблицы ограничено для защиты браузера. " "Высокая частота событий — обновление таблицы ограничено для защиты браузера. "
"Буфер продолжает обновляться; отображение возобновится автоматически." "Буфер продолжает обновляться; отображение возобновится автоматически."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1312 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360
msgid "Hostname resolve paused while the router is under load." msgid "Hostname resolve paused while the router is under load."
msgstr "Разрешение имён приостановлено из-за нагрузки на маршрутизатор." msgstr "Разрешение имён приостановлено из-за нагрузки на маршрутизатор."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1689 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1740
msgid "ICMPv6" msgid "ICMPv6"
msgstr "ICMPv6" msgstr "ICMPv6"
@@ -354,7 +356,7 @@ msgstr "ICMPv6"
msgid "IN" msgid "IN"
msgstr "ВХОД" msgstr "ВХОД"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2304 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2362
msgid "" msgid ""
"If Row tint looks missing, the active LuCI theme may omit success/error or " "If Row tint looks missing, the active LuCI theme may omit success/error or "
"info/warn CSS variables; fwlive falls back to local colors (air-gapped, no " "info/warn CSS variables; fwlive falls back to local colors (air-gapped, no "
@@ -364,7 +366,7 @@ msgstr ""
"содержать CSS-переменные success/error или info/warn; fwlive использует " "содержать CSS-переменные success/error или info/warn; fwlive использует "
"локальные цвета (работает автономно, данные не покидают устройство)." "локальные цвета (работает автономно, данные не покидают устройство)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:323 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:324
msgid "" msgid ""
"If the WAN is quiet, wait for probes or use the optional ping check in " "If the WAN is quiet, wait for probes or use the optional ping check in "
"Help / the enabling-logs guide." "Help / the enabling-logs guide."
@@ -380,12 +382,16 @@ msgstr "Входящий"
msgid "Include instead" msgid "Include instead"
msgstr "Включить вместо этого" msgstr "Включить вместо этого"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:343 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1566
msgid "Installation is incomplete. Reinstall luci-app-fwlive."
msgstr "Установка не завершена. Переустановите luci-app-fwlive."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:354
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37
msgid "Interface" msgid "Interface"
msgstr "Интерфейс" msgstr "Интерфейс"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2532 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2589
msgid "Interface (prefix ! to exclude)" msgid "Interface (prefix ! to exclude)"
msgstr "Интерфейс (! в начале для исключения)" msgstr "Интерфейс (! в начале для исключения)"
@@ -398,7 +404,7 @@ msgstr "Я настрою это в разделе Сеть → Межсетев
msgid "Kernel log modules missing" msgid "Kernel log modules missing"
msgstr "Отсутствуют модули журналирования ядра" msgstr "Отсутствуют модули журналирования ядра"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:289 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:290
msgid "" msgid ""
"Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-" "Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-"
"nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall." "nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall."
@@ -411,32 +417,30 @@ msgstr ""
msgid "Len" msgid "Len"
msgstr "Длина" msgstr "Длина"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2165 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2222
msgid "Limit" msgid "Limit"
msgstr "Лимит" msgstr "Лимит"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:721 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:734
msgid "Limited diagnostics — timeout command missing"
msgstr "Ограниченная диагностика — отсутствует команда timeout"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:726
msgid "Live view may be incomplete — a legacy iptables table is registered" msgid "Live view may be incomplete — a legacy iptables table is registered"
msgstr "Живой просмотр может быть неполным — зарегистрирована устаревшая таблица iptables" msgstr ""
"Живой просмотр может быть неполным — зарегистрирована устаревшая таблица "
"iptables"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:332 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:332
msgid "Logging is off on this router" msgid "Logging is off on this router"
msgstr "Журналирование на этом роутере отключено" msgstr "Журналирование на этом роутере отключено"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1383
msgid "Manual" msgid "Manual"
msgstr "Вручную" msgstr "Вручную"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2194 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2251
msgid "Manual still uses server protection and poll cadence" msgid "Manual still uses server protection and poll cadence"
msgstr "«Вручную» по-прежнему использует защиту сервера и частоту опроса" msgstr "«Вручную» по-прежнему использует защиту сервера и частоту опроса"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2320
msgid "" msgid ""
"Manual still uses server protection and poll cadence; it changes the fetch " "Manual still uses server protection and poll cadence; it changes the fetch "
"budget, not the polling interval." "budget, not the polling interval."
@@ -448,18 +452,18 @@ msgstr ""
msgid "Manual test (System → Terminal):" msgid "Manual test (System → Terminal):"
msgstr "Ручной тест (Система → Терминал):" msgstr "Ручной тест (Система → Терминал):"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2188 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2245
msgid "Maximum raw lines" msgid "Maximum raw lines"
msgstr "Максимум сырых строк" msgstr "Максимум сырых строк"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2417 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2474
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2424 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2481
msgid "Message" msgid "Message"
msgstr "Сообщение" msgstr "Сообщение"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2584
msgid "More filters" msgid "More filters"
msgstr "Больше фильтров" msgstr "Больше фильтров"
@@ -478,8 +482,8 @@ msgstr ""
msgid "No WAN zone found" msgid "No WAN zone found"
msgstr "WAN-зона не найдена" msgstr "WAN-зона не найдена"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:816 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:835
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:866
msgid "No WAN zone found; cannot toggle logging without one." msgid "No WAN zone found; cannot toggle logging without one."
msgstr "WAN-зона не найдена; без неё нельзя переключить журналирование." msgstr "WAN-зона не найдена; без неё нельзя переключить журналирование."
@@ -495,7 +499,7 @@ msgstr "Ничего не изменится, пока вы не нажмёте
msgid "OUT" msgid "OUT"
msgstr "ВЫХОД" msgstr "ВЫХОД"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2447 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2504
msgid "One line" msgid "One line"
msgstr "Одна строка" msgstr "Одна строка"
@@ -503,7 +507,7 @@ msgstr "Одна строка"
msgid "Open firewall zone settings" msgid "Open firewall zone settings"
msgstr "Открыть настройки зон файрвола" msgstr "Открыть настройки зон файрвола"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:336
msgid "" msgid ""
"OpenWrt does not write firewall events to the log until you turn logging on. " "OpenWrt does not write firewall events to the log until you turn logging on. "
"Live View only shows what the firewall already logs — it does not add allow/" "Live View only shows what the firewall already logs — it does not add allow/"
@@ -517,29 +521,29 @@ msgstr ""
msgid "Outbound" msgid "Outbound"
msgstr "Исходящий" msgstr "Исходящий"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2215 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272
msgid "Palette" msgid "Palette"
msgstr "Палитра" msgstr "Палитра"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2428
msgid "Pause" msgid "Pause"
msgstr "Пауза" msgstr "Пауза"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
msgid "Paused" msgid "Paused"
msgstr "Пауза" msgstr "Пауза"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:344 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:355
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:41 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:41
msgid "Proto" msgid "Proto"
msgstr "Протокол" msgstr "Протокол"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2508 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2565
msgid "Protocol — common values" msgid "Protocol — common values"
msgstr "Протокол — частые значения" msgstr "Протокол — частые значения"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2487 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2544
msgid "Quick search" msgid "Quick search"
msgstr "Быстрый поиск" msgstr "Быстрый поиск"
@@ -547,15 +551,15 @@ msgstr "Быстрый поиск"
msgid "Remove filter" msgid "Remove filter"
msgstr "Удалить фильтр" msgstr "Удалить фильтр"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
msgid "Resume" msgid "Resume"
msgstr "Продолжить" msgstr "Продолжить"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2205 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262
msgid "Row tint" msgid "Row tint"
msgstr "Цвет строк" msgstr "Цвет строк"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2356
msgid "" msgid ""
"Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/" "Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/"
"red, default) or Accessible (teal/orange). Action text stays colored either " "red, default) or Accessible (teal/orange). Action text stays colored either "
@@ -565,7 +569,7 @@ msgstr ""
"классический (зелёный/красный, по умолчанию) или доступный (бирюзовый/" "классический (зелёный/красный, по умолчанию) или доступный (бирюзовый/"
"оранжевый). Цвет текста действия сохраняется в любом случае." "оранжевый). Цвет текста действия сохраняется в любом случае."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2354 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2412
msgid "" msgid ""
"Row tint used a local color fallback because the active LuCI theme did not " "Row tint used a local color fallback because the active LuCI theme did not "
"apply pass/deny backgrounds." "apply pass/deny backgrounds."
@@ -577,15 +581,15 @@ msgstr ""
msgid "Rule" msgid "Rule"
msgstr "Правило" msgstr "Правило"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:712 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:725
msgid "Rule labels incomplete — map truncated" msgid "Rule labels incomplete — map truncated"
msgstr "Метки правил неполные — таблица обрезана" msgstr "Метки правил неполные — таблица обрезана"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:715 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:728
msgid "Rule labels unavailable" msgid "Rule labels unavailable"
msgstr "Метки правил недоступны" msgstr "Метки правил недоступны"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:714 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:727
msgid "Rule labels unavailable — temp file failed" msgid "Rule labels unavailable — temp file failed"
msgstr "Метки правил недоступны — ошибка временного файла" msgstr "Метки правил недоступны — ошибка временного файла"
@@ -593,77 +597,77 @@ msgstr "Метки правил недоступны — ошибка време
msgid "SPort" msgid "SPort"
msgstr "Порт ист." msgstr "Порт ист."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:341 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:352
msgid "Search" msgid "Search"
msgstr "Поиск" msgstr "Поиск"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1303 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351
msgid "Server adaptive protection is disabled." msgid "Server adaptive protection is disabled."
msgstr "Адаптивная защита сервера отключена." msgstr "Адаптивная защита сервера отключена."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1301 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1349
msgid "Server protection state is unknown." msgid "Server protection state is unknown."
msgstr "Состояние защиты сервера неизвестно." msgstr "Состояние защиты сервера неизвестно."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1308 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1356
msgid "Server shedding — at most %d log lines per poll." msgid "Server shedding — at most %d log lines per poll."
msgstr "Сервер ограничивает выдачу — не более %d строк журнала за опрос." msgstr "Сервер ограничивает выдачу — не более %d строк журнала за опрос."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1310 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1358
msgid "Server truncated this poll (adaptive cap)." msgid "Server truncated this poll (adaptive cap)."
msgstr "Сервер сократил этот опрос (адаптивный предел)." msgstr "Сервер сократил этот опрос (адаптивный предел)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2232 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2289
msgid "Show hostnames" msgid "Show hostnames"
msgstr "Показывать имена узлов" msgstr "Показывать имена узлов"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2203 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2260
msgid "Show pass/deny row background colors" msgid "Show pass/deny row background colors"
msgstr "Показывать цвета фона строк pass/deny" msgstr "Показывать цвета фона строк pass/deny"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2470 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527
msgid "Show rows" msgid "Show rows"
msgstr "Показать строки" msgstr "Показать строки"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1369 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1417
msgid "Showing a compact summary of the top of the shown sample." msgid "Showing a compact summary of the top of the shown sample."
msgstr "Показана краткая сводка верхней части отображаемой выборки." msgstr "Показана краткая сводка верхней части отображаемой выборки."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2394 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2451
msgid "Simple" msgid "Simple"
msgstr "Простой" msgstr "Простой"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:345 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:356
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:42 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:42
msgid "Source" msgid "Source"
msgstr "Источник" msgstr "Источник"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2537 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2594
msgid "Source IP contains (! to exclude)" msgid "Source IP contains (! to exclude)"
msgstr "IP источника содержит (! для исключения)" msgstr "IP источника содержит (! для исключения)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:347 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:358
msgid "Source port" msgid "Source port"
msgstr "Порт источника" msgstr "Порт источника"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2542 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2599
msgid "Source port (! to exclude)" msgid "Source port (! to exclude)"
msgstr "Порт источника (! для исключения)" msgstr "Порт источника (! для исключения)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1419
msgid "Summary data is unavailable; show rows to inspect the sample." msgid "Summary data is unavailable; show rows to inspect the sample."
msgstr "Данные сводки недоступны; покажите строки для проверки выборки." msgstr "Данные сводки недоступны; покажите строки для проверки выборки."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2461 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2518
msgid "Summary mode" msgid "Summary mode"
msgstr "Режим сводки" msgstr "Режим сводки"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1373 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1421
msgid "Summary was bounded before all categories could be included." msgid "Summary was bounded before all categories could be included."
msgstr "Сводка ограничена до включения всех категорий." msgstr "Сводка ограничена до включения всех категорий."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2330
msgid "" msgid ""
"Switching tabs pauses polling; returning performs one catch-up poll. " "Switching tabs pauses polling; returning performs one catch-up poll. "
"Hostnames are off by default because lookups add work." "Hostnames are off by default because lookups add work."
@@ -672,14 +676,14 @@ msgstr ""
"один догоняющий опрос. Имена хостов по умолчанию отключены, поскольку их " "один догоняющий опрос. Имена хостов по умолчанию отключены, поскольку их "
"разрешение создаёт дополнительную нагрузку." "разрешение создаёт дополнительную нагрузку."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:822 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:841
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:870
msgid "The firewall did not reload; saved and live logging may differ." msgid "The firewall did not reload; saved and live logging may differ."
msgstr "" msgstr ""
"Брандмауэр не перезагрузился; сохранённые и активные настройки " "Брандмауэр не перезагрузился; сохранённые и активные настройки "
"журналирования могут различаться." "журналирования могут различаться."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2340
msgid "" msgid ""
"The rate shown for WAN logging is the firewall zone log_limit. OpenWrt " "The rate shown for WAN logging is the firewall zone log_limit. OpenWrt "
"defaults to 10/minute when no explicit limit is configured; fwlive does not " "defaults to 10/minute when no explicit limit is configured; fwlive does not "
@@ -688,7 +692,7 @@ msgstr ""
"Показанная частота WAN-журнала — log_limit зоны. По умолчанию OpenWrt: 10/" "Показанная частота WAN-журнала — log_limit зоны. По умолчанию OpenWrt: 10/"
"мин без явного лимита; fwlive сам лимит не задаёт." "мин без явного лимита; fwlive сам лимит не задаёт."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2277 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2335
msgid "" msgid ""
"The router log ring may evict older events before fwlive reads them. fwlive " "The router log ring may evict older events before fwlive reads them. fwlive "
"cannot recover evicted entries or change forwarding behavior." "cannot recover evicted entries or change forwarding behavior."
@@ -697,7 +701,7 @@ msgstr ""
"fwlive их прочитает. fwlive не может восстановить вытесненные записи и не " "fwlive их прочитает. fwlive не может восстановить вытесненные записи и не "
"изменяет пересылку." "изменяет пересылку."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2244 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302
msgid "" msgid ""
"The table updates automatically when your firewall logs traffic. Use Pause " "The table updates automatically when your firewall logs traffic. Use Pause "
"if it moves too fast." "if it moves too fast."
@@ -705,7 +709,7 @@ msgstr ""
"Таблица обновляется автоматически, когда файрвол пишет в журнал. Используйте " "Таблица обновляется автоматически, когда файрвол пишет в журнал. Используйте "
"Паузу, если слишком быстро." "Паузу, если слишком быстро."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2358 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2415
msgid "Theme tint fallback" msgid "Theme tint fallback"
msgstr "Запасной цвет темы" msgstr "Запасной цвет темы"
@@ -724,15 +728,15 @@ msgstr ""
msgid "Time" msgid "Time"
msgstr "Время" msgstr "Время"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1378 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1426
msgid "Top drops" msgid "Top drops"
msgstr "Частые сбросы" msgstr "Частые сбросы"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1381 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1429
msgid "Top rules" msgid "Top rules"
msgstr "Частые правила" msgstr "Частые правила"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1375 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1423
msgid "Top talkers" msgid "Top talkers"
msgstr "Частые источники" msgstr "Частые источники"
@@ -741,7 +745,7 @@ msgid "Turn it back off with the WAN logging control on the watch strip."
msgstr "" msgstr ""
"Отключите её снова элементом управления журналом WAN на панели наблюдения." "Отключите её снова элементом управления журналом WAN на панели наблюдения."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:349 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:350
msgid "" msgid ""
"Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → " "Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → "
"Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal " "Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal "
@@ -761,21 +765,21 @@ msgstr ""
msgid "Undo:" msgid "Undo:"
msgstr "Отмена:" msgstr "Отмена:"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2359
msgid "Use Detail for all columns (flags, length, raw message)." msgid "Use Detail for all columns (flags, length, raw message)."
msgstr "" msgstr ""
"Используйте «Подробно» для всех столбцов (флаги, длина, исходное сообщение)." "Используйте «Подробно» для всех столбцов (флаги, длина, исходное сообщение)."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2376 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2433
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2382 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2439
msgid "View" msgid "View"
msgstr "Вид" msgstr "Вид"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:854 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:873
msgid "WAN drop/reject logging is off." msgid "WAN drop/reject logging is off."
msgstr "Журналирование drop/reject для WAN отключено." msgstr "Журналирование drop/reject для WAN отключено."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:316 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:317
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound WAN traffic will show up " "WAN drop/reject logging is on. Blocked inbound WAN traffic will show up "
"here. Normal LAN browsing will not." "here. Normal LAN browsing will not."
@@ -783,7 +787,7 @@ msgstr ""
"Журналирование drop/reject для WAN включено. Заблокированный входящий WAN-" "Журналирование drop/reject для WAN включено. Заблокированный входящий WAN-"
"трафик будет отображаться здесь. Обычный LAN-трафик — нет." "трафик будет отображаться здесь. Обычный LAN-трафик — нет."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:827 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound traffic should appear here as " "WAN drop/reject logging is on. Blocked inbound traffic should appear here as "
"it happens — not normal LAN browsing." "it happens — not normal LAN browsing."
@@ -792,7 +796,7 @@ msgstr ""
"должен появляться здесь по мере поступления — обычный LAN-трафик не " "должен появляться здесь по мере поступления — обычный LAN-трафик не "
"отображается." "отображается."
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:830 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849
msgid "WAN logging is already enabled." msgid "WAN logging is already enabled."
msgstr "WAN-журналирование уже включено." msgstr "WAN-журналирование уже включено."
@@ -821,25 +825,25 @@ msgstr "WAN-журналирование недоступно: нет зоны W
msgid "Waiting for firewall events" msgid "Waiting for firewall events"
msgstr "Ожидание событий межсетевого экрана" msgstr "Ожидание событий межсетевого экрана"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2403
msgid "Watching" msgid "Watching"
msgstr "Наблюдение" msgstr "Наблюдение"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2436 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493
msgid "Wrap" msgid "Wrap"
msgstr "Перенос" msgstr "Перенос"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2492 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2549
msgid "block" msgid "block"
msgstr "заблокирован" msgstr "заблокирован"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1122 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1171
msgid "buffer filling" msgid "buffer filling"
msgstr "буфер заполняется" msgstr "буфер заполняется"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1126 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1175
msgid "buffer full" msgid "buffer full"
msgstr "буфер заполнен" msgstr "буфер заполнен"
@@ -852,7 +856,7 @@ msgid "does not contain"
msgstr "не содержит" msgstr "не содержит"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2550
msgid "drop" msgid "drop"
msgstr "отброшен" msgstr "отброшен"
@@ -860,16 +864,16 @@ msgstr "отброшен"
msgid "is" msgid "is"
msgstr "есть" msgstr "есть"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1121 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1170
msgid "loading buffer" msgid "loading buffer"
msgstr "загрузка буфера" msgstr "загрузка буфера"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1546
msgid "loading…" msgid "loading…"
msgstr "загрузка…" msgstr "загрузка…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1399
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1408
msgid "none" msgid "none"
msgstr "нет" msgstr "нет"
@@ -877,99 +881,99 @@ msgstr "нет"
msgid "not" msgid "not"
msgstr "не" msgstr "не"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1706 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1757
msgid "not AH" msgid "not AH"
msgstr "не AH" msgstr "не AH"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1705 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1756
msgid "not ESP" msgid "not ESP"
msgstr "не ESP" msgstr "не ESP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1704 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1755
msgid "not GRE" msgid "not GRE"
msgstr "не GRE" msgstr "не GRE"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1701 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1752
msgid "not ICMP" msgid "not ICMP"
msgstr "не ICMP" msgstr "не ICMP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1702 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1753
msgid "not ICMPv6" msgid "not ICMPv6"
msgstr "не ICMPv6" msgstr "не ICMPv6"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1703 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1754
msgid "not IGMP" msgid "not IGMP"
msgstr "не IGMP" msgstr "не IGMP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1707 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1758
msgid "not SCTP" msgid "not SCTP"
msgstr "не SCTP" msgstr "не SCTP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1699 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1750
msgid "not TCP" msgid "not TCP"
msgstr "не TCP" msgstr "не TCP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1700 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1751
msgid "not UDP" msgid "not UDP"
msgstr "не UDP" msgstr "не UDP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2555
msgid "not block" msgid "not block"
msgstr "не блокировать" msgstr "не блокировать"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2497 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2554
msgid "not drop" msgid "not drop"
msgstr "не отбрасывать" msgstr "не отбрасывать"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2496 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2553
msgid "not pass" msgid "not pass"
msgstr "не пропускать" msgstr "не пропускать"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2499 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2556
msgid "not reject" msgid "not reject"
msgstr "не отклонять" msgstr "не отклонять"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2557
msgid "not unknown" msgid "not unknown"
msgstr "не неизвестно" msgstr "не неизвестно"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2515 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2572
msgid "or type…" msgid "or type…"
msgstr "или введите…" msgstr "или введите…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2491 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2548
msgid "pass" msgid "pass"
msgstr "разрешён" msgstr "разрешён"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2494 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2551
msgid "reject" msgid "reject"
msgstr "отклонён" msgstr "отклонён"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1177
msgid "render paused (high rate)" msgid "render paused (high rate)"
msgstr "рендеринг приостановлен (высокая частота)" msgstr "рендеринг приостановлен (высокая частота)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1138 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1186
msgid "resolve paused (load)" msgid "resolve paused (load)"
msgstr "Разрешение приостановлено (нагрузка)" msgstr "Разрешение приостановлено (нагрузка)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1140 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1188
msgid "scroll frozen — scroll to top to follow live" msgid "scroll frozen — scroll to top to follow live"
msgstr "" msgstr ""
"прокрутка заморожена — прокрутите вверх, чтобы следить в реальном времени" "прокрутка заморожена — прокрутите вверх, чтобы следить в реальном времени"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1136 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1185
msgid "truncated" msgid "truncated"
msgstr "обрезано" msgstr "обрезано"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2495 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552
msgid "unknown" msgid "unknown"
msgstr "неизвестно" msgstr "неизвестно"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:697 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:709
msgid "using fw4" msgid "using fw4"
msgstr "используется fw4" msgstr "используется fw4"
+152 -153
View File
@@ -1,15 +1,15 @@
msgid "" msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8" msgstr "Content-Type: text/plain; charset=UTF-8"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1548
msgid "%d matching · %d/%d stored" msgid "%d matching · %d/%d stored"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1341
msgid "%s · requested up to %d raw lines · %d firewall messages returned" msgid "%s · requested up to %d raw lines · %d firewall messages returned"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1331
msgid "" msgid ""
"%s · requested up to %d raw lines · server limited fetch to %d · %d firewall " "%s · requested up to %d raw lines · server limited fetch to %d · %d firewall "
"messages returned" "messages returned"
@@ -19,11 +19,11 @@ msgstr ""
msgid "%s: %s" msgid "%s: %s"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1502 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1550
msgid "0 matching · %d/%d stored" msgid "0 matching · %d/%d stored"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:432 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:440
msgid "Accessible (teal/orange)" msgid "Accessible (teal/orange)"
msgstr "" msgstr ""
@@ -32,11 +32,11 @@ msgstr ""
msgid "Action" msgid "Action"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:855 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:874
msgid "Administrator access is required to disable logging." msgid "Administrator access is required to disable logging."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851
msgid "Administrator access is required to enable logging." msgid "Administrator access is required to enable logging."
msgstr "" msgstr ""
@@ -44,25 +44,25 @@ msgstr ""
msgid "Allow/deny rules, LAN logging, or anything else." msgid "Allow/deny rules, LAN logging, or anything else."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1691 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1742
msgid "Also seen" msgid "Also seen"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:812 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:843 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:863
msgid "Another change is staged for the firewall; apply or revert it first." msgid "Another change is staged for the firewall; apply or revert it first."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2490 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547
msgid "Any action" msgid "Any action"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1684 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1735
msgid "Any protocol" msgid "Any protocol"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1334 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1382
msgid "Auto" msgid "Auto"
msgstr "" msgstr ""
@@ -70,7 +70,7 @@ msgstr ""
msgid "Before you enable logging" msgid "Before you enable logging"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:810 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:829
msgid "Cannot enable logging until kernel log modules are installed." msgid "Cannot enable logging until kernel log modules are installed."
msgstr "" msgstr ""
@@ -78,11 +78,11 @@ msgstr ""
msgid "Changes:" msgid "Changes:"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:431 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:439
msgid "Classic (green/red)" msgid "Classic (green/red)"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2221 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2278
msgid "Classic uses green/red; Accessible uses teal/orange" msgid "Classic uses green/red; Accessible uses teal/orange"
msgstr "" msgstr ""
@@ -90,13 +90,13 @@ msgstr ""
msgid "Clear all" msgid "Clear all"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2561 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2619
msgid "" msgid ""
"Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for " "Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for "
"firewall settings · in Simple view, click a row for the full message" "firewall settings · in Simple view, click a row for the full message"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2288 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346
msgid "" msgid ""
"Click a row (Time or other non-link cells) to see the full log line (Simple " "Click a row (Time or other non-link cells) to see the full log line (Simple "
"view)." "view)."
@@ -106,46 +106,46 @@ msgstr ""
msgid "Click a row for the full message" msgid "Click a row for the full message"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2351
msgid "" msgid ""
"Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a " "Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a "
"chip) to exclude." "chip) to exclude."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1685 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1736
msgid "Common" msgid "Common"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1567
msgid "Connection lost — retrying…" msgid "Connection lost — retrying…"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:818 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:837
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:868
msgid "Could not acquire the logging lock." msgid "Could not acquire the logging lock."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:852 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:871
msgid "Could not disable logging." msgid "Could not disable logging."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:823 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:842
msgid "Could not enable logging." msgid "Could not enable logging."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:753 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:769
msgid "Could not load logging status." msgid "Could not load logging status."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:752 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:768
msgid "Could not refresh logging status; showing the last known state." msgid "Could not refresh logging status; showing the last known state."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:820 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:839
msgid "Could not snapshot the current logging state." msgid "Could not snapshot the current logging state."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2574
msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set." msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set."
msgstr "" msgstr ""
@@ -153,11 +153,11 @@ msgstr ""
msgid "DPort" msgid "DPort"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1135 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1184
msgid "Degraded — sampling" msgid "Degraded — sampling"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1305 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1353
msgid "Degraded — sampling (slow poll RTT; cadence reduced)." msgid "Degraded — sampling (slow poll RTT; cadence reduced)."
msgstr "" msgstr ""
@@ -166,7 +166,7 @@ msgstr ""
msgid "Destination" msgid "Destination"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2604
msgid "Destination IP contains (! to exclude)" msgid "Destination IP contains (! to exclude)"
msgstr "" msgstr ""
@@ -174,11 +174,11 @@ msgstr ""
msgid "Destination port" msgid "Destination port"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2609
msgid "Destination port (! to exclude)" msgid "Destination port (! to exclude)"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2405 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2462
msgid "Detail" msgid "Detail"
msgstr "" msgstr ""
@@ -190,15 +190,15 @@ msgstr ""
msgid "Disabling…" msgid "Disabling…"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1131 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1180
msgid "Display limited to %d rows on this device" msgid "Display limited to %d rows on this device"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2162 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2219
msgid "Display options" msgid "Display options"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2254 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2311
msgid "Display options on the bar set Limit, row tint, palette, and hostnames." msgid "Display options on the bar set Limit, row tint, palette, and hostnames."
msgstr "" msgstr ""
@@ -222,7 +222,7 @@ msgstr ""
msgid "Enable logging" msgid "Enable logging"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2249 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2307
msgid "" msgid ""
"Enable logging turns on WAN zone drop/reject logging only (same as Network → " "Enable logging turns on WAN zone drop/reject logging only (same as Network → "
"Firewall). It does not add rules or log normal LAN browsing." "Firewall). It does not add rules or log normal LAN browsing."
@@ -233,7 +233,7 @@ msgstr ""
msgid "Enabling…" msgid "Enabling…"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1698 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1749
msgid "Exclude" msgid "Exclude"
msgstr "" msgstr ""
@@ -241,11 +241,11 @@ msgstr ""
msgid "Exclude instead" msgid "Exclude instead"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2176 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2233
msgid "Fetch budget" msgid "Fetch budget"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2257 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2315
msgid "" msgid ""
"Fetch budget controls raw log lines per poll. Auto derives from Limit; " "Fetch budget controls raw log lines per poll. Auto derives from Limit; "
"Manual selects a bounded maximum." "Manual selects a bounded maximum."
@@ -257,11 +257,11 @@ msgstr ""
msgid "Filter by %s" msgid "Filter by %s"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:129
msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings." msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2332 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2389
#: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3 #: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3
msgid "Firewall Live View" msgid "Firewall Live View"
msgstr "" msgstr ""
@@ -274,7 +274,7 @@ msgstr ""
msgid "Flow" msgid "Flow"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2267 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2325
msgid "" msgid ""
"For a responsive table on a weak device, keep Limit at 250 rows or below. " "For a responsive table on a weak device, keep Limit at 250 rows or below. "
"The weak-device cap affects rendered rows; the buffer can still retain more." "The weak-device cap affects rendered rows; the buffer can still retain more."
@@ -288,25 +288,25 @@ msgstr ""
msgid "Grant access to firewall live log view" msgid "Grant access to firewall live log view"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2241 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298
msgid "Help" msgid "Help"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
msgid "Hide rows" msgid "Hide rows"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1467 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516
msgid "" msgid ""
"High event rate — table refresh is throttled to protect the browser. The " "High event rate — table refresh is throttled to protect the browser. The "
"buffer still updates; refresh will resume automatically." "buffer still updates; refresh will resume automatically."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1312 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360
msgid "Hostname resolve paused while the router is under load." msgid "Hostname resolve paused while the router is under load."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1689 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1740
msgid "ICMPv6" msgid "ICMPv6"
msgstr "" msgstr ""
@@ -314,14 +314,14 @@ msgstr ""
msgid "IN" msgid "IN"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2304 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2362
msgid "" msgid ""
"If Row tint looks missing, the active LuCI theme may omit success/error or " "If Row tint looks missing, the active LuCI theme may omit success/error or "
"info/warn CSS variables; fwlive falls back to local colors (air-gapped, no " "info/warn CSS variables; fwlive falls back to local colors (air-gapped, no "
"data leaves the device)." "data leaves the device)."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:323 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:324
msgid "" msgid ""
"If the WAN is quiet, wait for probes or use the optional ping check in " "If the WAN is quiet, wait for probes or use the optional ping check in "
"Help / the enabling-logs guide." "Help / the enabling-logs guide."
@@ -335,12 +335,16 @@ msgstr ""
msgid "Include instead" msgid "Include instead"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1566
msgid "Installation is incomplete. Reinstall luci-app-fwlive."
msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:354 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:354
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37
msgid "Interface" msgid "Interface"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2532 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2589
msgid "Interface (prefix ! to exclude)" msgid "Interface (prefix ! to exclude)"
msgstr "" msgstr ""
@@ -353,7 +357,7 @@ msgstr ""
msgid "Kernel log modules missing" msgid "Kernel log modules missing"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:289 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:290
msgid "" msgid ""
"Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-" "Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-"
"nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall." "nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall."
@@ -363,15 +367,11 @@ msgstr ""
msgid "Len" msgid "Len"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2165 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2222
msgid "Limit" msgid "Limit"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:721 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:734
msgid "Limited diagnostics — timeout command missing"
msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:726
msgid "Live view may be incomplete — a legacy iptables table is registered" msgid "Live view may be incomplete — a legacy iptables table is registered"
msgstr "" msgstr ""
@@ -379,16 +379,16 @@ msgstr ""
msgid "Logging is off on this router" msgid "Logging is off on this router"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1383
msgid "Manual" msgid "Manual"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2194 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2251
msgid "Manual still uses server protection and poll cadence" msgid "Manual still uses server protection and poll cadence"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2320
msgid "" msgid ""
"Manual still uses server protection and poll cadence; it changes the fetch " "Manual still uses server protection and poll cadence; it changes the fetch "
"budget, not the polling interval." "budget, not the polling interval."
@@ -398,18 +398,18 @@ msgstr ""
msgid "Manual test (System → Terminal):" msgid "Manual test (System → Terminal):"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2188 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2245
msgid "Maximum raw lines" msgid "Maximum raw lines"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2417 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2474
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2424 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2481
msgid "Message" msgid "Message"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2584
msgid "More filters" msgid "More filters"
msgstr "" msgstr ""
@@ -426,8 +426,8 @@ msgstr ""
msgid "No WAN zone found" msgid "No WAN zone found"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:816 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:835
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:866
msgid "No WAN zone found; cannot toggle logging without one." msgid "No WAN zone found; cannot toggle logging without one."
msgstr "" msgstr ""
@@ -443,7 +443,7 @@ msgstr ""
msgid "OUT" msgid "OUT"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2447 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2504
msgid "One line" msgid "One line"
msgstr "" msgstr ""
@@ -451,7 +451,7 @@ msgstr ""
msgid "Open firewall zone settings" msgid "Open firewall zone settings"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:336
msgid "" msgid ""
"OpenWrt does not write firewall events to the log until you turn logging on. " "OpenWrt does not write firewall events to the log until you turn logging on. "
"Live View only shows what the firewall already logs — it does not add allow/" "Live View only shows what the firewall already logs — it does not add allow/"
@@ -462,16 +462,16 @@ msgstr ""
msgid "Outbound" msgid "Outbound"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2215 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272
msgid "Palette" msgid "Palette"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2428
msgid "Pause" msgid "Pause"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
msgid "Paused" msgid "Paused"
msgstr "" msgstr ""
@@ -480,11 +480,11 @@ msgstr ""
msgid "Proto" msgid "Proto"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2508 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2565
msgid "Protocol — common values" msgid "Protocol — common values"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2487 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2544
msgid "Quick search" msgid "Quick search"
msgstr "" msgstr ""
@@ -492,22 +492,22 @@ msgstr ""
msgid "Remove filter" msgid "Remove filter"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
msgid "Resume" msgid "Resume"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2205 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262
msgid "Row tint" msgid "Row tint"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2356
msgid "" msgid ""
"Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/" "Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/"
"red, default) or Accessible (teal/orange). Action text stays colored either " "red, default) or Accessible (teal/orange). Action text stays colored either "
"way." "way."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2354 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2412
msgid "" msgid ""
"Row tint used a local color fallback because the active LuCI theme did not " "Row tint used a local color fallback because the active LuCI theme did not "
"apply pass/deny backgrounds." "apply pass/deny backgrounds."
@@ -517,15 +517,15 @@ msgstr ""
msgid "Rule" msgid "Rule"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:712 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:725
msgid "Rule labels incomplete — map truncated" msgid "Rule labels incomplete — map truncated"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:715 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:728
msgid "Rule labels unavailable" msgid "Rule labels unavailable"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:714 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:727
msgid "Rule labels unavailable — temp file failed" msgid "Rule labels unavailable — temp file failed"
msgstr "" msgstr ""
@@ -537,40 +537,40 @@ msgstr ""
msgid "Search" msgid "Search"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1303 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351
msgid "Server adaptive protection is disabled." msgid "Server adaptive protection is disabled."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1301 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1349
msgid "Server protection state is unknown." msgid "Server protection state is unknown."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1308 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1356
msgid "Server shedding — at most %d log lines per poll." msgid "Server shedding — at most %d log lines per poll."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1310 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1358
msgid "Server truncated this poll (adaptive cap)." msgid "Server truncated this poll (adaptive cap)."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2232 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2289
msgid "Show hostnames" msgid "Show hostnames"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2203 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2260
msgid "Show pass/deny row background colors" msgid "Show pass/deny row background colors"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2470 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527
msgid "Show rows" msgid "Show rows"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1369 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1417
msgid "Showing a compact summary of the top of the shown sample." msgid "Showing a compact summary of the top of the shown sample."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2394 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2451
msgid "Simple" msgid "Simple"
msgstr "" msgstr ""
@@ -579,7 +579,7 @@ msgstr ""
msgid "Source" msgid "Source"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2537 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2594
msgid "Source IP contains (! to exclude)" msgid "Source IP contains (! to exclude)"
msgstr "" msgstr ""
@@ -587,53 +587,53 @@ msgstr ""
msgid "Source port" msgid "Source port"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2542 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2599
msgid "Source port (! to exclude)" msgid "Source port (! to exclude)"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1419
msgid "Summary data is unavailable; show rows to inspect the sample." msgid "Summary data is unavailable; show rows to inspect the sample."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2461 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2518
msgid "Summary mode" msgid "Summary mode"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1373 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1421
msgid "Summary was bounded before all categories could be included." msgid "Summary was bounded before all categories could be included."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2330
msgid "" msgid ""
"Switching tabs pauses polling; returning performs one catch-up poll. " "Switching tabs pauses polling; returning performs one catch-up poll. "
"Hostnames are off by default because lookups add work." "Hostnames are off by default because lookups add work."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:822 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:841
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:870
msgid "The firewall did not reload; saved and live logging may differ." msgid "The firewall did not reload; saved and live logging may differ."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2340
msgid "" msgid ""
"The rate shown for WAN logging is the firewall zone log_limit. OpenWrt " "The rate shown for WAN logging is the firewall zone log_limit. OpenWrt "
"defaults to 10/minute when no explicit limit is configured; fwlive does not " "defaults to 10/minute when no explicit limit is configured; fwlive does not "
"impose this cap." "impose this cap."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2277 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2335
msgid "" msgid ""
"The router log ring may evict older events before fwlive reads them. fwlive " "The router log ring may evict older events before fwlive reads them. fwlive "
"cannot recover evicted entries or change forwarding behavior." "cannot recover evicted entries or change forwarding behavior."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2244 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302
msgid "" msgid ""
"The table updates automatically when your firewall logs traffic. Use Pause " "The table updates automatically when your firewall logs traffic. Use Pause "
"if it moves too fast." "if it moves too fast."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2358 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2415
msgid "Theme tint fallback" msgid "Theme tint fallback"
msgstr "" msgstr ""
@@ -650,15 +650,15 @@ msgstr ""
msgid "Time" msgid "Time"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1378 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1426
msgid "Top drops" msgid "Top drops"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1381 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1429
msgid "Top rules" msgid "Top rules"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1375 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1423
msgid "Top talkers" msgid "Top talkers"
msgstr "" msgstr ""
@@ -666,7 +666,7 @@ msgstr ""
msgid "Turn it back off with the WAN logging control on the watch strip." msgid "Turn it back off with the WAN logging control on the watch strip."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:349 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:350
msgid "" msgid ""
"Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → " "Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → "
"Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal " "Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal "
@@ -681,32 +681,32 @@ msgstr ""
msgid "Undo:" msgid "Undo:"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2359
msgid "Use Detail for all columns (flags, length, raw message)." msgid "Use Detail for all columns (flags, length, raw message)."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2376 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2433
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2382 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2439
msgid "View" msgid "View"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:854 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:873
msgid "WAN drop/reject logging is off." msgid "WAN drop/reject logging is off."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:316 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:317
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound WAN traffic will show up " "WAN drop/reject logging is on. Blocked inbound WAN traffic will show up "
"here. Normal LAN browsing will not." "here. Normal LAN browsing will not."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:827 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound traffic should appear here as " "WAN drop/reject logging is on. Blocked inbound traffic should appear here as "
"it happens — not normal LAN browsing." "it happens — not normal LAN browsing."
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:830 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849
msgid "WAN logging is already enabled." msgid "WAN logging is already enabled."
msgstr "" msgstr ""
@@ -735,25 +735,25 @@ msgstr ""
msgid "Waiting for firewall events" msgid "Waiting for firewall events"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2403
msgid "Watching" msgid "Watching"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2436 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493
msgid "Wrap" msgid "Wrap"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2492 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2549
msgid "block" msgid "block"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1122 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1171
msgid "buffer filling" msgid "buffer filling"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1126 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1175
msgid "buffer full" msgid "buffer full"
msgstr "" msgstr ""
@@ -766,7 +766,7 @@ msgid "does not contain"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2550
msgid "drop" msgid "drop"
msgstr "" msgstr ""
@@ -774,16 +774,16 @@ msgstr ""
msgid "is" msgid "is"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1121 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1170
msgid "loading buffer" msgid "loading buffer"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1546
msgid "loading…" msgid "loading…"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1399
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1408
msgid "none" msgid "none"
msgstr "" msgstr ""
@@ -791,102 +791,101 @@ msgstr ""
msgid "not" msgid "not"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1706 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1757
msgid "not AH" msgid "not AH"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1705 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1756
msgid "not ESP" msgid "not ESP"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1704 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1755
msgid "not GRE" msgid "not GRE"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1701 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1752
msgid "not ICMP" msgid "not ICMP"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1702 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1753
msgid "not ICMPv6" msgid "not ICMPv6"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1703 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1754
msgid "not IGMP" msgid "not IGMP"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1707 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1758
msgid "not SCTP" msgid "not SCTP"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1699 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1750
msgid "not TCP" msgid "not TCP"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1700 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1751
msgid "not UDP" msgid "not UDP"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2555
msgid "not block" msgid "not block"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2497 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2554
msgid "not drop" msgid "not drop"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2496 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2553
msgid "not pass" msgid "not pass"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2499 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2556
msgid "not reject" msgid "not reject"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2557
msgid "not unknown" msgid "not unknown"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2515 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2572
msgid "or type…" msgid "or type…"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2491 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2548
msgid "pass" msgid "pass"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2494 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2551
msgid "reject" msgid "reject"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1177
msgid "render paused (high rate)" msgid "render paused (high rate)"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1138 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1186
msgid "resolve paused (load)" msgid "resolve paused (load)"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1140 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1188
msgid "scroll frozen — scroll to top to follow live" msgid "scroll frozen — scroll to top to follow live"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1136 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1185
msgid "truncated" msgid "truncated"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2495 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552
msgid "unknown" msgid "unknown"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:697 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:709
msgid "using fw4" msgid "using fw4"
msgstr "" msgstr ""
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:134 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:134
msgid "· %s" msgid "· %s"
msgstr "" msgstr ""
+163 -163
View File
@@ -12,43 +12,43 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1548
msgid "%d matching · %d/%d stored" msgid "%d matching · %d/%d stored"
msgstr "%d 条匹配 · 已存 %d/%d" msgstr "%d 条匹配 · 已存 %d/%d"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1341
msgid "%s · requested up to %d raw lines · %d firewall messages returned" msgid "%s · requested up to %d raw lines · %d firewall messages returned"
msgstr "%s · 请求最多 %d 行原始日志 · 返回 %d 条防火墙消息" msgstr "%s · 请求最多 %d 行原始日志 · 返回 %d 条防火墙消息"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1331
msgid "" msgid ""
"%s · requested up to %d raw lines · server limited fetch to %d · %d firewall " "%s · requested up to %d raw lines · server limited fetch to %d · %d firewall "
"messages returned" "messages returned"
msgstr "" msgstr ""
"%s · 请求最多 %d 行原始日志 · 服务器将抓取限制为 %d · 返回 %d 条防火墙消息" "%s · 请求最多 %d 行原始日志 · 服务器将抓取限制为 %d · 返回 %d 条防火墙消息"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:482 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:493
msgid "%s: %s" msgid "%s: %s"
msgstr "%s: %s" msgstr "%s: %s"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1502 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1550
msgid "0 matching · %d/%d stored" msgid "0 matching · %d/%d stored"
msgstr "0 条匹配 · 已存 %d/%d" msgstr "0 条匹配 · 已存 %d/%d"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:432 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:440
msgid "Accessible (teal/orange)" msgid "Accessible (teal/orange)"
msgstr "无障碍(青绿/橙色)" msgstr "无障碍(青绿/橙色)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:342 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:353
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:35 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:35
msgid "Action" msgid "Action"
msgstr "动作" msgstr "动作"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:855 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:874
msgid "Administrator access is required to disable logging." msgid "Administrator access is required to disable logging."
msgstr "需要管理员权限才能禁用日志记录。" msgstr "需要管理员权限才能禁用日志记录。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851
msgid "Administrator access is required to enable logging." msgid "Administrator access is required to enable logging."
msgstr "需要管理员权限才能启用日志记录。" msgstr "需要管理员权限才能启用日志记录。"
@@ -56,25 +56,25 @@ msgstr "需要管理员权限才能启用日志记录。"
msgid "Allow/deny rules, LAN logging, or anything else." msgid "Allow/deny rules, LAN logging, or anything else."
msgstr "允许/拒绝规则、LAN 日志记录或任何其他设置。" msgstr "允许/拒绝规则、LAN 日志记录或任何其他设置。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1691 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1742
msgid "Also seen" msgid "Also seen"
msgstr "其他常见" msgstr "其他常见"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:812 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:832
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:843 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:863
msgid "Another change is staged for the firewall; apply or revert it first." msgid "Another change is staged for the firewall; apply or revert it first."
msgstr "防火墙另有未提交的更改;请先应用或还原。" msgstr "防火墙另有未提交的更改;请先应用或还原。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2490 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547
msgid "Any action" msgid "Any action"
msgstr "所有动作" msgstr "所有动作"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1684 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1735
msgid "Any protocol" msgid "Any protocol"
msgstr "任意协议" msgstr "任意协议"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1334 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1382
msgid "Auto" msgid "Auto"
msgstr "自动" msgstr "自动"
@@ -82,7 +82,7 @@ msgstr "自动"
msgid "Before you enable logging" msgid "Before you enable logging"
msgstr "启用日志记录之前" msgstr "启用日志记录之前"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:810 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:829
msgid "Cannot enable logging until kernel log modules are installed." msgid "Cannot enable logging until kernel log modules are installed."
msgstr "无法启用日志记录,直到内核日志模块已安装。" msgstr "无法启用日志记录,直到内核日志模块已安装。"
@@ -90,11 +90,11 @@ msgstr "无法启用日志记录,直到内核日志模块已安装。"
msgid "Changes:" msgid "Changes:"
msgstr "变更:" msgstr "变更:"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:431 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:439
msgid "Classic (green/red)" msgid "Classic (green/red)"
msgstr "经典(绿/红)" msgstr "经典(绿/红)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2221 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2278
msgid "Classic uses green/red; Accessible uses teal/orange" msgid "Classic uses green/red; Accessible uses teal/orange"
msgstr "经典使用绿/红;无障碍使用青绿/橙色" msgstr "经典使用绿/红;无障碍使用青绿/橙色"
@@ -102,7 +102,7 @@ msgstr "经典使用绿/红;无障碍使用青绿/橙色"
msgid "Clear all" msgid "Clear all"
msgstr "全部清除" msgstr "全部清除"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2561 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2619
msgid "" msgid ""
"Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for " "Click a cell to filter · ≠ on a chip to exclude · Ctrl+click a rule for "
"firewall settings · in Simple view, click a row for the full message" "firewall settings · in Simple view, click a row for the full message"
@@ -110,7 +110,7 @@ msgstr ""
"点击单元格筛选 · 芯片上的 ≠ 排除 · Ctrl+点击规则打开防火墙设置 · 在简单视图中" "点击单元格筛选 · 芯片上的 ≠ 排除 · Ctrl+点击规则打开防火墙设置 · 在简单视图中"
"点击行查看完整消息" "点击行查看完整消息"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2288 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346
msgid "" msgid ""
"Click a row (Time or other non-link cells) to see the full log line (Simple " "Click a row (Time or other non-link cells) to see the full log line (Simple "
"view)." "view)."
@@ -120,47 +120,47 @@ msgstr "点击一行(时间或其他非链接单元格)可查看完整日志
msgid "Click a row for the full message" msgid "Click a row for the full message"
msgstr "点击行可查看完整消息" msgstr "点击行可查看完整消息"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2293 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2351
msgid "" msgid ""
"Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a " "Click an IP, action, or protocol to filter; use the Protocol menu (or ≠ on a "
"chip) to exclude." "chip) to exclude."
msgstr "" msgstr ""
"点击 IP、动作或协议进行筛选;使用协议菜单(或筛选标签上的 ≠)进行排除。" "点击 IP、动作或协议进行筛选;使用协议菜单(或筛选标签上的 ≠)进行排除。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1685 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1736
msgid "Common" msgid "Common"
msgstr "常用" msgstr "常用"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1567
msgid "Connection lost — retrying…" msgid "Connection lost — retrying…"
msgstr "连接已断开 — 正在重试…" msgstr "连接已断开 — 正在重试…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:818 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:837
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:868
msgid "Could not acquire the logging lock." msgid "Could not acquire the logging lock."
msgstr "无法获取日志记录锁。" msgstr "无法获取日志记录锁。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:852 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:871
msgid "Could not disable logging." msgid "Could not disable logging."
msgstr "无法禁用日志记录。" msgstr "无法禁用日志记录。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:823 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:842
msgid "Could not enable logging." msgid "Could not enable logging."
msgstr "无法启用日志记录。" msgstr "无法启用日志记录。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:753 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:769
msgid "Could not load logging status." msgid "Could not load logging status."
msgstr "无法加载日志状态。" msgstr "无法加载日志状态。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:752 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:768
msgid "Could not refresh logging status; showing the last known state." msgid "Could not refresh logging status; showing the last known state."
msgstr "无法刷新日志状态;显示上次已知状态。" msgstr "无法刷新日志状态;显示上次已知状态。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:820 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:839
msgid "Could not snapshot the current logging state." msgid "Could not snapshot the current logging state."
msgstr "无法快照当前日志记录状态。" msgstr "无法快照当前日志记录状态。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2516 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2574
msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set." msgid "Custom protocol (prefix ! to exclude). Overrides the menu when set."
msgstr "自定义协议(! 排除)。有内容时覆盖菜单。" msgstr "自定义协议(! 排除)。有内容时覆盖菜单。"
@@ -168,32 +168,32 @@ msgstr "自定义协议(! 排除)。有内容时覆盖菜单。"
msgid "DPort" msgid "DPort"
msgstr "目的端口" msgstr "目的端口"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1135 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1184
msgid "Degraded — sampling" msgid "Degraded — sampling"
msgstr "降级 — 抽样" msgstr "降级 — 抽样"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1305 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1353
msgid "Degraded — sampling (slow poll RTT; cadence reduced)." msgid "Degraded — sampling (slow poll RTT; cadence reduced)."
msgstr "降级 — 抽样(轮询 RTT 较慢;已降低频率)。" msgstr "降级 — 抽样(轮询 RTT 较慢;已降低频率)。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:357
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:43 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:43
msgid "Destination" msgid "Destination"
msgstr "目的地址" msgstr "目的地址"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2547 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2604
msgid "Destination IP contains (! to exclude)" msgid "Destination IP contains (! to exclude)"
msgstr "目的 IP 包含(! 表示排除)" msgstr "目的 IP 包含(! 表示排除)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:348 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:359
msgid "Destination port" msgid "Destination port"
msgstr "目标端口" msgstr "目标端口"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2609
msgid "Destination port (! to exclude)" msgid "Destination port (! to exclude)"
msgstr "目的端口(! 表示排除)" msgstr "目的端口(! 表示排除)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2405 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2462
msgid "Detail" msgid "Detail"
msgstr "详细" msgstr "详细"
@@ -205,15 +205,15 @@ msgstr "方向"
msgid "Disabling…" msgid "Disabling…"
msgstr "正在禁用…" msgstr "正在禁用…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1131 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1180
msgid "Display limited to %d rows on this device" msgid "Display limited to %d rows on this device"
msgstr "此设备上的显示限制为 %d 行" msgstr "此设备上的显示限制为 %d 行"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2162 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2219
msgid "Display options" msgid "Display options"
msgstr "显示选项" msgstr "显示选项"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2254 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2311
msgid "Display options on the bar set Limit, row tint, palette, and hostnames." msgid "Display options on the bar set Limit, row tint, palette, and hostnames."
msgstr "栏上的显示选项可设置行数限制、行着色、调色板和主机名。" msgstr "栏上的显示选项可设置行数限制、行着色、调色板和主机名。"
@@ -237,7 +237,7 @@ msgstr "启用 WAN 区域的丢弃/拒绝日志记录(同 网络 → 防火墙
msgid "Enable logging" msgid "Enable logging"
msgstr "启用日志" msgstr "启用日志"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2249 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2307
msgid "" msgid ""
"Enable logging turns on WAN zone drop/reject logging only (same as Network → " "Enable logging turns on WAN zone drop/reject logging only (same as Network → "
"Firewall). It does not add rules or log normal LAN browsing." "Firewall). It does not add rules or log normal LAN browsing."
@@ -250,7 +250,7 @@ msgstr ""
msgid "Enabling…" msgid "Enabling…"
msgstr "正在启用…" msgstr "正在启用…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1698 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1749
msgid "Exclude" msgid "Exclude"
msgstr "排除" msgstr "排除"
@@ -258,11 +258,11 @@ msgstr "排除"
msgid "Exclude instead" msgid "Exclude instead"
msgstr "改为排除" msgstr "改为排除"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2176 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2233
msgid "Fetch budget" msgid "Fetch budget"
msgstr "抓取配额" msgstr "抓取配额"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2257 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2315
msgid "" msgid ""
"Fetch budget controls raw log lines per poll. Auto derives from Limit; " "Fetch budget controls raw log lines per poll. Auto derives from Limit; "
"Manual selects a bounded maximum." "Manual selects a bounded maximum."
@@ -276,11 +276,11 @@ msgstr ""
msgid "Filter by %s" msgid "Filter by %s"
msgstr "按 %s 筛选" msgstr "按 %s 筛选"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/links.js:129
msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings." msgid "Filter logs by rule (hint: %s). Ctrl+click to open firewall settings."
msgstr "按规则筛选日志(提示:%s)。Ctrl+点击可打开防火墙设置。" msgstr "按规则筛选日志(提示:%s)。Ctrl+点击可打开防火墙设置。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2332 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2389
#: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3 #: openwrt-feed/luci-app-fwlive/root/usr/share/luci/menu.d/luci-app-fwlive.json:3
msgid "Firewall Live View" msgid "Firewall Live View"
msgstr "防火墙实时视图" msgstr "防火墙实时视图"
@@ -293,13 +293,13 @@ msgstr "标志"
msgid "Flow" msgid "Flow"
msgstr "流向" msgstr "流向"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2267 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2325
msgid "" msgid ""
"For a responsive table on a weak device, keep Limit at 250 rows or below. " "For a responsive table on a weak device, keep Limit at 250 rows or below. "
"The weak-device cap affects rendered rows; the buffer can still retain more." "The weak-device cap affects rendered rows; the buffer can still retain more."
msgstr "" msgstr ""
"要让弱设备上的表格保持响应,请将 行数限制 保持在 250 行或更少。弱设备限制影响渲" "要让弱设备上的表格保持响应,请将 行数限制 保持在 250 行或更少。弱设备限制影响"
"染的行数;缓冲区仍可保留更多行。" "渲染的行数;缓冲区仍可保留更多行。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:59 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:59
msgid "Forwarded" msgid "Forwarded"
@@ -309,26 +309,26 @@ msgstr "已转发"
msgid "Grant access to firewall live log view" msgid "Grant access to firewall live log view"
msgstr "授予防火墙实时日志视图的访问权限" msgstr "授予防火墙实时日志视图的访问权限"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2241 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298
msgid "Help" msgid "Help"
msgstr "帮助" msgstr "帮助"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
msgid "Hide rows" msgid "Hide rows"
msgstr "隐藏行" msgstr "隐藏行"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1467 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1516
msgid "" msgid ""
"High event rate — table refresh is throttled to protect the browser. The " "High event rate — table refresh is throttled to protect the browser. The "
"buffer still updates; refresh will resume automatically." "buffer still updates; refresh will resume automatically."
msgstr "" msgstr ""
"事件速率过高 — 已限制表格刷新以保护浏览器。缓冲区仍在更新;刷新将自动恢复。" "事件速率过高 — 已限制表格刷新以保护浏览器。缓冲区仍在更新;刷新将自动恢复。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1312 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360
msgid "Hostname resolve paused while the router is under load." msgid "Hostname resolve paused while the router is under load."
msgstr "路由器负载较高,已暂停主机名解析。" msgstr "路由器负载较高,已暂停主机名解析。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1689 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1740
msgid "ICMPv6" msgid "ICMPv6"
msgstr "ICMPv6" msgstr "ICMPv6"
@@ -336,7 +336,7 @@ msgstr "ICMPv6"
msgid "IN" msgid "IN"
msgstr "IN" msgstr "IN"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2304 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2362
msgid "" msgid ""
"If Row tint looks missing, the active LuCI theme may omit success/error or " "If Row tint looks missing, the active LuCI theme may omit success/error or "
"info/warn CSS variables; fwlive falls back to local colors (air-gapped, no " "info/warn CSS variables; fwlive falls back to local colors (air-gapped, no "
@@ -345,7 +345,7 @@ msgstr ""
"如果行着色看起来缺失,当前 LuCI 主题可能未提供成功/错误或信息/警告 CSS 变量;" "如果行着色看起来缺失,当前 LuCI 主题可能未提供成功/错误或信息/警告 CSS 变量;"
"fwlive 会回退到本地颜色(隔离运行,数据不会离开本设备)。" "fwlive 会回退到本地颜色(隔离运行,数据不会离开本设备)。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:323 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:324
msgid "" msgid ""
"If the WAN is quiet, wait for probes or use the optional ping check in " "If the WAN is quiet, wait for probes or use the optional ping check in "
"Help / the enabling-logs guide." "Help / the enabling-logs guide."
@@ -361,12 +361,16 @@ msgstr "入站"
msgid "Include instead" msgid "Include instead"
msgstr "改为包含" msgstr "改为包含"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:343 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1566
msgid "Installation is incomplete. Reinstall luci-app-fwlive."
msgstr "安装不完整。请重新安装 luci-app-fwlive。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:354
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:37
msgid "Interface" msgid "Interface"
msgstr "接口" msgstr "接口"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2532 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2589
msgid "Interface (prefix ! to exclude)" msgid "Interface (prefix ! to exclude)"
msgstr "接口(前缀 ! 表示排除)" msgstr "接口(前缀 ! 表示排除)"
@@ -379,7 +383,7 @@ msgstr "稍后我会在 网络 → 防火墙 中配置"
msgid "Kernel log modules missing" msgid "Kernel log modules missing"
msgstr "缺少内核日志模块" msgstr "缺少内核日志模块"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:289 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:290
msgid "" msgid ""
"Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-" "Kernel netfilter log modules are missing. Install kmod-nf-log-ipv4 and kmod-"
"nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall." "nf-log-ipv6 (or kmod-nf-log / kmod-nf-log6), then reload the firewall."
@@ -391,15 +395,11 @@ msgstr ""
msgid "Len" msgid "Len"
msgstr "长度" msgstr "长度"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2165 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2222
msgid "Limit" msgid "Limit"
msgstr "行数限制" msgstr "行数限制"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:721 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:734
msgid "Limited diagnostics — timeout command missing"
msgstr "诊断功能受限 — 缺少 timeout 命令"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:726
msgid "Live view may be incomplete — a legacy iptables table is registered" msgid "Live view may be incomplete — a legacy iptables table is registered"
msgstr "实时视图可能不完整 — 已注册旧版 iptables 表" msgstr "实时视图可能不完整 — 已注册旧版 iptables 表"
@@ -407,16 +407,16 @@ msgstr "实时视图可能不完整 — 已注册旧版 iptables 表"
msgid "Logging is off on this router" msgid "Logging is off on this router"
msgstr "此路由器的日志记录已关闭" msgstr "此路由器的日志记录已关闭"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1274 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1322
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1383
msgid "Manual" msgid "Manual"
msgstr "手动" msgstr "手动"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2194 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2251
msgid "Manual still uses server protection and poll cadence" msgid "Manual still uses server protection and poll cadence"
msgstr "手动模式仍受服务器保护和轮询节奏约束" msgstr "手动模式仍受服务器保护和轮询节奏约束"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2320
msgid "" msgid ""
"Manual still uses server protection and poll cadence; it changes the fetch " "Manual still uses server protection and poll cadence; it changes the fetch "
"budget, not the polling interval." "budget, not the polling interval."
@@ -427,18 +427,18 @@ msgstr ""
msgid "Manual test (System → Terminal):" msgid "Manual test (System → Terminal):"
msgstr "手动测试(系统 → 终端):" msgstr "手动测试(系统 → 终端):"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2188 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2245
msgid "Maximum raw lines" msgid "Maximum raw lines"
msgstr "最大原始行数" msgstr "最大原始行数"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:49
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:330
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2417 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2474
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2424 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2481
msgid "Message" msgid "Message"
msgstr "消息" msgstr "消息"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2584
msgid "More filters" msgid "More filters"
msgstr "更多筛选" msgstr "更多筛选"
@@ -456,8 +456,8 @@ msgstr ""
msgid "No WAN zone found" msgid "No WAN zone found"
msgstr "未找到 WAN 区域" msgstr "未找到 WAN 区域"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:816 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:835
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:866
msgid "No WAN zone found; cannot toggle logging without one." msgid "No WAN zone found; cannot toggle logging without one."
msgstr "未找到 WAN 区域;没有它无法切换日志记录。" msgstr "未找到 WAN 区域;没有它无法切换日志记录。"
@@ -473,7 +473,7 @@ msgstr "点击「启用」之前不会有任何更改。"
msgid "OUT" msgid "OUT"
msgstr "出接口" msgstr "出接口"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2447 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2504
msgid "One line" msgid "One line"
msgstr "单行" msgstr "单行"
@@ -481,7 +481,7 @@ msgstr "单行"
msgid "Open firewall zone settings" msgid "Open firewall zone settings"
msgstr "打开防火墙区域设置" msgstr "打开防火墙区域设置"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:335 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:336
msgid "" msgid ""
"OpenWrt does not write firewall events to the log until you turn logging on. " "OpenWrt does not write firewall events to the log until you turn logging on. "
"Live View only shows what the firewall already logs — it does not add allow/" "Live View only shows what the firewall already logs — it does not add allow/"
@@ -494,29 +494,29 @@ msgstr ""
msgid "Outbound" msgid "Outbound"
msgstr "出站" msgstr "出站"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2215 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272
msgid "Palette" msgid "Palette"
msgstr "配色" msgstr "配色"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2428
msgid "Pause" msgid "Pause"
msgstr "暂停" msgstr "暂停"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
msgid "Paused" msgid "Paused"
msgstr "已暂停" msgstr "已暂停"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:344 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:355
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:41 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:41
msgid "Proto" msgid "Proto"
msgstr "协议" msgstr "协议"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2508 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2565
msgid "Protocol — common values" msgid "Protocol — common values"
msgstr "协议 — 常用值" msgstr "协议 — 常用值"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2487 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2544
msgid "Quick search" msgid "Quick search"
msgstr "快速搜索" msgstr "快速搜索"
@@ -524,15 +524,15 @@ msgstr "快速搜索"
msgid "Remove filter" msgid "Remove filter"
msgstr "移除筛选" msgstr "移除筛选"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1564 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1615
msgid "Resume" msgid "Resume"
msgstr "继续" msgstr "继续"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2205 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2262
msgid "Row tint" msgid "Row tint"
msgstr "行着色" msgstr "行着色"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2298 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2356
msgid "" msgid ""
"Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/" "Row tint shows pass/deny row backgrounds when checked. Choose Classic (green/"
"red, default) or Accessible (teal/orange). Action text stays colored either " "red, default) or Accessible (teal/orange). Action text stays colored either "
@@ -541,7 +541,7 @@ msgstr ""
"勾选后行着色显示放行/拒绝行背景。可选经典(绿/红,默认)或无障碍(青绿/橙)。" "勾选后行着色显示放行/拒绝行背景。可选经典(绿/红,默认)或无障碍(青绿/橙)。"
"操作文本在两种模式下均保持着色。" "操作文本在两种模式下均保持着色。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2354 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2412
msgid "" msgid ""
"Row tint used a local color fallback because the active LuCI theme did not " "Row tint used a local color fallback because the active LuCI theme did not "
"apply pass/deny backgrounds." "apply pass/deny backgrounds."
@@ -551,15 +551,15 @@ msgstr "由于当前 LuCI 主题未应用放行/拒绝背景色,行着色使
msgid "Rule" msgid "Rule"
msgstr "规则" msgstr "规则"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:712 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:725
msgid "Rule labels incomplete — map truncated" msgid "Rule labels incomplete — map truncated"
msgstr "规则标签不完整 — 映射被截断" msgstr "规则标签不完整 — 映射被截断"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:715 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:728
msgid "Rule labels unavailable" msgid "Rule labels unavailable"
msgstr "规则标签不可用" msgstr "规则标签不可用"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:714 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:727
msgid "Rule labels unavailable — temp file failed" msgid "Rule labels unavailable — temp file failed"
msgstr "规则标签不可用 — 临时文件创建失败" msgstr "规则标签不可用 — 临时文件创建失败"
@@ -567,77 +567,77 @@ msgstr "规则标签不可用 — 临时文件创建失败"
msgid "SPort" msgid "SPort"
msgstr "源端口" msgstr "源端口"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:341 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:352
msgid "Search" msgid "Search"
msgstr "搜索" msgstr "搜索"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1303 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351
msgid "Server adaptive protection is disabled." msgid "Server adaptive protection is disabled."
msgstr "服务器自适应保护已禁用。" msgstr "服务器自适应保护已禁用。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1301 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1349
msgid "Server protection state is unknown." msgid "Server protection state is unknown."
msgstr "服务器保护状态未知。" msgstr "服务器保护状态未知。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1308 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1356
msgid "Server shedding — at most %d log lines per poll." msgid "Server shedding — at most %d log lines per poll."
msgstr "服务器正在削减 — 每次轮询最多 %d 行日志。" msgstr "服务器正在削减 — 每次轮询最多 %d 行日志。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1310 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1358
msgid "Server truncated this poll (adaptive cap)." msgid "Server truncated this poll (adaptive cap)."
msgstr "服务器已截断本次轮询(自适应上限)。" msgstr "服务器已截断本次轮询(自适应上限)。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2232 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2289
msgid "Show hostnames" msgid "Show hostnames"
msgstr "显示主机名" msgstr "显示主机名"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2203 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2260
msgid "Show pass/deny row background colors" msgid "Show pass/deny row background colors"
msgstr "显示放行/拒绝行背景色" msgstr "显示放行/拒绝行背景色"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1412 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1460
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2470 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2527
msgid "Show rows" msgid "Show rows"
msgstr "显示行" msgstr "显示行"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1369 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1417
msgid "Showing a compact summary of the top of the shown sample." msgid "Showing a compact summary of the top of the shown sample."
msgstr "显示当前样本顶部的简要摘要。" msgstr "显示当前样本顶部的简要摘要。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2394 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2451
msgid "Simple" msgid "Simple"
msgstr "简洁" msgstr "简洁"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:345 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:356
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:42 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:42
msgid "Source" msgid "Source"
msgstr "源地址" msgstr "源地址"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2537 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2594
msgid "Source IP contains (! to exclude)" msgid "Source IP contains (! to exclude)"
msgstr "源 IP 包含(! 表示排除)" msgstr "源 IP 包含(! 表示排除)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:347 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/log.js:358
msgid "Source port" msgid "Source port"
msgstr "源端口" msgstr "源端口"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2542 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2599
msgid "Source port (! to exclude)" msgid "Source port (! to exclude)"
msgstr "源端口(! 表示排除)" msgstr "源端口(! 表示排除)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1371 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1419
msgid "Summary data is unavailable; show rows to inspect the sample." msgid "Summary data is unavailable; show rows to inspect the sample."
msgstr "摘要数据不可用;显示行以检查样本。" msgstr "摘要数据不可用;显示行以检查样本。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2461 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2518
msgid "Summary mode" msgid "Summary mode"
msgstr "摘要模式" msgstr "摘要模式"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1373 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1421
msgid "Summary was bounded before all categories could be included." msgid "Summary was bounded before all categories could be included."
msgstr "摘要已受限,无法包含所有类别。" msgstr "摘要已受限,无法包含所有类别。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2272 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2330
msgid "" msgid ""
"Switching tabs pauses polling; returning performs one catch-up poll. " "Switching tabs pauses polling; returning performs one catch-up poll. "
"Hostnames are off by default because lookups add work." "Hostnames are off by default because lookups add work."
@@ -645,12 +645,12 @@ msgstr ""
"切换到其他标签页会暂停轮询;返回时执行一次追赶轮询。主机名默认关闭,因为解析" "切换到其他标签页会暂停轮询;返回时执行一次追赶轮询。主机名默认关闭,因为解析"
"会增加工作量。" "会增加工作量。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:822 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:841
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:851 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:870
msgid "The firewall did not reload; saved and live logging may differ." msgid "The firewall did not reload; saved and live logging may differ."
msgstr "防火墙未能重新加载;已保存的日志设置与当前生效状态可能不一致。" msgstr "防火墙未能重新加载;已保存的日志设置与当前生效状态可能不一致。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2282 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2340
msgid "" msgid ""
"The rate shown for WAN logging is the firewall zone log_limit. OpenWrt " "The rate shown for WAN logging is the firewall zone log_limit. OpenWrt "
"defaults to 10/minute when no explicit limit is configured; fwlive does not " "defaults to 10/minute when no explicit limit is configured; fwlive does not "
@@ -659,7 +659,7 @@ msgstr ""
"WAN 日志显示的速率是防火墙区域的 log_limit。未显式配置时 OpenWrt 默认为 10 " "WAN 日志显示的速率是防火墙区域的 log_limit。未显式配置时 OpenWrt 默认为 10 "
"条/分钟;此上限并非 fwlive 施加。" "条/分钟;此上限并非 fwlive 施加。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2277 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2335
msgid "" msgid ""
"The router log ring may evict older events before fwlive reads them. fwlive " "The router log ring may evict older events before fwlive reads them. fwlive "
"cannot recover evicted entries or change forwarding behavior." "cannot recover evicted entries or change forwarding behavior."
@@ -667,13 +667,13 @@ msgstr ""
"路由器日志环形缓冲区可能在 fwlive 读取前淘汰较旧事件。fwlive 无法恢复已淘汰的" "路由器日志环形缓冲区可能在 fwlive 读取前淘汰较旧事件。fwlive 无法恢复已淘汰的"
"条目,也不会改变转发行为。" "条目,也不会改变转发行为。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2244 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302
msgid "" msgid ""
"The table updates automatically when your firewall logs traffic. Use Pause " "The table updates automatically when your firewall logs traffic. Use Pause "
"if it moves too fast." "if it moves too fast."
msgstr "防火墙记录流量时表格会自动更新。如果滚动太快,请使用「暂停」。" msgstr "防火墙记录流量时表格会自动更新。如果滚动太快,请使用「暂停」。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2358 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2415
msgid "Theme tint fallback" msgid "Theme tint fallback"
msgstr "主题着色回退" msgstr "主题着色回退"
@@ -690,15 +690,15 @@ msgstr "此路由器报告了 Live View 尚无法识别的日志阻止项。"
msgid "Time" msgid "Time"
msgstr "时间" msgstr "时间"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1378 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1426
msgid "Top drops" msgid "Top drops"
msgstr "主要丢弃" msgstr "主要丢弃"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1381 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1429
msgid "Top rules" msgid "Top rules"
msgstr "主要规则" msgstr "主要规则"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1375 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1423
msgid "Top talkers" msgid "Top talkers"
msgstr "主要通信方" msgstr "主要通信方"
@@ -706,7 +706,7 @@ msgstr "主要通信方"
msgid "Turn it back off with the WAN logging control on the watch strip." msgid "Turn it back off with the WAN logging control on the watch strip."
msgstr "通过监视栏上的 WAN 日志控件将其重新关闭。" msgstr "通过监视栏上的 WAN 日志控件将其重新关闭。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:349 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:350
msgid "" msgid ""
"Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → " "Turns on WAN zone drop/reject logging (same as Network → Firewall → wan → "
"Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal " "Log). Rate-limited by the zone log_limit (OpenWrt default 10/minute). Normal "
@@ -723,20 +723,20 @@ msgstr "开启 WAN 防火墙区域的日志记录并重新加载防火墙。"
msgid "Undo:" msgid "Undo:"
msgstr "撤销:" msgstr "撤销:"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2302 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2359
msgid "Use Detail for all columns (flags, length, raw message)." msgid "Use Detail for all columns (flags, length, raw message)."
msgstr "使用「详细」可查看全部列(标志、长度、原始消息)。" msgstr "使用「详细」可查看全部列(标志、长度、原始消息)。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2376 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2433
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2382 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2439
msgid "View" msgid "View"
msgstr "视图" msgstr "视图"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:854 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:873
msgid "WAN drop/reject logging is off." msgid "WAN drop/reject logging is off."
msgstr "WAN 丢弃/拒绝日志记录已关闭。" msgstr "WAN 丢弃/拒绝日志记录已关闭。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:316 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/logging.js:317
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound WAN traffic will show up " "WAN drop/reject logging is on. Blocked inbound WAN traffic will show up "
"here. Normal LAN browsing will not." "here. Normal LAN browsing will not."
@@ -744,7 +744,7 @@ msgstr ""
"WAN 丢弃/拒绝日志记录已开启。被阻止的 WAN 入站流量会显示在这里;正常的 LAN 浏" "WAN 丢弃/拒绝日志记录已开启。被阻止的 WAN 入站流量会显示在这里;正常的 LAN 浏"
"览不会。" "览不会。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:827 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:847
msgid "" msgid ""
"WAN drop/reject logging is on. Blocked inbound traffic should appear here as " "WAN drop/reject logging is on. Blocked inbound traffic should appear here as "
"it happens — not normal LAN browsing." "it happens — not normal LAN browsing."
@@ -752,7 +752,7 @@ msgstr ""
"WAN 丢弃/拒绝日志记录已开启。被阻止的入站流量会实时显示在这里 — 正常的 LAN 浏" "WAN 丢弃/拒绝日志记录已开启。被阻止的入站流量会实时显示在这里 — 正常的 LAN 浏"
"览不会。" "览不会。"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:830 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:849
msgid "WAN logging is already enabled." msgid "WAN logging is already enabled."
msgstr "WAN 日志记录已处于启用状态。" msgstr "WAN 日志记录已处于启用状态。"
@@ -781,25 +781,25 @@ msgstr "WAN 日志不可用:无 WAN 区域"
msgid "Waiting for firewall events" msgid "Waiting for firewall events"
msgstr "正在等待防火墙事件" msgstr "正在等待防火墙事件"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1563 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1614
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2346 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2403
msgid "Watching" msgid "Watching"
msgstr "监视中" msgstr "监视中"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2436 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493
msgid "Wrap" msgid "Wrap"
msgstr "自动换行" msgstr "自动换行"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:69
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2492 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2549
msgid "block" msgid "block"
msgstr "拦截" msgstr "拦截"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1122 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1171
msgid "buffer filling" msgid "buffer filling"
msgstr "缓冲区填充中" msgstr "缓冲区填充中"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1126 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1175
msgid "buffer full" msgid "buffer full"
msgstr "缓冲区已满" msgstr "缓冲区已满"
@@ -812,7 +812,7 @@ msgid "does not contain"
msgstr "不包含" msgstr "不包含"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:70
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2493 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2550
msgid "drop" msgid "drop"
msgstr "丢弃" msgstr "丢弃"
@@ -820,16 +820,16 @@ msgstr "丢弃"
msgid "is" msgid "is"
msgstr "是" msgstr "是"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1121 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1170
msgid "loading buffer" msgid "loading buffer"
msgstr "正在加载缓冲区" msgstr "正在加载缓冲区"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1546
msgid "loading…" msgid "loading…"
msgstr "加载中…" msgstr "加载中…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1351 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1399
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1360 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1408
msgid "none" msgid "none"
msgstr "无" msgstr "无"
@@ -837,98 +837,98 @@ msgstr "无"
msgid "not" msgid "not"
msgstr "非" msgstr "非"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1706 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1757
msgid "not AH" msgid "not AH"
msgstr "非 AH" msgstr "非 AH"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1705 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1756
msgid "not ESP" msgid "not ESP"
msgstr "非 ESP" msgstr "非 ESP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1704 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1755
msgid "not GRE" msgid "not GRE"
msgstr "非 GRE" msgstr "非 GRE"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1701 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1752
msgid "not ICMP" msgid "not ICMP"
msgstr "非 ICMP" msgstr "非 ICMP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1702 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1753
msgid "not ICMPv6" msgid "not ICMPv6"
msgstr "非 ICMPv6" msgstr "非 ICMPv6"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1703 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1754
msgid "not IGMP" msgid "not IGMP"
msgstr "非 IGMP" msgstr "非 IGMP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1707 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1758
msgid "not SCTP" msgid "not SCTP"
msgstr "非 SCTP" msgstr "非 SCTP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1699 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1750
msgid "not TCP" msgid "not TCP"
msgstr "非 TCP" msgstr "非 TCP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1700 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1751
msgid "not UDP" msgid "not UDP"
msgstr "非 UDP" msgstr "非 UDP"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2498 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2555
msgid "not block" msgid "not block"
msgstr "非阻止" msgstr "非阻止"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2497 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2554
msgid "not drop" msgid "not drop"
msgstr "非丢弃" msgstr "非丢弃"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2496 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2553
msgid "not pass" msgid "not pass"
msgstr "非放行" msgstr "非放行"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2499 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2556
msgid "not reject" msgid "not reject"
msgstr "非拒绝" msgstr "非拒绝"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2500 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2557
msgid "not unknown" msgid "not unknown"
msgstr "非未知" msgstr "非未知"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2515 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2572
msgid "or type…" msgid "or type…"
msgstr "或输入…" msgstr "或输入…"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:68
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2491 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2548
msgid "pass" msgid "pass"
msgstr "通过" msgstr "通过"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:71
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2494 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2551
msgid "reject" msgid "reject"
msgstr "拒绝" msgstr "拒绝"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1128 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1177
msgid "render paused (high rate)" msgid "render paused (high rate)"
msgstr "渲染已暂停(速率过高)" msgstr "渲染已暂停(速率过高)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1138 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1186
msgid "resolve paused (load)" msgid "resolve paused (load)"
msgstr "解析已暂停(负载)" msgstr "解析已暂停(负载)"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1140 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1188
msgid "scroll frozen — scroll to top to follow live" msgid "scroll frozen — scroll to top to follow live"
msgstr "滚动已冻结 — 滚动到顶部以恢复跟随" msgstr "滚动已冻结 — 滚动到顶部以恢复跟随"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1136 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:1185
msgid "truncated" msgid "truncated"
msgstr "已截断" msgstr "已截断"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/fwlive/table.js:60
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2495 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:2552
msgid "unknown" msgid "unknown"
msgstr "未知" msgstr "未知"
#: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:697 #: openwrt-feed/luci-app-fwlive/htdocs/luci-static/resources/view/status/fwlive.js:709
msgid "using fw4" msgid "using fw4"
msgstr "使用 fw4" msgstr "使用 fw4"
@@ -483,7 +483,12 @@ fwlive_adaptive_merge_reply() {
fwlive_adaptive_enabled || _adapt=0 fwlive_adaptive_enabled || _adapt=0
case "$_body" in case "$_body" in
'{}') _sep= ;; '{}') _sep= ;;
*\}) _sep=, ;; '{"log":[]'*|*'],"messages_received":'*)
case "$_body" in
*\}) _sep=, ;;
*) printf '%s' "$_body"; return 0 ;;
esac
;;
*) printf '%s' "$_body"; return 0 ;; *) printf '%s' "$_body"; return 0 ;;
esac esac
_base=${_body%\}} _base=${_body%\}}
@@ -11,6 +11,14 @@
NF_LOG_IPV4="${FWLIVE_NF_LOG_IPV4_PATH:-/proc/sys/net/netfilter/nf_log/2}" NF_LOG_IPV4="${FWLIVE_NF_LOG_IPV4_PATH:-/proc/sys/net/netfilter/nf_log/2}"
NF_LOG_IPV6="${FWLIVE_NF_LOG_IPV6_PATH:-/proc/sys/net/netfilter/nf_log/10}" NF_LOG_IPV6="${FWLIVE_NF_LOG_IPV6_PATH:-/proc/sys/net/netfilter/nf_log/10}"
# BusyBox ash may resolve its enabled timeout applet ahead of PATH entries.
# Use the coreutils-timeout package path explicitly so GNU `-k` is available.
# FWLIVE_TIMEOUT_BIN is an environment seam for host tests; rpcd's environment
# is root-owned and no ubus input can set it.
FWLIVE_TIMEOUT_BIN="${FWLIVE_TIMEOUT_BIN:-/usr/bin/timeout}"
fwlive_timeout_available() {
[ -x "$FWLIVE_TIMEOUT_BIN" ]
}
# /proc/sys/net/netfilter/nf_log/10 is a backend selector, not an IPv6 # /proc/sys/net/netfilter/nf_log/10 is a backend selector, not an IPv6
# availability probe. A missing or empty /proc/net/if_inet6 means the IPv6 # availability probe. A missing or empty /proc/net/if_inet6 means the IPv6
# stack is absent (compiled out or ipv6.disable=1), so an IPv6 backend is # stack is absent (compiled out or ipv6.disable=1), so an IPv6 backend is
@@ -660,9 +668,9 @@ legacy_iptables_active() {
collect_logging_warnings() { collect_logging_warnings() {
LOGGING_WARNINGS='' LOGGING_WARNINGS=''
# rpcd/fwlive run_with_timeout fail-closes to 127 without timeout. # rpcd/fwlive run_with_timeout fail-closes to 127 without GNU timeout.
# Warnings are diagnostics only — do not gate the enable-logging CTA. # Warnings are diagnostics only — do not gate the enable-logging CTA.
command -v timeout >/dev/null 2>&1 || logging_warnings_append 'timeout_missing' fwlive_timeout_available || logging_warnings_append 'timeout_missing'
# Diagnostic only: supported releases use nftables, but a registered legacy # Diagnostic only: supported releases use nftables, but a registered legacy
# iptables table can still exist in the namespace visible to rpcd. LuCI # iptables table can still exist in the namespace visible to rpcd. LuCI
+108 -21
View File
@@ -24,16 +24,19 @@ RESOLVE_MAX=32
# Per-lookup nslookup timeout (integer seconds — BusyBox `timeout` truncates # Per-lookup nslookup timeout (integer seconds — BusyBox `timeout` truncates
# fractional values to 0 on OpenWrt 23.05/1.36, so 0.5 would silently # fractional values to 0 on OpenWrt 23.05/1.36, so 0.5 would silently
# degrade to no timeout; luna fold 2026-08-10). The wall-clock budget # degrade to no timeout; luna fold 2026-08-10). The wall-clock budget
# below is the real whole-call bound; this per-lookup cap only prevents a # below stops starting work after the budget; this per-lookup cap plus the
# single hung resolver from dominating the budget. LAN/local-resolver # shared TERM/KILL grace bounds the last in-progress lookup. LAN/local-resolver
# lookups are single-digit ms, so 1s is ample. Passed as argv to # lookups are single-digit ms, so 1s is ample. Passed as argv to `timeout`,
# `timeout`, never interpolated into a shell string. # never interpolated into a shell string.
RESOLVE_TIMEOUT=1 RESOLVE_TIMEOUT=1
# Wall-clock budget (seconds) for a single ubus fwlive.resolve call. The # Wall-clock budget (seconds) for a single ubus fwlive.resolve call. The
# lookup loop checks elapsed time and aborts cleanly once this budget is # lookup loop checks elapsed time and aborts cleanly once this budget is
# spent, so a flood of unresolvable IPs cannot hold an rpcd worker for the # spent, so a flood of unresolvable IPs cannot hold an rpcd worker for the
# full RESOLVE_MAX * RESOLVE_TIMEOUT worst case. Worst case total time is # full RESOLVE_MAX * RESOLVE_TIMEOUT worst case. Worst case total time is
# budget + one in-progress lookup (<= RESOLVE_TIMEOUT), i.e. ~6s. # budget + one in-progress lookup (RESOLVE_TIMEOUT + TIMEOUT_KILL_GRACE),
# plus scheduling/IPC overhead: approximately 7s before scheduler/IPC delay.
# Elapsed time comes from /proc/uptime centiseconds so an NTP step cannot
# stretch the budget; RESOLVE_MAX still bounds the work if uptime is unreadable.
RESOLVE_BUDGET=5 RESOLVE_BUDGET=5
# Cap raw logd lines per poll (~2000 ≈ typical logd ring / ~200 KB JSON before filter). # Cap raw logd lines per poll (~2000 ≈ typical logd ring / ~200 KB JSON before filter).
POLL_LINES_MAX=2000 POLL_LINES_MAX=2000
@@ -42,6 +45,11 @@ NFT_TIMEOUT=5
# Bound poll log.read (wedged logd must not hold an rpcd worker past the UI cadence). # Bound poll log.read (wedged logd must not hold an rpcd worker past the UI cadence).
# Integer seconds — BusyBox timeout truncates fractions to 0 (see RESOLVE_TIMEOUT). # Integer seconds — BusyBox timeout truncates fractions to 0 (see RESOLVE_TIMEOUT).
POLL_TIMEOUT=5 POLL_TIMEOUT=5
# Outer GNU timeout hard-kills the command group after the inner command's
# duration plus this TERM grace. The package dependency ensures GNU's
# --foreground and signal options are available, including when BusyBox also
# has a timeout applet.
TIMEOUT_KILL_GRACE=1
# Host tests override this to a pinned libubox helper; devices keep the package path. # Host tests override this to a pinned libubox helper; devices keep the package path.
: "${FWLIVE_JSHN_SH:=/usr/share/libubox/jshn.sh}" : "${FWLIVE_JSHN_SH:=/usr/share/libubox/jshn.sh}"
@@ -52,7 +60,7 @@ POLL_TIMEOUT=5
. "$ADAPTIVE_SH" . "$ADAPTIVE_SH"
slug_key() { slug_key() {
echo "$1" | tr '[:upper:]' '[:lower:]' | tr ' _' '--' printf '%s\n' "$1" | tr '[:upper:]' '[:lower:]' | tr ' _' '--'
} }
# Cap rules JSON size so a huge ruleset cannot unbound an rpcd reply. # Cap rules JSON size so a huge ruleset cannot unbound an rpcd reply.
@@ -143,7 +151,7 @@ map_prefix_with_label() {
map_add "$slug" "$label" map_add "$slug" "$label"
fi fi
else else
cosmetic=$(echo "$prefix" | tr '-' ' ') cosmetic=$(printf '%s\n' "$prefix" | tr '-' ' ')
map_add "$prefix" "$cosmetic" map_add "$prefix" "$cosmetic"
if [ "$slug" != "$prefix" ]; then if [ "$slug" != "$prefix" ]; then
map_add "$slug" "$cosmetic" map_add "$slug" "$cosmetic"
@@ -154,10 +162,61 @@ map_prefix_with_label() {
run_with_timeout() { run_with_timeout() {
secs="$1" secs="$1"
shift shift
if command -v timeout >/dev/null 2>&1; then if fwlive_timeout_available; then
timeout "$secs" "$@" 2>/dev/null run_timeout_busybox="$(command -v busybox 2>/dev/null)" || return 127
run_timeout_cat="$(command -v cat 2>/dev/null)" || return 127
[ -n "$run_timeout_busybox" ] && [ -n "$run_timeout_cat" ] || return 127
# The inner foreground timeout sends TERM to the direct command at its
# deadline. Keep a pipe reader alive until every inherited stdout fd
# closes; the outer timeout then KILLs the whole process group at the
# hard deadline. After the pipeline ends, keep this wrapper alive while
# any other live process remains in its dedicated process group. setsid keeps
# unrelated rpcd processes out of that scan and lets the outer timeout
# kill children even when they close stdout. BusyBox ash pipefail
# preserves the inner timeout status; invoking it explicitly keeps this
# portable from host dash too.
"$run_timeout_busybox" setsid "$FWLIVE_TIMEOUT_BIN" -s KILL "$((secs + TIMEOUT_KILL_GRACE))" \
"$run_timeout_busybox" sh -c '
set -o pipefail || exit 125
timeout_bin="$1"
duration="$2"
cat_bin="$3"
busybox_bin="$4"
shift 4
"$timeout_bin" --foreground "$duration" "$@" | "$cat_bin"
status="$?"
IFS= read -r proc_fields < "/proc/$$/stat" || exit 125
proc_fields="${proc_fields##*) }"
proc_fields="${proc_fields#* }"
proc_fields="${proc_fields#* }"
group="${proc_fields%% *}"
while :; do
peer=0
for proc_stat in /proc/[0-9]*/stat; do
[ -r "$proc_stat" ] || continue
IFS= read -r proc_fields < "$proc_stat" || continue
proc_fields="${proc_fields##*) }"
proc_state="${proc_fields%% *}"
proc_fields="${proc_fields#* }"
proc_fields="${proc_fields#* }"
proc_group="${proc_fields%% *}"
proc_pid="${proc_stat#/proc/}"
proc_pid="${proc_pid%/stat}"
if [ "$proc_group" = "$group" ] && \
[ "$proc_pid" != "$group" ] && [ "$proc_pid" != "$$" ] && \
[ "$proc_state" != Z ]; then
peer=1
break
fi
done
[ "$peer" = 1 ] || break
"$busybox_bin" sleep 0.1
done
exit "$status"
' fwlive-timeout "$FWLIVE_TIMEOUT_BIN" "$secs" \
"$run_timeout_cat" "$run_timeout_busybox" "$@" 2>/dev/null
else else
# Fail closed: never run unbounded when timeout is absent. # Fail closed: never run unbounded without the GNU provider.
return 127 return 127
fi fi
} }
@@ -402,7 +461,11 @@ build_rules_map() {
# Temp file first, then a single nft_list_ruleset; backend from success. # Temp file first, then a single nft_list_ruleset; backend from success.
if command -v nft >/dev/null 2>&1; then if command -v nft >/dev/null 2>&1; then
enrich_rules_dump fwlive-nft if fwlive_timeout_available; then
enrich_rules_dump fwlive-nft
else
_enrich_error='timeout_missing'
fi
fi fi
if [ "$backend" = unknown ] && [ -z "$_enrich_error" ]; then if [ "$backend" = unknown ] && [ -z "$_enrich_error" ]; then
@@ -526,15 +589,24 @@ fetch_firewall_logs() {
export FWLIVE_SUMMARY export FWLIVE_SUMMARY
# Do not swallow a filter failure into a silent empty table. # Do not swallow a filter failure into a silent empty table.
# If the filter exits non-zero but still printed JSON, keep it. # A killed classifier can leave a truncated body that still ends in `}`.
# Keep a non-zero body only when it is one of the complete error
# objects the shipped filter prints; otherwise emit filter_failed.
# Empty success is not valid poll JSON — the shipped filter always # Empty success is not valid poll JSON — the shipped filter always
# prints {"log":[...]}, but a stub/regression must not emit a blank body. # prints {"log":[...]}, but a stub/regression must not emit a blank body.
_filter_ok=1 _filter_ok=1
if ! out=$(printf '%s' "$raw" | run_with_timeout "$POLL_TIMEOUT" "$FILTER_SH" /tmp); then if ! out=$(printf '%s' "$raw" | run_with_timeout "$POLL_TIMEOUT" "$FILTER_SH" /tmp); then
_filter_ok=0 _filter_ok=0
if [ -z "$out" ]; then case "$out" in
out='{"log":[],"error":"filter_failed"}' '{"log":[],"error":"filter_failed"}'|\
fi '{"log":[],"error":"jsonfilter_missing"}'|\
'{"log":[],"error":"classifier_missing"}'|\
'{"log":[],"error":"filter_tempfile_failed"}')
;;
*)
out='{"log":[],"error":"filter_failed"}'
;;
esac
fi fi
if [ -z "$out" ]; then if [ -z "$out" ]; then
_filter_ok=0 _filter_ok=0
@@ -567,6 +639,10 @@ fetch_firewall_logs() {
} }
poll_logs() { poll_logs() {
if ! fwlive_timeout_available; then
printf '{"log":[],"error":"timeout_missing"}'
return 0
fi
# Optional JSON on $1 (rpcd may also pass argv $3 at the call site); else stdin. # Optional JSON on $1 (rpcd may also pass argv $3 at the call site); else stdin.
input=$(read_rpc_input "$1") input=$(read_rpc_input "$1")
fetch_firewall_logs "$input" fetch_firewall_logs "$input"
@@ -715,6 +791,11 @@ resolve_addresses() {
printf '{"names":{},"error":"no_resolver"}' printf '{"names":{},"error":"no_resolver"}'
return 0 return 0
fi fi
# Do not turn a missing timeout provider into a negative PTR cache entry.
if ! fwlive_timeout_available; then
printf '{"names":{},"error":"timeout_missing"}'
return 0
fi
# Load shed: previous poll was hot. # Load shed: previous poll was hot.
if fwlive_adaptive_is_hot; then if fwlive_adaptive_is_hot; then
@@ -726,10 +807,9 @@ resolve_addresses() {
input=$(read_rpc_input "$1") input=$(read_rpc_input "$1")
# Wall-clock budget starts after the input read and bounds the lookup # Wall-clock budget starts after the input read and bounds the lookup
# loop only. Stalled stdin is not interrupted — production rpcd closes # loop only. Stalled stdin is not interrupted — production rpcd closes
# a finite payload. `date +%s` can jump under NTP sync — accepted # a finite payload. /proc/uptime centiseconds are monotonic across an
# (worst case the budget over- or under-runs by the jump; worker # NTP step; if the clock helper prints 0, RESOLVE_MAX still bounds work.
# starvation is still prevented). start=$(fwlive_adaptive_clock_cs)
start=$(date +%s)
lookups=0 lookups=0
truncated=0 truncated=0
OUT='' OUT=''
@@ -777,8 +857,8 @@ resolve_addresses() {
fi fi
# Abort cleanly once the lookup-loop wall-clock budget is spent; # Abort cleanly once the lookup-loop wall-clock budget is spent;
# never START a lookup past the budget. # never START a lookup past the budget.
now=$(date +%s) now=$(fwlive_adaptive_clock_cs)
if [ $((now - start)) -ge "$RESOLVE_BUDGET" ]; then if [ $((now - start)) -ge $((RESOLVE_BUDGET * 100)) ]; then
truncated=1 truncated=1
break break
fi fi
@@ -884,6 +964,13 @@ run_selftest() {
echo 'is_uci_style_name: expected reject empty' >&2 echo 'is_uci_style_name: expected reject empty' >&2
return 1 return 1
fi fi
# echo would swallow -n/-E and dash echo would expand backslashes.
_slug=$(slug_key '-n')
check_eq 'slug_key -n' "$_slug" '-n' "expected -n got $_slug" || return 1
_slug=$(slug_key '-E')
check_eq 'slug_key -E' "$_slug" '-e' "expected -e got $_slug" || return 1
_slug=$(slug_key "$(printf 'a\\tb')")
check_eq 'slug_key backslash' "$_slug" "$(printf 'a\\tb')" "expected literal backslash got $_slug" || return 1
if is_resolvable_address 'not an ip'; then if is_resolvable_address 'not an ip'; then
echo 'is_resolvable_address: expected reject for spaces' >&2 echo 'is_resolvable_address: expected reject for spaces' >&2
+3 -3
View File
@@ -17,12 +17,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-wwand PKG_NAME:=luci-app-wwand
PKG_VERSION:=1.6.8_p4 PKG_VERSION:=1.6.8_p8
PKG_RELEASE:=30 PKG_RELEASE:=31
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/luci-app-wwand.git PKG_SOURCE_URL:=https://github.com/ddimension/luci-app-wwand.git
PKG_SOURCE_VERSION:=3d7585f3afe7eca05d55a179f4acc56653d8eac3 PKG_SOURCE_VERSION:=ee53e2130cc68616aabb0f8e9343d124ae5dfe63
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-2.0-only PKG_LICENSE:=GPL-2.0-only
+1 -1
View File
@@ -10,7 +10,7 @@ register_init() {
local init="$2" local init="$2"
shift; shift shift; shift
if [ -x "$init" ] && ! grep -sqE 'USE_PROCD=.' "$init"; then if [ -x "$init" ] && "$init" enabled && ! grep -sqE 'USE_PROCD=.' "$init"; then
logger -t "ucitrack" "Setting up /etc/config/$config reload trigger for non-procd $init" logger -t "ucitrack" "Setting up /etc/config/$config reload trigger for non-procd $init"
procd_add_config_trigger "config.change" "$config" "$init" "$@" procd_add_config_trigger "config.change" "$config" "$init" "$@"
fi fi
+3 -3
View File
@@ -20,12 +20,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=luci-proto-wwand PKG_NAME:=luci-proto-wwand
PKG_VERSION:=1.6.8 PKG_VERSION:=1.6.8_p1
PKG_RELEASE:=14 PKG_RELEASE:=15
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/luci-proto-wwand.git PKG_SOURCE_URL:=https://github.com/ddimension/luci-proto-wwand.git
PKG_SOURCE_VERSION:=9955af19483341997923b0d03e7644622636c640 PKG_SOURCE_VERSION:=43c71ef81faa7c2a164a9026ab526d3e2544a88e
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-2.0-only PKG_LICENSE:=GPL-2.0-only
+3 -3
View File
@@ -13,12 +13,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=wwand-ipa PKG_NAME:=wwand-ipa
PKG_VERSION:=0.1.0_p1 PKG_VERSION:=0.1.0_p2
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/wwand-ipa.git PKG_SOURCE_URL:=https://github.com/ddimension/wwand-ipa.git
PKG_SOURCE_VERSION:=f84625427503041472ba10f32df4969091a86f17 PKG_SOURCE_VERSION:=5b20069accf93daf685867e5902fb97e63413a36
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-2.0-only PKG_LICENSE:=GPL-2.0-only
+11 -3
View File
@@ -15,12 +15,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=wwand-ipad PKG_NAME:=wwand-ipad
PKG_VERSION:=0.1.0 PKG_VERSION:=0.1.0_p21
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/ipad.git PKG_SOURCE_URL:=https://github.com/ddimension/ipad.git
PKG_SOURCE_VERSION:=fbb175f4d272f0db45b3bc006392f172cd248aa5 PKG_SOURCE_VERSION:=fef4e5807f43eebc54327ff6f3751705d74b2dd7
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-2.0-only Apache-2.0 PKG_LICENSE:=GPL-2.0-only Apache-2.0
@@ -30,6 +30,14 @@ PKG_MAINTAINER:=
MBEDTLS_VERSION:=3.6.7 MBEDTLS_VERSION:=3.6.7
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
# mbedTLS' MULADDC inline assembly (library/bn_mul.h) is plain MIPS32 and cannot
# be assembled inside a MIPS16 function, which is how OpenWrt compiles
# mips_24kc/mipsel_24kc by default: bignum_core.c fails with "invalid operands
# `lw $10,16($sp)'" and "unrecognized opcode `addi'" (run 36239783275, both mips
# legs, nothing else). Same reason wwand-lpac sets it for wolfSSL's SP math.
PKG_BUILD_FLAGS:=no-mips16
CMAKE_BINARY_SUBDIR:=openwrt-build CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
+227
View File
@@ -0,0 +1,227 @@
#
# Remote SIM for wwand: a SIM card in a reader on the router — or on another
# machine over SSH — used by the modem as if it sat in its own slot, through
# Qualcomm's QMI UIM Remote service. A wwand PLUGIN (wwand plugins.uc), kept
# out of the wwand sources on purpose: it is not meant for upstream.
#
# Sources live in https://github.com/ddimension/wwand-rsim, tagged vX.Y.Z. Pin
# a new commit with `scripts/bump-source.sh wwand-rsim <tag|commit>`.
#
# Three packages from one source:
# - rsim-card: the card-side helper alone (C, the repo's helper/ subdirectory,
# CMake). What a SIM HOST needs — another router that only holds the
# reader: no wwand, no ucode, just the tool in /usr/bin, where an SSH reader
# (`ssh:<user>@<host>:<reader>`) runs it by name.
# - wwand-rsim: the plugin and the wwandctl command (ucode, installed as they
# are), pulling in rsim-card for readers on the modem's own router.
# - luci-app-wwand-rsim: the LuCI page (luci/), installed explicitly from
# $(PKG_BUILD_DIR) like luci-app-wwand-ipa.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=wwand-rsim
PKG_VERSION:=0.0.1_p27
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/wwand-rsim.git
PKG_SOURCE_VERSION:=a0cc81ccb480c19bcf5808cc148b17a2f5d26ca4
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
# The helper is the repo's helper/ subtree, in two builds (VARIANTs, built one
# after the other — no PKG_PARALLEL_VARIANTS, see the hostapd race in this
# feed's history): rsim-card without PC/SC — the Smartmouse USB, Phoenix and
# AT readers need none of it, and pcscd is a daemon a small SIM host should
# not have to run — and rsim-card-pcsc with it, for any CCID reader through
# pcscd. libusb is for the Smartmouse USB in both: its clock and mode are set
# and its UART driven over USB directly, no kernel serial driver needed.
CMAKE_SOURCE_SUBDIR:=helper
CMAKE_BINARY_SUBDIR:=build
CMAKE_OPTIONS += \
-DWITH_LIBUSB=ON \
-DBUILD_TESTING=OFF \
-DRSIM_WERROR=OFF
ifeq ($(BUILD_VARIANT),pcsc)
CMAKE_OPTIONS += -DWITH_PCSC=ON
else
CMAKE_OPTIONS += -DWITH_PCSC=OFF
endif
# Beside the package: the same helper, linked statically, as a file the site
# hands out. A SIM host reached with `ssh:<user>@<host>:<reader>` runs
# `rsim-card` by name and needs nothing else of this project, so it should be
# able to fetch one file — build.yml collects $(BIN_DIR)/rsim-card into
# public/tools/<arch>/, publish-feed.sh puts it under tools/<channel>/<arch>/
# and the start page links it. It is NOT part of any .apk.
#
# x86_64 only, because that is what people plug a reader into; adding an arch
# is one more value here. The second CMake tree repeats the toolchain settings
# of include/cmake.mk rather than reusing Build/Configure/Default, which is
# bound to CMAKE_BINARY_DIR. RSIM_STATIC=ON (upstream 7452f28) takes the static
# pkg-config link lines, so libusb comes along — on musl it needs no udev, the
# reason the same switch cannot produce a static USB build on a glibc distro.
RSIM_STATIC_ARCHS:=x86_64
# once, from the plain build: the static file carries no PC/SC either
ifeq ($(BUILD_VARIANT)$(filter $(ARCH),$(RSIM_STATIC_ARCHS)),nopcsc$(ARCH))
define Build/Compile/StaticTool
mkdir -p $(PKG_BUILD_DIR)/build-static
(cd $(PKG_BUILD_DIR)/build-static; \
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
cmake \
--no-warn-unused-cli \
-DCMAKE_SYSTEM_NAME=Linux \
-DCMAKE_SYSTEM_VERSION=1 \
-DCMAKE_SYSTEM_PROCESSOR=$(ARCH) \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
-DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \
-DCMAKE_AR="$(CMAKE_AR)" \
-DCMAKE_NM="$(CMAKE_NM)" \
-DCMAKE_RANLIB="$(CMAKE_RANLIB)" \
-DCMAKE_FIND_ROOT_PATH="$(CMAKE_FIND_ROOT_PATH)" \
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
-DCMAKE_PREFIX_PATH=$(STAGING_DIR) \
-DCMAKE_SKIP_RPATH=TRUE \
-DCMAKE_STRIP=: \
-DRSIM_STATIC=ON \
-DWITH_PCSC=OFF \
-DWITH_LIBUSB=ON \
-DBUILD_TESTING=OFF \
-DRSIM_WERROR=OFF \
$(CMAKE_SOURCE_DIR))
+$(MAKE) -C $(PKG_BUILD_DIR)/build-static rsim-card
$(INSTALL_DIR) $(BIN_DIR)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/build-static/rsim-card $(BIN_DIR)/rsim-card
endef
Hooks/Compile/Post += Build/Compile/StaticTool
endif
UCDIR:=/usr/share/ucode/wwand
define Package/rsim-card
SECTION:=net
CATEGORY:=Network
SUBMENU:=WWAN
TITLE:=SIM card reader helper for wwand-rsim (SIM host)
# libusb-1.0: the Smartmouse USB backend (clock, mode and UART over USB)
DEPENDS:=+libusb-1.0
VARIANT:=nopcsc
# the provider apk and Kconfig prefer for `rsim-card` (a dependency of
# wwand-rsim): the plain one; rsim-card-pcsc provides the same name, and
# same-provide variants need a default (include/package-pack.mk)
DEFAULT_VARIANT:=1
endef
define Package/rsim-card-pcsc
SECTION:=net
CATEGORY:=Network
SUBMENU:=WWAN
TITLE:=SIM card reader helper for wwand-rsim, with PC/SC readers
# pcscd + ccid: a CCID reader needs the daemon and its driver, and a
# helper that can reach neither would only fail at the first card
DEPENDS:=+libusb-1.0 +libpcsclite +pcscd +ccid
VARIANT:=pcsc
PROVIDES:=rsim-card
CONFLICTS:=rsim-card
endef
define Package/rsim-card-pcsc/description
rsim-card with the PC/SC backend as well (pcsc:<reader name or index>):
any CCID smart-card reader through pcscd, besides the Smartmouse USB,
Phoenix and AT readers. Installed instead of rsim-card; pulls in pcscd
and the CCID driver. `rsim-card --list` shows the readers pcscd knows.
endef
define Package/rsim-card/description
The card-side helper of wwand-rsim on its own: it owns a SIM card reader
(Phoenix/Smartmouse serial readers, the WB Electronics Smartmouse USB over
libusb) or the SIM of a modem it reaches over its AT port (at:<tty>,
AT+CSIM; that modem's radio is switched off while its card is lent), and
speaks JSON lines on stdin/stdout. Install it on a router that only holds
the reader or the modem (a SIM host); the router with the using modem
reaches it over SSH (rsim_reader ssh:<user>@<host>:<reader>). Needs
nothing of wwand.
endef
define Package/wwand-rsim
SECTION:=net
CATEGORY:=Network
SUBMENU:=WWAN
TITLE:=Remote SIM (QMI UIM Remote) for wwand
# wwand-qmi: the plugin allocates its UIM Remote client on the modem's QMI
# channel (core dep qmi_client); rsim-card: the helper for a reader on this
# router (the plugin looks for it in /usr/bin since upstream 56c9a71)
DEPENDS:=+wwand-qmi +rsim-card
VARIANT:=nopcsc
endef
define Package/wwand-rsim/description
Lets a Qualcomm modem use a SIM card that sits in a reader on the router,
or on another machine reached over SSH, as if it were in the modem's own
slot (QMI UIM Remote). Readers: Phoenix/Smartmouse serial readers, and the
WB Electronics Smartmouse USB driven over libusb (clock and mode set by
software). Configure per modem with `option rsim_reader` (phoenix:<tty>,
wbsm:, or ssh:<user>@<host>:<reader>). The modem firmware must have the
service enabled: `wwandctl rsim [modem] enable --reset` (Quectel).
Another wwand modem can lend its card instead (`modem:<donor>`), over the
SIM Access Profile or APDU by APDU (QMI UIM or AT+CSIM).
endef
define Package/luci-app-wwand-rsim
SECTION:=luci
CATEGORY:=LuCI
SUBMENU:=3. Applications
TITLE:=Remote SIM page for wwand-rsim
DEPENDS:=+luci-base +wwand-rsim
PKGARCH:=all
VARIANT:=nopcsc
endef
define Package/luci-app-wwand-rsim/description
Network -> Remote SIM: per modem, where its SIM comes from (its own, a
reader on the router or on another machine over SSH, or another modem
lending its card), the state of the remote card, and the router's SSH key.
endef
define Package/rsim-card/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(CMAKE_BINARY_DIR)/rsim-card $(1)/usr/bin/
endef
Package/rsim-card-pcsc/install = $(Package/rsim-card/install)
define Package/wwand-rsim/install
$(INSTALL_DIR) $(1)$(UCDIR)/plugins $(1)$(UCDIR)/ctl
$(INSTALL_DATA) $(PKG_BUILD_DIR)/plugins/rsim.uc $(1)$(UCDIR)/plugins/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/ctl/rsim.uc $(1)$(UCDIR)/ctl/
endef
# named, not globbed (the rule luci-app-wwand follows)
define Package/luci-app-wwand-rsim/install
$(INSTALL_DIR) $(1)/www/luci-static/resources/view/wwand
$(INSTALL_DATA) $(PKG_BUILD_DIR)/luci/htdocs/luci-static/resources/view/wwand/rsim.js \
$(1)/www/luci-static/resources/view/wwand/
$(INSTALL_DIR) $(1)/usr/share/luci/menu.d $(1)/usr/share/rpcd/acl.d
$(INSTALL_DATA) $(PKG_BUILD_DIR)/luci/root/usr/share/luci/menu.d/luci-app-wwand-rsim.json \
$(1)/usr/share/luci/menu.d/
$(INSTALL_DATA) $(PKG_BUILD_DIR)/luci/root/usr/share/rpcd/acl.d/luci-app-wwand-rsim.json \
$(1)/usr/share/rpcd/acl.d/
endef
$(eval $(call BuildPackage,rsim-card))
$(eval $(call BuildPackage,rsim-card-pcsc))
$(eval $(call BuildPackage,wwand-rsim))
$(eval $(call BuildPackage,luci-app-wwand-rsim))
+4 -4
View File
@@ -50,12 +50,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=wwand PKG_NAME:=wwand
PKG_VERSION:=1.6.8_p25 PKG_VERSION:=1.6.8_p41
PKG_RELEASE:=58 PKG_RELEASE:=59
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ddimension/wwand.git PKG_SOURCE_URL:=https://github.com/ddimension/wwand.git
PKG_SOURCE_VERSION:=cd55f6dd5c0b81d47f7dd6f8a07ab69b58bd1061 PKG_SOURCE_VERSION:=113788ba066262395e84ac8f8e9ad11a5facfaf8
PKG_MIRROR_HASH:=skip PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-2.0-only PKG_LICENSE:=GPL-2.0-only
@@ -101,7 +101,7 @@ WWAND_BASE_UC:=apndb.uc atcmd.uc atcmd_parse.uc atport.uc backend.uc board.uc \
hwops.uc log.uc modem_common.uc modem_datapath_qmi.uc modem_init_qmi.uc plugins.uc \ hwops.uc log.uc modem_common.uc modem_datapath_qmi.uc modem_init_qmi.uc plugins.uc \
modem_quirks.uc modeswitch.uc ncm_vendors.uc netlink.uc netsel_ops.uc \ modem_quirks.uc modeswitch.uc ncm_vendors.uc netlink.uc netsel_ops.uc \
protocol_switch.uc reconnect.uc recovery.uc regdetail.uc sim.uc sim_plmn.uc \ protocol_switch.uc reconnect.uc recovery.uc regdetail.uc sim.uc sim_plmn.uc \
simops.uc sms.uc sms_pdu.uc telemetry_mbim.uc telemetry_ncm.uc \ simops.uc siminventory.uc sms.uc sms_pdu.uc telemetry_mbim.uc telemetry_ncm.uc \
telemetry_qmi.uc transport.uc ubus.uc version.uc wwandctl_fmt.uc telemetry_qmi.uc transport.uc ubus.uc version.uc wwandctl_fmt.uc
WWAND_BASE_CODEC:=arfcn_bands.uc hex.uc qmux.uc tlv.uc WWAND_BASE_CODEC:=arfcn_bands.uc hex.uc qmux.uc tlv.uc
WWAND_BASE_SCHEMA:=cat.uc ctl.uc dms.uc dsd.uc loc.uc loc_lazy.uc merge.uc nas.uc pdc.uc rat.uc \ WWAND_BASE_SCHEMA:=cat.uc ctl.uc dms.uc dsd.uc loc.uc loc_lazy.uc merge.uc nas.uc pdc.uc rat.uc \