summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-advanced-reboot/po/de/advanced-reboot.po8
-rw-r--r--applications/luci-app-ddns/po/es/ddns.po6
-rw-r--r--applications/luci-app-ddns/po/pl/ddns.po6
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js623
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js245
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js299
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js268
-rw-r--r--applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js8
-rw-r--r--applications/luci-app-firewall/po/bg/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/ca/firewall.po989
-rw-r--r--applications/luci-app-firewall/po/cs/firewall.po994
-rw-r--r--applications/luci-app-firewall/po/de/firewall.po1286
-rw-r--r--applications/luci-app-firewall/po/el/firewall.po932
-rw-r--r--applications/luci-app-firewall/po/en/firewall.po907
-rw-r--r--applications/luci-app-firewall/po/es/firewall.po1125
-rw-r--r--applications/luci-app-firewall/po/fr/firewall.po971
-rw-r--r--applications/luci-app-firewall/po/he/firewall.po907
-rw-r--r--applications/luci-app-firewall/po/hi/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/hu/firewall.po1196
-rw-r--r--applications/luci-app-firewall/po/it/firewall.po1007
-rw-r--r--applications/luci-app-firewall/po/ja/firewall.po1073
-rw-r--r--applications/luci-app-firewall/po/ko/firewall.po921
-rw-r--r--applications/luci-app-firewall/po/mr/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/ms/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/no/firewall.po994
-rw-r--r--applications/luci-app-firewall/po/pl/firewall.po1127
-rw-r--r--applications/luci-app-firewall/po/pt-br/firewall.po1079
-rw-r--r--applications/luci-app-firewall/po/pt/firewall.po1119
-rw-r--r--applications/luci-app-firewall/po/ro/firewall.po940
-rw-r--r--applications/luci-app-firewall/po/ru/firewall.po1261
-rw-r--r--applications/luci-app-firewall/po/sk/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/sv/firewall.po1000
-rw-r--r--applications/luci-app-firewall/po/templates/firewall.pot907
-rw-r--r--applications/luci-app-firewall/po/tr/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/uk/firewall.po1074
-rw-r--r--applications/luci-app-firewall/po/vi/firewall.po913
-rw-r--r--applications/luci-app-firewall/po/zh-cn/firewall.po1079
-rw-r--r--applications/luci-app-firewall/po/zh-tw/firewall.po1076
-rw-r--r--applications/luci-app-https-dns-proxy/po/de/https-dns-proxy.po8
-rw-r--r--applications/luci-app-olsr/po/ru/olsr.po8
-rw-r--r--applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua2
-rw-r--r--applications/luci-app-openvpn/po/bg/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/ca/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/cs/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/de/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/el/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/en/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/es/openvpn.po8
-rw-r--r--applications/luci-app-openvpn/po/fr/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/he/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/hi/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/hu/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/it/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/ja/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/ko/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/mr/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/ms/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/no/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/pl/openvpn.po8
-rw-r--r--applications/luci-app-openvpn/po/pt-br/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/pt/openvpn.po8
-rw-r--r--applications/luci-app-openvpn/po/ro/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/ru/openvpn.po11
-rw-r--r--applications/luci-app-openvpn/po/sk/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/sv/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/templates/openvpn.pot5
-rw-r--r--applications/luci-app-openvpn/po/tr/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/uk/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/vi/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/zh-cn/openvpn.po5
-rw-r--r--applications/luci-app-openvpn/po/zh-tw/openvpn.po5
-rw-r--r--applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua2
-rw-r--r--applications/luci-app-radicale2/po/bg/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/ca/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/cs/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/de/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/el/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/en/radicale2.po4
-rw-r--r--applications/luci-app-radicale2/po/es/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/fr/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/he/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/hi/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/hu/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/it/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/ja/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/ko/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/mr/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/ms/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/nb_NO/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/pl/radicale2.po9
-rw-r--r--applications/luci-app-radicale2/po/pt/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/pt_BR/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/ro/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/ru/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/sk/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/sv/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/templates/radicale2.pot2
-rw-r--r--applications/luci-app-radicale2/po/tr/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/uk/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/vi/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/zh-cn/radicale2.po2
-rw-r--r--applications/luci-app-radicale2/po/zh-tw/radicale2.po2
-rw-r--r--applications/luci-app-samba/po/ru/samba.po13
-rw-r--r--applications/luci-app-samba4/po/ru/samba4.po11
-rw-r--r--applications/luci-app-simple-adblock/po/ru/simple-adblock.po8
-rw-r--r--applications/luci-app-transmission/Makefile2
-rw-r--r--applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js303
-rw-r--r--applications/luci-app-transmission/luasrc/controller/transmission.lua14
-rw-r--r--applications/luci-app-transmission/luasrc/model/cbi/transmission.lua221
-rw-r--r--applications/luci-app-transmission/po/bg/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/ca/transmission.po254
-rw-r--r--applications/luci-app-transmission/po/cs/transmission.po263
-rw-r--r--applications/luci-app-transmission/po/de/transmission.po257
-rw-r--r--applications/luci-app-transmission/po/el/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/en/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/es/transmission.po261
-rw-r--r--applications/luci-app-transmission/po/fr/transmission.po243
-rw-r--r--applications/luci-app-transmission/po/he/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/hi/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/hu/transmission.po259
-rw-r--r--applications/luci-app-transmission/po/it/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/ja/transmission.po256
-rw-r--r--applications/luci-app-transmission/po/ko/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/mr/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/ms/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/no/transmission.po254
-rw-r--r--applications/luci-app-transmission/po/pl/transmission.po260
-rw-r--r--applications/luci-app-transmission/po/pt-br/transmission.po257
-rw-r--r--applications/luci-app-transmission/po/pt/transmission.po257
-rw-r--r--applications/luci-app-transmission/po/ro/transmission.po245
-rw-r--r--applications/luci-app-transmission/po/ru/transmission.po277
-rw-r--r--applications/luci-app-transmission/po/sk/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/sv/transmission.po251
-rw-r--r--applications/luci-app-transmission/po/templates/transmission.pot240
-rw-r--r--applications/luci-app-transmission/po/tr/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/uk/transmission.po244
-rw-r--r--applications/luci-app-transmission/po/vi/transmission.po240
-rw-r--r--applications/luci-app-transmission/po/zh-cn/transmission.po257
-rw-r--r--applications/luci-app-transmission/po/zh-tw/transmission.po257
-rw-r--r--applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission11
-rw-r--r--applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json9
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua2
-rw-r--r--applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua2
-rw-r--r--applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po36
-rw-r--r--applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po8
-rw-r--r--applications/luci-app-vpnbypass/po/ru/vpnbypass.po14
-rw-r--r--applications/luci-app-yggdrasil/po/de/yggdrasil.po20
-rw-r--r--applications/luci-app-yggdrasil/po/pt/yggdrasil.po8
148 files changed, 21687 insertions, 18539 deletions
diff --git a/applications/luci-app-advanced-reboot/po/de/advanced-reboot.po b/applications/luci-app-advanced-reboot/po/de/advanced-reboot.po
index 2ad4e1f298..a197d590fc 100644
--- a/applications/luci-app-advanced-reboot/po/de/advanced-reboot.po
+++ b/applications/luci-app-advanced-reboot/po/de/advanced-reboot.po
@@ -1,14 +1,14 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2019-12-02 16:11+0000\n"
-"Last-Translator: Jiri Tersel <jiri.tersel@seznam.cz>\n"
+"PO-Revision-Date: 2020-01-19 06:04+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsadvanced-reboot/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:163
#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/advanced_reboot.htm:10
@@ -185,7 +185,7 @@ msgstr "Die Umgebungsvariable für die Firmware kann nicht gesetzt werden"
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:123
#: applications/luci-app-advanced-reboot/luasrc/controller/advanced_reboot.lua:124
msgid "Unknown"
-msgstr ""
+msgstr "Unbekannt"
#: applications/luci-app-advanced-reboot/luasrc/view/advanced_reboot/alternative_reboot.htm:12
msgid ""
diff --git a/applications/luci-app-ddns/po/es/ddns.po b/applications/luci-app-ddns/po/es/ddns.po
index fce719b2dc..0859fff83d 100644
--- a/applications/luci-app-ddns/po/es/ddns.po
+++ b/applications/luci-app-ddns/po/es/ddns.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2019-11-18 05:08+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsddns/es/>\n"
@@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:964
msgid "\"../\" not allowed in path for Security Reason."
@@ -814,7 +814,7 @@ msgstr "Directorio o ruta/archivo"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:817
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:854
msgid "hours"
-msgstr "Horas"
+msgstr "horas"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:816
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:853
diff --git a/applications/luci-app-ddns/po/pl/ddns.po b/applications/luci-app-ddns/po/pl/ddns.po
index 94fcc250ce..2b17ffa407 100644
--- a/applications/luci-app-ddns/po/pl/ddns.po
+++ b/applications/luci-app-ddns/po/pl/ddns.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: luci-app-ddns 2.4.0-1\n"
"POT-Creation-Date: 2016-01-30 11:07+0100\n"
-"PO-Revision-Date: 2020-01-14 15:22+0000\n"
+"PO-Revision-Date: 2020-01-19 06:04+0000\n"
"Last-Translator: Marcin Net <marcin.net@linux.pl>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsddns/pl/>\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.11-dev\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:964
msgid "\"../\" not allowed in path for Security Reason."
@@ -407,7 +407,7 @@ msgstr "Log do dziennika systemowego"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:458
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/status/include/70_ddns.js:28
msgid "Lookup Hostname"
-msgstr "Nazwa hosta serwera"
+msgstr "Nazwa hosta wyszukiwania"
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:311
#: applications/luci-app-ddns/htdocs/luci-static/resources/view/ddns/overview.js:388
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js b/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js
index e983035b3d..cfa6c83651 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js
@@ -36,10 +36,12 @@ var protocols = [
'esp', 50, 'IPSEC-ESP',
'ah', 51, 'IPSEC-AH',
'skip', 57, 'SKIP',
+ 'icmpv6', 58, 'IPv6-ICMP',
'ipv6-icmp', 58, 'IPv6-ICMP',
'ipv6-nonxt', 59, 'IPv6-NoNxt',
'ipv6-opts', 60, 'IPv6-Opts',
- 'rspf', 73, 'RSPF', 'CPHB',
+ 'rspf', 73, 'RSPF',
+ 'rspf', 73, 'CPHB',
'vmtp', 81, 'VMTP',
'eigrp', 88, 'EIGRP',
'ospf', 89, 'OSPFIGP',
@@ -54,6 +56,8 @@ var protocols = [
'isis', 124, 'ISIS',
'sctp', 132, 'SCTP',
'fc', 133, 'FC',
+ 'mh', 135, 'Mobility-Header',
+ 'ipv6-mh', 135, 'Mobility-Header',
'mobility-header', 135, 'Mobility-Header',
'udplite', 136, 'UDPLite',
'mpls-in-ip', 137, 'MPLS-in-IP',
@@ -72,243 +76,184 @@ function lookupProto(x) {
for (var i = 0; i < protocols.length; i += 3)
if (s == protocols[i] || s == protocols[i+1])
- return [ protocols[i+1], protocols[i+2] ];
+ return [ protocols[i+1], protocols[i+2], protocols[i] ];
- return [ -1, x ];
+ return [ -1, x, x ];
}
-
return L.Class.extend({
- fmt_neg: function(x) {
- var rv = E([]),
- v = (typeof(x) == 'string') ? x.replace(/^ *! */, '') : '';
-
- L.dom.append(rv, (v != '' && v != x) ? [ _('not') + ' ', v ] : [ '', x ]);
- return rv;
- },
-
- fmt_mac: function(x) {
- var rv = E([]), l = L.toArray(x);
-
- if (l.length == 0)
- return null;
-
- L.dom.append(rv, [ _('MAC') + ' ' ]);
-
- for (var i = 0; i < l.length; i++) {
- var n = this.fmt_neg(l[i]);
- L.dom.append(rv, (i > 0) ? [ ', ', n ] : n);
+ fmt: function(fmtstr, args, values) {
+ var repl = [],
+ wrap = false,
+ tokens = [];
+
+ if (values == null) {
+ values = [];
+ wrap = true;
}
- if (rv.childNodes.length > 2)
- rv.firstChild.data = _('MACs') + ' ';
-
- return rv;
- },
+ var get = function(args, key) {
+ var names = key.trim().split(/\./),
+ obj = args,
+ ctx = obj;
- fmt_port: function(x, d) {
- var rv = E([]), l = L.toArray(x);
+ for (var i = 0; i < names.length; i++) {
+ if (!L.isObject(obj))
+ return null;
- if (l.length == 0) {
- if (d) {
- L.dom.append(rv, E('var', {}, d));
- return rv;
+ ctx = obj;
+ obj = obj[names[i]];
}
- return null;
- }
-
- L.dom.append(rv, [ _('port') + ' ' ]);
+ if (typeof(obj) == 'function')
+ return obj.call(ctx);
- for (var i = 0; i < l.length; i++) {
- var n = this.fmt_neg(l[i]),
- m = n.lastChild.data.match(/^(\d+)\D+(\d+)$/);
+ return obj;
+ };
- if (i > 0)
- L.dom.append(rv, [ ', ' ]);
+ var isset = function(val) {
+ if (L.isObject(val) && !L.dom.elem(val)) {
+ for (var k in val)
+ if (val.hasOwnProperty(k))
+ return true;
- if (m) {
- rv.firstChild.data = _('ports') + ' ';
- L.dom.append(rv, E('var', [ n.firstChild, m[1], '-', m[2] ]));
+ return false;
+ }
+ else if (Array.isArray(val)) {
+ return (val.length > 0);
}
else {
- L.dom.append(rv, E('var', {}, n));
+ return (val !== null && val !== undefined && val !== '' && val !== false);
}
- }
-
- if (rv.childNodes.length > 2)
- rv.firstChild.data = _('ports') + ' ';
-
- return rv;
- },
-
- fmt_ip: function(x, d) {
- var rv = E([]), l = L.toArray(x);
+ };
- if (l.length == 0) {
- if (d) {
- L.dom.append(rv, E('var', {}, d));
- return rv;
+ var parse = function(tokens, text) {
+ if (L.dom.elem(text)) {
+ tokens.push('<span data-fmt-placeholder="%d"></span>'.format(values.length));
+ values.push(text);
+ }
+ else {
+ tokens.push(String(text).replace(/\\(.)/g, '$1'));
}
+ };
- return null;
+ for (var i = 0, last = 0; i <= fmtstr.length; i++) {
+ if (fmtstr.charAt(i) == '%' && fmtstr.charAt(i + 1) == '{') {
+ if (i > last)
+ parse(tokens, fmtstr.substring(last, i));
+
+ var j = i + 1, nest = 0;
+
+ var subexpr = [];
+
+ for (var off = j + 1, esc = false; j <= fmtstr.length; j++) {
+ var ch = fmtstr.charAt(j);
+
+ if (esc) {
+ esc = false;
+ }
+ else if (ch == '\\') {
+ esc = true;
+ }
+ else if (ch == '{') {
+ nest++;
+ }
+ else if (ch == '}') {
+ if (--nest == 0) {
+ subexpr.push(fmtstr.substring(off, j));
+ break;
+ }
+ }
+ else if (ch == '?' || ch == ':' || ch == '#') {
+ if (nest == 1) {
+ subexpr.push(fmtstr.substring(off, j));
+ subexpr.push(ch);
+ off = j + 1;
+ }
+ }
+ }
+
+ var varname = subexpr[0].trim(),
+ op1 = (subexpr[1] != null) ? subexpr[1] : '?',
+ if_set = (subexpr[2] != null && subexpr[2] != '') ? subexpr[2] : '%{' + varname + '}',
+ op2 = (subexpr[3] != null) ? subexpr[3] : ':',
+ if_unset = (subexpr[4] != null) ? subexpr[4] : '';
+
+ /* Invalid expression */
+ if (nest != 0 || subexpr.length > 5 || varname == '') {
+ return fmtstr;
+ }
+
+ /* enumeration */
+ else if (op1 == '#' && subexpr.length == 3) {
+ var items = L.toArray(get(args, varname));
+
+ for (var k = 0; k < items.length; k++) {
+ tokens.push.apply(tokens, this.fmt(if_set, Object.assign({}, args, {
+ first: k == 0,
+ next: k > 0,
+ last: (k + 1) == items.length,
+ item: items[k]
+ }), values));
+ }
+ }
+
+ /* ternary expression */
+ else if (op1 == '?' && op2 == ':' && (subexpr.length == 1 || subexpr.length == 3 || subexpr.length == 5)) {
+ var val = get(args, varname);
+
+ if (subexpr.length == 1)
+ parse(tokens, isset(val) ? val : '');
+ else if (isset(val))
+ tokens.push.apply(tokens, this.fmt(if_set, args, values));
+ else
+ tokens.push.apply(tokens, this.fmt(if_unset, args, values));
+ }
+
+ /* unrecognized command */
+ else {
+ return fmtstr;
+ }
+
+ last = j + 1;
+ i = j;
+ }
+ else if (i >= fmtstr.length) {
+ if (i > last)
+ parse(tokens, fmtstr.substring(last, i));
+ }
}
- L.dom.append(rv, [ _('IP') + ' ' ]);
+ if (wrap) {
+ var node = E('span', {}, tokens.join('')),
+ repl = node.querySelectorAll('span[data-fmt-placeholder]');
- for (var i = 0; i < l.length; i++) {
- var n = this.fmt_neg(l[i]),
- m = n.lastChild.data.match(/^(\S+)\/(\d+\.\S+)$/);
+ for (var i = 0; i < repl.length; i++)
+ repl[i].parentNode.replaceChild(values[repl[i].getAttribute('data-fmt-placeholder')], repl[i]);
- if (i > 0)
- L.dom.append(rv, [ ', ' ]);
-
- if (m)
- rv.firstChild.data = _('IP range') + ' ';
- else if (n.lastChild.data.match(/^[a-zA-Z0-9_]+$/))
- rv.firstChild.data = _('Network') + ' ';
-
- L.dom.append(rv, E('var', {}, n));
+ return node;
}
-
- if (rv.childNodes.length > 2)
- rv.firstChild.data = _('IPs') + ' ';
-
- return rv;
- },
-
- fmt_zone: function(x, d) {
- if (x == '*')
- return E('var', _('any zone'));
- else if (x != null && x != '')
- return E('var', {}, [ x ]);
- else if (d != null && d != '')
- return E('var', {}, d);
- else
- return null;
- },
-
- fmt_icmp_type: function(x) {
- var rv = E([]), l = L.toArray(x);
-
- if (l.length == 0)
- return null;
-
- L.dom.append(rv, [ _('type') + ' ' ]);
-
- for (var i = 0; i < l.length; i++) {
- var n = this.fmt_neg(l[i]);
-
- if (i > 0)
- L.dom.append(rv, [ ', ' ]);
-
- L.dom.append(rv, E('var', {}, n));
+ else {
+ return tokens;
}
-
- if (rv.childNodes.length > 2)
- rv.firstChild.data = _('types') + ' ';
-
- return rv;
- },
-
- fmt_family: function(family) {
- if (family == 'ipv4')
- return _('IPv4');
- else if (family == 'ipv6')
- return _('IPv6');
- else
- return _('IPv4 and IPv6');
},
- fmt_proto: function(x, icmp_types) {
- var rv = E([]), l = L.toArray(x);
+ map_invert: function(v, fn) {
+ return L.toArray(v).map(function(v) {
+ v = String(v);
- if (l.length == 0)
- return null;
-
- var t = this.fmt_icmp_type(icmp_types);
-
- for (var i = 0; i < l.length; i++) {
- var n = this.fmt_neg(l[i]),
- p = lookupProto(n.lastChild.data);
-
- if (n.lastChild.data == 'all')
- continue;
+ if (fn != null && typeof(v[fn]) == 'function')
+ v = v[fn].call(v);
- if (i > 0)
- L.dom.append(rv, [ ', ' ]);
-
- if (t && (p[0] == 1 || p[0] == 58))
- L.dom.append(rv, [ _('%s%s with %s').format(n.firstChild.data, p[1], ''), t ]);
- else
- L.dom.append(rv, [ n.firstChild.data, p[1] ]);
- }
-
- return rv;
+ return {
+ ival: v,
+ inv: v.charAt(0) == '!',
+ val: v.replace(/^!\s*/, '')
+ };
+ });
},
- fmt_limit: function(limit, burst) {
- if (limit == null || limit == '')
- return null;
-
- var m = String(limit).match(/^(\d+)\/(\w+)$/),
- u = m[2] || 'second',
- l = +(m[1] || limit),
- b = +burst;
-
- if (!isNaN(l)) {
- if (u.match(/^s/))
- u = _('second');
- else if (u.match(/^m/))
- u = _('minute');
- else if (u.match(/^h/))
- u = _('hour');
- else if (u.match(/^d/))
- u = _('day');
-
- if (!isNaN(b) && b > 0)
- return E('<span>' +
- _('<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts.').format(l, u, b) +
- '</span>');
- else
- return E('<span>' +
- _('<var>%d</var> pkts. per <var>%s</var>').format(l, u) +
- '</span>');
- }
- },
-
- fmt_target: function(x, src, dest) {
- if (src == null || src == '') {
- if (x == 'ACCEPT')
- return _('Accept output');
- else if (x == 'REJECT')
- return _('Refuse output');
- else if (x == 'NOTRACK')
- return _('Do not track output');
- else /* if (x == 'DROP') */
- return _('Discard output');
- }
- else if (dest != null && dest != '') {
- if (x == 'ACCEPT')
- return _('Accept forward');
- else if (x == 'REJECT')
- return _('Refuse forward');
- else if (x == 'NOTRACK')
- return _('Do not track forward');
- else /* if (x == 'DROP') */
- return _('Discard forward');
- }
- else {
- if (x == 'ACCEPT')
- return _('Accept input');
- else if (x == 'REJECT' )
- return _('Refuse input');
- else if (x == 'NOTRACK')
- return _('Do not track input');
- else /* if (x == 'DROP') */
- return _('Discard input');
- }
- },
+ lookupProto: lookupProto,
addDSCPOption: function(s, is_target) {
var o = s.taboption(is_target ? 'general' : 'advanced', form.Value, is_target ? 'set_dscp' : 'dscp',
@@ -442,5 +387,267 @@ return L.Class.extend({
o.depends({ limit: null, '!reverse': true });
return o;
- }
+ },
+
+ transformHostHints: function(family, hosts) {
+ var choice_values = [], choice_labels = {};
+
+ if (!family || family == 'ipv4') {
+ L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
+ var val = hosts[mac].ipv4,
+ txt = hosts[mac].name || mac;
+
+ choice_values.push(val);
+ choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]);
+ });
+ }
+
+ if (!family || family == 'ipv6') {
+ L.sortedKeys(hosts, 'ipv6', 'addr').forEach(function(mac) {
+ var val = hosts[mac].ipv6,
+ txt = hosts[mac].name || mac;
+
+ choice_values.push(val);
+ choice_labels[val] = E([], [ val, ' (', E('strong', {}, [txt]), ')' ]);
+ });
+ }
+
+ return [choice_values, choice_labels];
+ },
+
+ updateHostHints: function(map, section_id, option, family, hosts) {
+ var opt = map.lookupOption(option, section_id)[0].getUIElement(section_id),
+ choices = this.transformHostHints(family, hosts);
+
+ opt.clearChoices();
+ opt.addChoices(choices[0], choices[1]);
+ },
+
+ addIPOption: function(s, tab, name, label, description, family, hosts, multiple) {
+ var o = s.taboption(tab, multiple ? form.DynamicList : form.Value, name, label, description);
+
+ o.modalonly = true;
+ o.datatype = 'list(neg(ipmask))';
+ o.placeholder = multiple ? _('-- add IP --') : _('any');
+
+ if (family != null) {
+ var choices = this.transformHostHints(family, hosts);
+
+ for (var i = 0; i < choices[0].length; i++)
+ o.value(choices[0][i], choices[1][choices[0][i]]);
+ }
+
+ /* force combobox rendering */
+ o.transformChoices = function() {
+ return this.super('transformChoices', []) || {};
+ };
+
+ return o;
+ },
+
+ addLocalIPOption: function(s, tab, name, label, description, devices) {
+ var o = s.taboption(tab, form.Value, name, label, description);
+
+ o.modalonly = true;
+ o.datatype = 'ip4addr("nomask")';
+ o.placeholder = _('any');
+
+ L.sortedKeys(devices, 'name').forEach(function(dev) {
+ var ip4addrs = devices[dev].ipaddrs;
+
+ if (!L.isObject(devices[dev].flags) || !Array.isArray(ip4addrs) || devices[dev].flags.loopback)
+ return;
+
+ for (var i = 0; i < ip4addrs.length; i++) {
+ if (!L.isObject(ip4addrs[i]) || !ip4addrs[i].address)
+ continue;
+
+ o.value(ip4addrs[i].address, E([], [
+ ip4addrs[i].address, ' (', E('strong', {}, [dev]), ')'
+ ]));
+ }
+ });
+
+ return o;
+ },
+
+ addMACOption: function(s, tab, name, label, description, hosts) {
+ var o = s.taboption(tab, form.DynamicList, name, label, description);
+
+ o.modalonly = true;
+ o.datatype = 'list(macaddr)';
+ o.placeholder = _('-- add MAC --');
+
+ L.sortedKeys(hosts).forEach(function(mac) {
+ o.value(mac, E([], [ mac, ' (', E('strong', {}, [
+ hosts[mac].name || hosts[mac].ipv4 || hosts[mac].ipv6 || '?'
+ ]), ')' ]));
+ });
+
+ return o;
+ },
+
+ CBIProtocolSelect: form.MultiValue.extend({
+ __name__: 'CBI.ProtocolSelect',
+
+ addChoice: function(value, label) {
+ if (!Array.isArray(this.keylist) || this.keylist.indexOf(value) == -1)
+ this.value(value, label);
+ },
+
+ load: function(section_id) {
+ var cfgvalue = L.toArray(this.super('load', [section_id]) || this.default).sort();
+
+ ['all', 'tcp', 'udp', 'icmp'].concat(cfgvalue).forEach(L.bind(function(value) {
+ switch (value) {
+ case 'all':
+ case 'any':
+ case '*':
+ this.addChoice('all', _('Any'));
+ break;
+
+ case 'tcpudp':
+ this.addChoice('tcp', 'TCP');
+ this.addChoice('udp', 'UDP');
+ break;
+
+ default:
+ var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/),
+ p = lookupProto(m ? +m[1] : value);
+
+ this.addChoice(p[2], p[1]);
+ break;
+ }
+ }, this));
+
+ return cfgvalue;
+ },
+
+ renderWidget: function(section_id, option_index, cfgvalue) {
+ var value = (cfgvalue != null) ? cfgvalue : this.default,
+ choices = this.transformChoices();
+
+ var widget = new ui.Dropdown(L.toArray(value), choices, {
+ id: this.cbid(section_id),
+ sort: this.keylist,
+ multiple: true,
+ optional: false,
+ display_items: 10,
+ dropdown_items: -1,
+ create: true,
+ validate: function(value) {
+ var v = L.toArray(value);
+
+ for (var i = 0; i < v.length; i++) {
+ if (v[i] == 'all')
+ continue;
+
+ var m = v[i].match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/);
+
+ if (m ? (+m[1] > 255) : (lookupProto(v[i])[0] == -1))
+ return _('Unrecognized protocol');
+ }
+
+ return true;
+ }
+ });
+
+ widget.createChoiceElement = function(sb, value) {
+ var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/),
+ p = lookupProto(lookupProto(m ? +m[1] : value)[0]);
+
+ return ui.Dropdown.prototype.createChoiceElement.call(this, sb, p[2], p[1]);
+ };
+
+ widget.createItems = function(sb, value) {
+ var values = L.toArray(value).map(function(value) {
+ var m = value.match(/^(0x[0-9a-f]{1,2}|[0-9]{1,3})$/),
+ p = lookupProto(m ? +m[1] : value);
+
+ return (p[0] > -1) ? p[2] : value;
+ });
+
+ return ui.Dropdown.prototype.createItems.call(this, sb, values.join(' '));
+ };
+
+ widget.toggleItem = function(sb, li) {
+ var value = li.getAttribute('data-value'),
+ toggleFn = ui.Dropdown.prototype.toggleItem;
+
+ toggleFn.call(this, sb, li);
+
+ if (value == 'all') {
+ var items = li.parentNode.querySelectorAll('li[data-value]');
+
+ for (var j = 0; j < items.length; j++)
+ if (items[j] !== li)
+ toggleFn.call(this, sb, items[j], false);
+ }
+ else {
+ toggleFn.call(this, sb, li.parentNode.querySelector('li[data-value="all"]'), false);
+ }
+ };
+
+ return widget.render();
+ }
+ }),
+
+ checkLegacySNAT: function() {
+ var redirects = uci.sections('firewall', 'redirect');
+
+ for (var i = 0; i < redirects.length; i++)
+ if ((redirects[i]['target'] || '').toLowerCase() == 'snat')
+ return true;
+
+ return false;
+ },
+
+ handleMigration: function(ev) {
+ var redirects = uci.sections('firewall', 'redirect'),
+ tasks = [];
+
+ var mapping = {
+ dest: 'src',
+ reflection: null,
+ reflection_src: null,
+ src_dip: 'snat_ip',
+ src_dport: 'snat_port',
+ src: null
+ };
+
+ for (var i = 0; i < redirects.length; i++) {
+ if ((redirects[i]['target'] || '').toLowerCase() != 'snat')
+ continue;
+
+ var sid = uci.add('firewall', 'nat');
+
+ for (var opt in redirects[i]) {
+ if (opt.charAt(0) == '.')
+ continue;
+
+ if (mapping[opt] === null)
+ continue;
+
+ uci.set('firewall', sid, mapping[opt] || opt, redirects[i][opt]);
+ }
+
+ uci.remove('firewall', redirects[i]['.name']);
+ }
+
+ return uci.save()
+ .then(L.bind(ui.changes.init, ui.changes))
+ .then(L.bind(ui.changes.apply, ui.changes));
+ },
+
+ renderMigration: function() {
+ ui.showModal(_('Firewall configuration migration'), [
+ E('p', _('The existing firewall configuration needs to be changed for LuCI to function properly.')),
+ E('p', _('Upon pressing "Continue", "redirect" sections with target "SNAT" will be converted to "nat" sections and the firewall will be restarted to apply the updated configuration.')),
+ E('div', { 'class': 'right' },
+ E('button', {
+ 'class': 'btn cbi-button-action important',
+ 'click': ui.createHandlerFn(this, 'handleMigration')
+ }, _('Continue')))
+ ]);
+ },
});
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js
index 500e68fb17..916a32fcaf 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js
@@ -3,73 +3,85 @@
'require rpc';
'require uci';
'require form';
+'require firewall as fwmodel';
'require tools.firewall as fwtool';
'require tools.widgets as widgets';
-function fmt(fmt /*, ...*/) {
- var repl = [], wrap = false;
-
- for (var i = 1; i < arguments.length; i++) {
- if (L.dom.elem(arguments[i])) {
- switch (arguments[i].nodeType) {
- case 1:
- repl.push(arguments[i].outerHTML);
- wrap = true;
- break;
-
- case 3:
- repl.push(arguments[i].data);
- break;
-
- case 11:
- var span = E('span');
- span.appendChild(arguments[i]);
- repl.push(span.innerHTML);
- wrap = true;
- break;
-
- default:
- repl.push('');
- }
- }
- else {
- repl.push(arguments[i]);
- }
- }
+function rule_proto_txt(s, ctHelpers) {
+ var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) {
+ return (p != '*' && p != 'any' && p != 'all');
+ }).map(function(p) {
+ var pr = fwtool.lookupProto(p);
+ return {
+ num: pr[0],
+ name: pr[1],
+ types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null
+ };
+ });
+
+ m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/);
+ var h = m ? {
+ val: m[0].toUpperCase(),
+ inv: m[1],
+ name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description
+ } : null;
+
+ m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
+ var f = m ? {
+ val: m[0].toUpperCase().replace(/X/g, 'x'),
+ inv: m[1],
+ num: '0x%02X'.format(+m[2]),
+ mask: m[3] ? '0x%02X'.format(+m[3]) : null
+ } : null;
+
+ return fwtool.fmt(_('Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="cbi-tooltip-container">%{item.name}<span class="cbi-tooltip">ICMP with types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip="Match fwmarks except %{mark.num}%{mark.mask? with mask %{mark.mask}}.":%{mark.mask? data-tooltip="Mask fwmark value with %{mark.mask} before compare."}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-tooltip="Match any helper except &quot;%{helper.name}&quot;">%{helper.val}</var>:<var data-tooltip="%{helper.name}">%{helper.val}</var>}}'), {
+ proto: proto,
+ helper: h,
+ mark: f
+ });
+}
- var rv = fmt.format.apply(fmt, repl);
- return wrap ? E('span', rv) : rv;
+function rule_src_txt(s, hosts) {
+ var z = uci.get('firewall', s, 'src');
+
+ return fwtool.fmt(_('From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="Match IP addresses except %{item.val}."}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="Match ports except %{item.val}."}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip="Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint.name}}.":%{item.hint.name? data-tooltip="%{item.hint.name}"}}>%{item.ival}</var>}}'), {
+ src: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]),
+ src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'),
+ src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }),
+ src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port'))
+ });
}
-function forward_proto_txt(s) {
- return fmt('%s-%s',
- fwtool.fmt_family('ipv4'),
- fwtool.fmt_proto(uci.get('firewall', s, 'proto'),
- uci.get('firewall', s, 'icmp_type')) || 'TCP+UDP');
+function rule_dest_txt(s) {
+ return fwtool.fmt(_('To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="Match IP addresses except %{item.val}."}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="Match ports except %{item.val}."}>%{item.ival}</var>}}'), {
+ dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName(null) }, [E('em', _('this device'))]),
+ dest_ip: fwtool.map_invert(uci.get('firewall', s, 'src_dip'), 'toLowerCase'),
+ dest_port: fwtool.map_invert(uci.get('firewall', s, 'src_dport'))
+ });
}
-function forward_src_txt(s) {
- var z = fwtool.fmt_zone(uci.get('firewall', s, 'src'), _('any zone')),
- a = fwtool.fmt_ip(uci.get('firewall', s, 'src_ip'), _('any host')),
- p = fwtool.fmt_port(uci.get('firewall', s, 'src_port')),
- m = fwtool.fmt_mac(uci.get('firewall', s, 'src_mac'));
-
- if (p && m)
- return fmt(_('From %s in %s with source %s and %s'), a, z, p, m);
- else if (p || m)
- return fmt(_('From %s in %s with source %s'), a, z, p || m);
- else
- return fmt(_('From %s in %s'), a, z);
+function rule_limit_txt(s) {
+ var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i),
+ l = m ? {
+ num: +m[1],
+ unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]],
+ burst: uci.get('firewall', s, 'limit_burst')
+ } : null;
+
+ if (!l)
+ return '';
+
+ return fwtool.fmt(_('Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</var>%{limit.burst? burst <var>%{limit.burst}</var>}'), { limit: l });
}
-function forward_via_txt(s) {
- var a = fwtool.fmt_ip(uci.get('firewall', s, 'src_dip'), _('any router IP')),
- p = fwtool.fmt_port(uci.get('firewall', s, 'src_dport'));
+function rule_target_txt(s) {
+ var z = uci.get('firewall', s, 'dest');
- if (p)
- return fmt(_('Via %s at %s'), a, p);
- else
- return fmt(_('Via %s'), a);
+ return fwtool.fmt(_('<var data-tooltip="DNAT">Forward</var> to %{dest}%{dest_ip? IP <var>%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}'), {
+ dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]),
+ dest_ip: (uci.get('firewall', s, 'dest_ip') || '').toLowerCase(),
+ dest_port: uci.get('firewall', s, 'dest_port')
+ });
}
return L.view.extend({
@@ -85,16 +97,32 @@ return L.view.extend({
expect: { result: [] }
}),
+ callNetworkDevices: rpc.declare({
+ object: 'luci-rpc',
+ method: 'getNetworkDevices',
+ expect: { '': {} }
+ }),
+
load: function() {
return Promise.all([
this.callHostHints(),
- this.callConntrackHelpers()
+ this.callConntrackHelpers(),
+ this.callNetworkDevices(),
+ uci.load('firewall')
]);
},
render: function(data) {
+ if (fwtool.checkLegacySNAT())
+ return fwtool.renderMigration();
+ else
+ return this.renderForwards(data);
+ },
+
+ renderForwards: function(data) {
var hosts = data[0],
ctHelpers = data[1],
+ devs = data[2],
m, s, o;
m = new form.Map('firewall', _('Firewall - Port Forwards'),
@@ -134,24 +162,19 @@ return L.view.extend({
o.modalonly = false;
o.textvalue = function(s) {
return E('small', [
- forward_proto_txt(s), E('br'),
- forward_src_txt(s), E('br'),
- forward_via_txt(s)
+ rule_proto_txt(s, ctHelpers), E('br'),
+ rule_src_txt(s, hosts), E('br'),
+ rule_dest_txt(s), E('br'),
+ rule_limit_txt(s)
]);
};
- o = s.option(form.ListValue, '_dest', _('Forward to'));
+ o = s.option(form.ListValue, '_dest', _('Action'));
o.modalonly = false;
o.textvalue = function(s) {
- var z = fwtool.fmt_zone(uci.get('firewall', s, 'dest'), _('any zone')),
- a = fwtool.fmt_ip(uci.get('firewall', s, 'dest_ip'), _('any host')),
- p = fwtool.fmt_port(uci.get('firewall', s, 'dest_port')) ||
- fwtool.fmt_port(uci.get('firewall', s, 'src_dport'));
-
- if (p)
- return fmt(_('%s, %s in %s'), a, p, z);
- else
- return fmt(_('%s in %s'), a, z);
+ return E('small', [
+ rule_target_txt(s)
+ ]);
};
o = s.option(form.Flag, 'enabled', _('Enable'));
@@ -159,18 +182,9 @@ return L.view.extend({
o.default = o.enabled;
o.editable = true;
- o = s.taboption('general', form.Value, 'proto', _('Protocol'));
+ o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol'));
o.modalonly = true;
o.default = 'tcp udp';
- o.value('tcp udp', 'TCP+UDP');
- o.value('tcp', 'TCP');
- o.value('udp', 'UDP');
- o.value('icmp', 'ICMP');
-
- o.cfgvalue = function(/* ... */) {
- var v = this.super('cfgvalue', arguments);
- return (v == 'tcpudp') ? 'tcp udp' : v;
- };
o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone'));
o.modalonly = true;
@@ -178,31 +192,15 @@ return L.view.extend({
o.nocreate = true;
o.default = 'wan';
- o = s.taboption('advanced', form.Value, 'src_mac', _('Source MAC address'),
- _('Only match incoming traffic from these MACs.'));
- o.modalonly = true;
+ o = fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'),
+ _('Only match incoming traffic from these MACs.'), hosts);
o.rmempty = true;
- o.datatype = 'neg(macaddr)';
- o.placeholder = E('em', _('any'));
- L.sortedKeys(hosts).forEach(function(mac) {
- o.value(mac, '%s (%s)'.format(
- mac,
- hosts[mac].name || hosts[mac].ipv4 || hosts[mac].ipv6 || '?'
- ));
- });
-
- o = s.taboption('advanced', form.Value, 'src_ip', _('Source IP address'),
- _('Only match incoming traffic from this IP or range.'));
- o.modalonly = true;
+ o.datatype = 'list(neg(macaddr))';
+
+ o = fwtool.addIPOption(s, 'advanced', 'src_ip', _('Source IP address'),
+ _('Only match incoming traffic from this IP or range.'), 'ipv4', hosts);
o.rmempty = true;
o.datatype = 'neg(ipmask4)';
- o.placeholder = E('em', _('any'));
- L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
- o.value(hosts[mac].ipv4, '%s (%s)'.format(
- hosts[mac].ipv4,
- hosts[mac].name || mac
- ));
- });
o = s.taboption('advanced', form.Value, 'src_port', _('Source port'),
_('Only match incoming traffic originating from the given source port or port range on the client host'));
@@ -210,33 +208,21 @@ return L.view.extend({
o.rmempty = true;
o.datatype = 'neg(portrange)';
o.placeholder = _('any');
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
- o = s.taboption('advanced', form.Value, 'src_dip', _('External IP address'),
- _('Only match incoming traffic directed at the given IP address.'));
- o.modalonly = true;
- o.rmempty = true;
+ o = fwtool.addLocalIPOption(s, 'advanced', 'src_dip', _('External IP address'),
+ _('Only match incoming traffic directed at the given IP address.'), devs);
o.datatype = 'neg(ipmask4)';
- o.placeholder = E('em', _('any'));
- L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
- o.value(hosts[mac].ipv4, '%s (%s)'.format(
- hosts[mac].ipv4,
- hosts[mac].name || mac
- ));
- });
+ o.rmempty = true;
o = s.taboption('general', form.Value, 'src_dport', _('External port'),
_('Match incoming traffic directed at the given destination port or port range on this host'));
o.modalonly = true;
o.rmempty = false;
o.datatype = 'neg(portrange)';
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Internal zone'));
o.modalonly = true;
@@ -244,17 +230,10 @@ return L.view.extend({
o.nocreate = true;
o.default = 'lan';
- o = s.taboption('general', form.Value, 'dest_ip', _('Internal IP address'),
- _('Redirect matched incoming traffic to the specified internal host'));
- o.modalonly = true;
+ o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Internal IP address'),
+ _('Redirect matched incoming traffic to the specified internal host'), 'ipv4', hosts);
o.rmempty = true;
o.datatype = 'ipmask4';
- L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
- o.value(hosts[mac].ipv4, '%s (%s)'.format(
- hosts[mac].ipv4,
- hosts[mac].name || mac
- ));
- });
o = s.taboption('general', form.Value, 'dest_port', _('Internal port'),
_('Redirect matched incoming traffic to the given port on the internal host'));
@@ -262,10 +241,8 @@ return L.view.extend({
o.rmempty = true;
o.placeholder = _('any');
o.datatype = 'portrange';
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
o = s.taboption('advanced', form.Flag, 'reflection', _('Enable NAT Loopback'));
o.modalonly = true;
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js
index 6c6efc805f..b68f428d95 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js
@@ -3,142 +3,137 @@
'require rpc';
'require uci';
'require form';
+'require firewall as fwmodel';
'require tools.firewall as fwtool';
'require tools.widgets as widgets';
-function fmt(fmt /*, ...*/) {
- var repl = [], wrap = false;
-
- for (var i = 1; i < arguments.length; i++) {
- if (L.dom.elem(arguments[i])) {
- switch (arguments[i].nodeType) {
- case 1:
- repl.push(arguments[i].outerHTML);
- wrap = true;
- break;
-
- case 3:
- repl.push(arguments[i].data);
- break;
-
- case 11:
- var span = E('span');
- span.appendChild(arguments[i]);
- repl.push(span.innerHTML);
- wrap = true;
- break;
-
- default:
- repl.push('');
- }
- }
- else {
- repl.push(arguments[i]);
- }
- }
-
- var rv = fmt.format.apply(fmt, repl);
- return wrap ? E('span', rv) : rv;
+function rule_proto_txt(s, ctHelpers) {
+ var f = (uci.get('firewall', s, 'family') || '').toLowerCase().replace(/^(?:any|\*)$/, '');
+
+ var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) {
+ return (p != '*' && p != 'any' && p != 'all');
+ }).map(function(p) {
+ var pr = fwtool.lookupProto(p);
+ return {
+ num: pr[0],
+ name: pr[1],
+ types: (pr[0] == 1 || pr[0] == 58) ? L.toArray(uci.get('firewall', s, 'icmp_type')) : null
+ };
+ });
+
+ m = String(uci.get('firewall', s, 'helper') || '').match(/^(!\s*)?(\S+)$/);
+ var h = m ? {
+ val: m[0].toUpperCase(),
+ inv: m[1],
+ name: (ctHelpers.filter(function(ctH) { return ctH.name.toLowerCase() == m[2].toLowerCase() })[0] || {}).description
+ } : null;
+
+ m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
+ var f = m ? {
+ val: m[0].toUpperCase().replace(/X/g, 'x'),
+ inv: m[1],
+ num: '0x%02X'.format(+m[2]),
+ mask: m[3] ? '0x%02X'.format(+m[3]) : null
+ } : null;
+
+ m = String(uci.get('firewall', s, 'dscp')).match(/^(!\s*)?(?:(CS[0-7]|BE|AF[1234][123]|EF)|(0x[0-9a-f]{1,2}|[0-9]{1,2}))$/);
+ var d = m ? {
+ val: m[0],
+ inv: m[1],
+ name: m[2],
+ num: m[3] ? '0x%02X'.format(+m[3]) : null
+ } : null;
+
+ return fwtool.fmt(_('%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="cbi-tooltip-container">%{item.name}<span class="cbi-tooltip">ICMP with types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip="Match fwmarks except %{mark.num}%{mark.mask? with mask %{mark.mask}}.":%{mark.mask? data-tooltip="Mask fwmark value with %{mark.mask} before compare."}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip="Match DSCP classifications except %{dscp.num?:%{dscp.name}}">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-tooltip="Match any helper except &quot;%{helper.name}&quot;">%{helper.val}</var>:<var data-tooltip="%{helper.name}">%{helper.val}</var>}}'), {
+ ipv4: (!f || f == 'ipv4'),
+ ipv6: (!f || f == 'ipv6'),
+ src: uci.get('firewall', s, 'src'),
+ dest: uci.get('firewall', s, 'dest'),
+ proto: proto,
+ helper: h,
+ mark: f,
+ dscp: d
+ });
}
-function forward_proto_txt(s) {
- return fmt('%s-%s',
- fwtool.fmt_family(uci.get('firewall', s, 'family')),
- fwtool.fmt_proto(uci.get('firewall', s, 'proto'),
- uci.get('firewall', s, 'icmp_type')) || 'TCP+UDP');
+function rule_src_txt(s, hosts) {
+ var z = uci.get('firewall', s, 'src'),
+ d = (uci.get('firewall', s, 'direction') == 'in') ? uci.get('firewall', s, 'device') : null;
+
+ return fwtool.fmt(_('From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="Match IP addresses except %{item.val}."}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="Match ports except %{item.val}."}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip="Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint.name}}.":%{item.hint.name? data-tooltip="%{item.hint.name}"}}>%{item.ival}</var>}}'), {
+ src: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]),
+ src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'),
+ src_mac: fwtool.map_invert(uci.get('firewall', s, 'src_mac'), 'toUpperCase').map(function(v) { return Object.assign(v, { hint: hosts[v.val] }) }),
+ src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port')),
+ src_device: d
+ });
}
-function rule_src_txt(s) {
- var z = fwtool.fmt_zone(uci.get('firewall', s, 'src')),
- p = fwtool.fmt_port(uci.get('firewall', s, 'src_port')),
- m = fwtool.fmt_mac(uci.get('firewall', s, 'src_mac'));
-
- // Forward/Input
- if (z) {
- var a = fwtool.fmt_ip(uci.get('firewall', s, 'src_ip'), _('any host'));
- if (p && m)
- return fmt(_('From %s in %s with source %s and %s'), a, z, p, m);
- else if (p || m)
- return fmt(_('From %s in %s with source %s'), a, z, p || m);
- else
- return fmt(_('From %s in %s'), a, z);
- }
-
- // Output
- else {
- var a = fwtool.fmt_ip(uci.get('firewall', s, 'src_ip'), _('any router IP'));
- if (p && m)
- return fmt(_('From %s on <var>this device</var> with source %s and %s'), a, p, m);
- else if (p || m)
- return fmt(_('From %s on <var>this device</var> with source %s'), a, p || m);
- else
- return fmt(_('From %s on <var>this device</var>'), a);
- }
+function rule_dest_txt(s) {
+ var z = uci.get('firewall', s, 'dest'),
+ d = (uci.get('firewall', s, 'direction') == 'out') ? uci.get('firewall', s, 'device') : null;
+
+ return fwtool.fmt(_('To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="Match IP addresses except %{item.val}."}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="Match ports except %{item.val}."}>%{item.ival}</var>}}'), {
+ dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]),
+ dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'),
+ dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')),
+ dest_device: d
+ });
}
-function rule_dest_txt(s) {
- var z = fwtool.fmt_zone(uci.get('firewall', s, 'dest')),
- p = fwtool.fmt_port(uci.get('firewall', s, 'dest_port'));
-
- // Forward
- if (z) {
- var a = fwtool.fmt_ip(uci.get('firewall', s, 'dest_ip'), _('any host'));
- if (p)
- return fmt(_('To %s, %s in %s'), a, p, z);
- else
- return fmt(_('To %s in %s'), a, z);
- }
+function rule_limit_txt(s) {
+ var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i),
+ l = m ? {
+ num: +m[1],
+ unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]],
+ burst: uci.get('firewall', s, 'limit_burst')
+ } : null;
- // Input
- else {
- var a = fwtool.fmt_ip(uci.get('firewall', s, 'dest_ip'), _('any router IP'));
- if (p)
- return fmt(_('To %s at %s on <var>this device</var>'), a, p);
- else
- return fmt(_('To %s on <var>this device</var>'), a);
- }
+ if (!l)
+ return '';
+
+ return fwtool.fmt(_('Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</var>%{limit.burst? burst <var>%{limit.burst}</var>}'), { limit: l });
}
-function rule_target_txt(s) {
- var t = fwtool.fmt_target(uci.get('firewall', s, 'target'), uci.get('firewall', s, 'src'), uci.get('firewall', s, 'dest')),
- l = fwtool.fmt_limit(uci.get('firewall', s, 'limit'), uci.get('firewall', s, 'limit_burst'));
+function rule_target_txt(s, ctHelpers) {
+ var t = uci.get('firewall', s, 'target'),
+ h = (uci.get('firewall', s, 'set_helper') || '').toUpperCase(),
+ s = {
+ target: t,
+ src: uci.get('firewall', s, 'src'),
+ dest: uci.get('firewall', s, 'dest'),
+ set_helper: h,
+ set_mark: uci.get('firewall', s, 'set_mark'),
+ set_xmark: uci.get('firewall', s, 'set_xmark'),
+ set_dscp: uci.get('firewall', s, 'set_dscp'),
+ helper_name: (ctHelpers.filter(function(ctH) { return ctH.name.toUpperCase() == h })[0] || {}).description
+ };
- if (l)
- return fmt(_('<var>%s</var> and limit to %s'), t, l);
- else
- return fmt('<var>%s</var>', t);
-}
+ switch (t) {
+ case 'DROP':
+ return fwtool.fmt(_('<var data-tooltip="DROP">Drop</var> %{src?%{dest?forward:input}:output}'), s);
-function update_ip_hints(map, section_id, family, hosts) {
- var elem_src_ip = map.lookupOption('src_ip', section_id)[0].getUIElement(section_id),
- elem_dst_ip = map.lookupOption('dest_ip', section_id)[0].getUIElement(section_id),
- choice_values = [], choice_labels = {};
+ case 'ACCEPT':
+ return fwtool.fmt(_('<var data-tooltip="ACCEPT">Accept</var> %{src?%{dest?forward:input}:output}'), s);
- elem_src_ip.clearChoices();
- elem_dst_ip.clearChoices();
+ case 'REJECT':
+ return fwtool.fmt(_('<var data-tooltip="REJECT">Reject</var> %{src?%{dest?forward:input}:output}'), s);
- if (!family || family == 'ipv4') {
- L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
- var val = hosts[mac].ipv4,
- txt = '%s (<strong>%s</strong>)'.format(val, hosts[mac].name || mac);
+ case 'NOTRACK':
+ return fwtool.fmt(_('<var data-tooltip="NOTRACK">Do not track</var> %{src?%{dest?forward:input}:output}'), s);
- choice_values.push(val);
- choice_labels[val] = txt;
- });
- }
+ case 'HELPER':
+ return fwtool.fmt(_('<var data-tooltip="HELPER">Assign conntrack</var> helper <var%{helper_name? data-tooltip="%{helper_name}"}>%{set_helper}</var>'), s);
- if (!family || family == 'ipv6') {
- L.sortedKeys(hosts, 'ipv6', 'addr').forEach(function(mac) {
- var val = hosts[mac].ipv6,
- txt = '%s (<strong>%s</strong>)'.format(val, hosts[mac].name || mac);
+ case 'MARK':
+ return fwtool.fmt(_('<var data-tooltip="MARK">%{set_mark?Assign:XOR}</var> firewall mark <var>%{set_mark?:%{set_xmark}}</var>'), s);
- choice_values.push(val);
- choice_labels[val] = txt;
- });
- }
+ case 'DSCP':
+ return fwtool.fmt(_('<var data-tooltip="DSCP">Assign DSCP</var> classification <var>%{set_dscp}</var>'), s);
- elem_src_ip.addChoices(choice_values, choice_labels);
- elem_dst_ip.addChoices(choice_values, choice_labels);
+ default:
+ return t;
+ }
}
return L.view.extend({
@@ -157,11 +152,19 @@ return L.view.extend({
load: function() {
return Promise.all([
this.callHostHints(),
- this.callConntrackHelpers()
+ this.callConntrackHelpers(),
+ uci.load('firewall')
]);
},
render: function(data) {
+ if (fwtool.checkLegacySNAT())
+ return fwtool.renderMigration();
+ else
+ return this.renderRules(data);
+ },
+
+ renderRules: function(data) {
var hosts = data[0],
ctHelpers = data[1],
m, s, o;
@@ -215,16 +218,17 @@ return L.view.extend({
o.modalonly = false;
o.textvalue = function(s) {
return E('small', [
- forward_proto_txt(s), E('br'),
- rule_src_txt(s), E('br'),
- rule_dest_txt(s)
+ rule_proto_txt(s, ctHelpers), E('br'),
+ rule_src_txt(s, hosts), E('br'),
+ rule_dest_txt(s), E('br'),
+ rule_limit_txt(s)
]);
};
o = s.option(form.ListValue, '_target', _('Action'));
o.modalonly = false;
o.textvalue = function(s) {
- return rule_target_txt(s);
+ return rule_target_txt(s, ctHelpers);
};
o = s.option(form.Flag, 'enabled', _('Enable'));
@@ -268,22 +272,14 @@ return L.view.extend({
o.value('ipv4', _('IPv4 only'));
o.value('ipv6', _('IPv6 only'));
o.validate = function(section_id, value) {
- update_ip_hints(this.map, section_id, value, hosts);
+ fwtool.updateHostHints(this.map, section_id, 'src_ip', value, hosts);
+ fwtool.updateHostHints(this.map, section_id, 'dest_ip', value, hosts);
return true;
};
- o = s.taboption('general', form.Value, 'proto', _('Protocol'));
+ o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol'));
o.modalonly = true;
o.default = 'tcp udp';
- o.value('all', _('Any'));
- o.value('tcp udp', 'TCP+UDP');
- o.value('tcp', 'TCP');
- o.value('udp', 'UDP');
- o.value('icmp', 'ICMP');
- o.cfgvalue = function(/* ... */) {
- var v = this.super('cfgvalue', arguments);
- return (v == 'tcpudp') ? 'tcp udp' : v;
- };
o = s.taboption('advanced', form.MultiValue, 'icmp_type', _('Match ICMP type'));
o.modalonly = true;
@@ -330,7 +326,8 @@ return L.view.extend({
o.value('TOS-network-unreachable');
o.value('ttl-zero-during-reassembly');
o.value('ttl-zero-during-transit');
- o.depends('proto', 'icmp');
+ o.depends({ proto: 'icmp', '!contains': true });
+ o.depends({ proto: 'icmpv6', '!contains': true });
o = s.taboption('general', widgets.ZoneSelect, 'src', _('Source zone'));
o.modalonly = true;
@@ -338,31 +335,15 @@ return L.view.extend({
o.allowany = true;
o.allowlocal = 'src';
- o = s.taboption('advanced', form.Value, 'src_mac', _('Source MAC address'));
- o.modalonly = true;
- o.datatype = 'list(macaddr)';
- o.placeholder = _('any');
- L.sortedKeys(hosts).forEach(function(mac) {
- o.value(mac, '%s (%s)'.format(
- mac,
- hosts[mac].name || hosts[mac].ipv4 || hosts[mac].ipv6 || '?'
- ));
- });
-
- o = s.taboption('general', form.Value, 'src_ip', _('Source address'));
- o.modalonly = true;
- o.datatype = 'list(neg(ipmask))';
- o.placeholder = _('any');
- o.transformChoices = function() { return {} }; /* force combobox rendering */
+ fwtool.addMACOption(s, 'advanced', 'src_mac', _('Source MAC address'), null, hosts);
+ fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'), null, '', hosts, true);
o = s.taboption('general', form.Value, 'src_port', _('Source port'));
o.modalonly = true;
o.datatype = 'list(neg(portrange))';
o.placeholder = _('any');
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
o = s.taboption('general', widgets.ZoneSelect, 'dest', _('Destination zone'));
o.modalonly = true;
@@ -370,20 +351,14 @@ return L.view.extend({
o.allowany = true;
o.allowlocal = true;
- o = s.taboption('general', form.Value, 'dest_ip', _('Destination address'));
- o.modalonly = true;
- o.datatype = 'list(neg(ipmask))';
- o.placeholder = _('any');
- o.transformChoices = function() { return {} }; /* force combobox rendering */
+ fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'), null, '', hosts, true);
o = s.taboption('general', form.Value, 'dest_port', _('Destination port'));
o.modalonly = true;
o.datatype = 'list(neg(portrange))';
o.placeholder = _('any');
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
o = s.taboption('general', form.ListValue, 'target', _('Action'));
o.modalonly = true;
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
index 919a418fe6..9efa1a7497 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js
@@ -3,126 +3,90 @@
'require rpc';
'require uci';
'require form';
+'require firewall as fwmodel';
'require tools.firewall as fwtool';
'require tools.widgets as widgets';
-function fmt(fmtstr, args) {
- var repl = [], wrap = false;
- var tokens = [];
-
- for (var i = 0, last = 0; i <= fmtstr.length; i++) {
- if (fmtstr.charAt(i) == '%' && fmtstr.charAt(i + 1) == '{') {
- if (i > last)
- tokens.push(fmtstr.substring(last, i));
-
- var j = i + 1, nest = 0;
-
- var subexpr = [];
-
- for (var off = j + 1, esc = false; j <= fmtstr.length; j++) {
- if (esc) {
- esc = false;
- }
- else if (fmtstr.charAt(j) == '\\') {
- esc = true;
- }
- else if (fmtstr.charAt(j) == '{') {
- nest++;
- }
- else if (fmtstr.charAt(j) == '}') {
- if (--nest == 0) {
- subexpr.push(fmtstr.substring(off, j));
- break;
- }
- }
- else if (fmtstr.charAt(j) == '?' || fmtstr.charAt(j) == ':') {
- if (nest == 1) {
- subexpr.push(fmtstr.substring(off, j));
- subexpr.push(fmtstr.charAt(j));
- off = j + 1;
- }
- }
- }
-
- var varname = subexpr[0].trim(),
- op1 = (subexpr[1] != null) ? subexpr[1] : '?',
- if_set = (subexpr[2] != null && subexpr[2] != '') ? subexpr[2] : '%{' + varname + '}',
- op2 = (subexpr[3] != null) ? subexpr[3] : ':',
- if_unset = (subexpr[4] != null) ? subexpr[4] : '';
-
- /* Invalid expression */
- if (nest != 0 || subexpr.length > 5 || varname == '' || op1 != '?' || op2 != ':')
- return fmtstr;
-
- if (subexpr.length == 1)
- tokens.push(args[varname] != null ? args[varname] : '');
- else if (args[varname] != null)
- tokens.push(fmt(if_set.replace(/\\(.)/g, '$1'), args));
- else
- tokens.push(fmt(if_unset.replace(/\\(.)/g, '$1'), args));
-
- last = j + 1;
- i = last;
- }
- else if (i >= fmtstr.length) {
- if (i > last)
- tokens.push(fmtstr.substring(last, i));
- }
- }
-
- for (var i = 0; i < tokens.length; i++)
- if (typeof(tokens[i]) == 'object')
- return E('span', {}, tokens);
+function rule_proto_txt(s) {
+ var proto = L.toArray(uci.get('firewall', s, 'proto')).filter(function(p) {
+ return (p != '*' && p != 'any' && p != 'all');
+ }).map(function(p) {
+ var pr = fwtool.lookupProto(p);
+ return {
+ num: pr[0],
+ name: pr[1]
+ };
+ });
- return tokens.join('');
+ m = String(uci.get('firewall', s, 'mark')).match(/^(!\s*)?(0x[0-9a-f]{1,8}|[0-9]{1,10})(?:\/(0x[0-9a-f]{1,8}|[0-9]{1,10}))?$/i);
+ var f = m ? {
+ val: m[0].toUpperCase().replace(/X/g, 'x'),
+ inv: m[1],
+ num: '0x%02X'.format(+m[2]),
+ mask: m[3] ? '0x%02X'.format(+m[3]) : null
+ } : null;
+
+ return fwtool.fmt(_('Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</var>}}%{mark?, mark <var%{mark.inv? data-tooltip="Match fwmarks except %{mark.num}%{mark.mask? with mask %{mark.mask}}.":%{mark.mask? data-tooltip="Mask fwmark value with %{mark.mask} before compare."}}>%{mark.val}</var>}'), {
+ proto: proto,
+ mark: f
+ });
}
-function snat_proto_txt(s) {
- var m = uci.get('firewall', s, 'mark'),
- p = uci.get('firewall', s, 'proto');
+function rule_src_txt(s, hosts) {
+ var z = uci.get('firewall', s, 'src');
- return fmt(_('Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}'), {
- protocol: (p && p != 'all' && p != 'any' && p != '*') ? fwtool.fmt_proto(uci.get('firewall', s, 'proto')) : null,
- family: fwtool.fmt_family('ipv4'),
- mark: m ? E('var', {}, fwtool.fmt_neg(m)) : null,
- limit: fwtool.fmt_limit(uci.get('firewall', s, 'limit'), uci.get('firewall', s, 'limit_burst'))
+ return fwtool.fmt(_('From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="Match IP addresses except %{item.val}."}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="Match ports except %{item.val}."}>%{item.ival}</var>}}'), {
+ src: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName(null) }, [E('em', _('any zone'))]),
+ src_ip: fwtool.map_invert(uci.get('firewall', s, 'src_ip'), 'toLowerCase'),
+ src_port: fwtool.map_invert(uci.get('firewall', s, 'src_port'))
});
}
-function snat_src_txt(s) {
- return fmt(_('From %{ipaddr?:any host} %{port?with source %{port}}'), {
- ipaddr: fwtool.fmt_ip(uci.get('firewall', s, 'src_ip')),
- port: fwtool.fmt_port(uci.get('firewall', s, 'src_port'))
+function rule_dest_txt(s) {
+ var z = uci.get('firewall', s, 'src');
+
+ return fwtool.fmt(_('To %{dest}%{dest_device?, via interface <var>%{dest_device}</var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="Match IP addresses except %{item.val}."}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="Match ports except %{item.val}."}>%{item.ival}</var>}}'), {
+ dest: E('span', { 'class': 'zonebadge', 'style': 'background-color:' + fwmodel.getColorForName((z && z != '*') ? z : null) }, [(z == '*') ? E('em', _('any zone')) : (z || E('em', _('this device')))]),
+ dest_ip: fwtool.map_invert(uci.get('firewall', s, 'dest_ip'), 'toLowerCase'),
+ dest_port: fwtool.map_invert(uci.get('firewall', s, 'dest_port')),
+ dest_device: uci.get('firewall', s, 'device')
});
}
-function snat_dest_txt(s) {
- var z = uci.get('firewall', s, 'src'),
- d = uci.get('firewall', s, 'device');
+function rule_limit_txt(s) {
+ var m = String(uci.get('firewall', s, 'limit')).match(/^(\d+)\/([smhd])\w*$/i),
+ l = m ? {
+ num: +m[1],
+ unit: ({ s: _('second'), m: _('minute'), h: _('hour'), d: _('day') })[m[2]],
+ burst: uci.get('firewall', s, 'limit_burst')
+ } : null;
- return fmt(_('To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} %{device?egress device %{device}}'), {
- port: fwtool.fmt_port(uci.get('firewall', s, 'dest_port')),
- ipaddr: fwtool.fmt_ip(uci.get('firewall', s, 'dest_ip')),
- zone: (z != '*') ? fwtool.fmt_zone(z) : null,
- device: d ? E('var', {}, [d]) : null
- });
+ if (!l)
+ return '';
+
+ return fwtool.fmt(_('Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</var>%{limit.burst? burst <var>%{limit.burst}</var>}'), { limit: l });
}
-function snat_rewrite_txt(s) {
+function rule_target_txt(s) {
var t = uci.get('firewall', s, 'target'),
- l = fwtool.fmt_limit(uci.get('firewall', s, 'limit'), uci.get('firewall', s, 'limit_burst'));
+ s = {
+ target: t,
+ snat_ip: uci.get('firewall', s, 'snat_ip'),
+ snat_port: uci.get('firewall', s, 'snat_port')
+ };
- if (t == 'SNAT') {
- return fmt(_('Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}'), {
- ipaddr: fwtool.fmt_ip(uci.get('firewall', s, 'snat_ip')),
- port: fwtool.fmt_port(uci.get('firewall', s, 'snat_port'))
- });
- }
- else if (t == 'MASQUERADE') {
- return _('Rewrite to outbound device IP');
- }
- else if (t == 'ACCEPT') {
- return _('Do not rewrite');
+ switch (t) {
+ case 'SNAT':
+ return fwtool.fmt(_('<var data-tooltip="SNAT">Statically rewrite</var> to source %{snat_ip?IP <var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}'), s);
+
+ case 'MASQUERADE':
+ return fwtool.fmt(_('<var data-tooltip="MASQUERADE">Automatically rewrite</var> source IP'));
+
+ case 'ACCEPT':
+ return fwtool.fmt(_('<var data-tooltip="ACCEPT">Prevent source rewrite</var>'));
+
+ default:
+ return t;
}
}
@@ -142,11 +106,19 @@ return L.view.extend({
load: function() {
return Promise.all([
this.callHostHints(),
- this.callNetworkDevices()
+ this.callNetworkDevices(),
+ uci.load('firewall')
]);
},
render: function(data) {
+ if (fwtool.checkLegacySNAT())
+ return fwtool.renderMigration();
+ else
+ return this.renderNats(data);
+ },
+
+ renderNats: function(data) {
var hosts = data[0],
devs = data[1],
m, s, o;
@@ -175,16 +147,17 @@ return L.view.extend({
o.modalonly = false;
o.textvalue = function(s) {
return E('small', [
- snat_proto_txt(s), E('br'),
- snat_src_txt(s), E('br'),
- snat_dest_txt(s)
+ rule_proto_txt(s), E('br'),
+ rule_src_txt(s, hosts), E('br'),
+ rule_dest_txt(s), E('br'),
+ rule_limit_txt(s)
]);
};
- o = s.option(form.ListValue, '_dest', _('Rewrite to'));
+ o = s.option(form.ListValue, '_target', _('Action'));
o.modalonly = false;
o.textvalue = function(s) {
- return snat_rewrite_txt(s);
+ return rule_target_txt(s);
};
o = s.option(form.Flag, 'enabled', _('Enable'));
@@ -192,17 +165,9 @@ return L.view.extend({
o.default = o.enabled;
o.editable = true;
- o = s.taboption('general', form.Value, 'proto', _('Protocol'));
+ o = s.taboption('general', fwtool.CBIProtocolSelect, 'proto', _('Protocol'));
o.modalonly = true;
o.default = 'all';
- o.value('all', _('Any'));
- o.value('tcp udp', 'TCP+UDP');
- o.value('tcp', 'TCP');
- o.value('udp', 'UDP');
- o.cfgvalue = function(/* ... */) {
- var v = this.super('cfgvalue', arguments);
- return (v == 'tcpudp') ? 'tcp udp' : v;
- };
o = s.taboption('general', widgets.ZoneSelect, 'src', _('Outbound zone'));
o.modalonly = true;
@@ -211,18 +176,10 @@ return L.view.extend({
o.allowany = true;
o.default = 'lan';
- o = s.taboption('general', form.Value, 'src_ip', _('Source IP address'),
- _('Match forwarded traffic from this IP or range.'));
- o.modalonly = true;
+ o = fwtool.addIPOption(s, 'general', 'src_ip', _('Source address'),
+ _('Match forwarded traffic from this IP or range.'), 'ipv4', hosts);
o.rmempty = true;
o.datatype = 'neg(ipmask4)';
- o.placeholder = E('em', _('any'));
- L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
- o.value(hosts[mac].ipv4, '%s (%s)'.format(
- hosts[mac].ipv4,
- hosts[mac].name || mac
- ));
- });
o = s.taboption('general', form.Value, 'src_port', _('Source port'),
_('Match forwarded traffic originating from the given source port or port range.'));
@@ -230,23 +187,13 @@ return L.view.extend({
o.rmempty = true;
o.datatype = 'neg(portrange)';
o.placeholder = _('any');
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
- o = s.taboption('general', form.Value, 'dest_ip', _('Destination IP address'),
- _('Match forwarded traffic directed at the given IP address.'));
- o.modalonly = true;
+ o = fwtool.addIPOption(s, 'general', 'dest_ip', _('Destination address'),
+ _('Match forwarded traffic directed at the given IP address.'), 'ipv4', hosts);
o.rmempty = true;
o.datatype = 'neg(ipmask4)';
- o.placeholder = E('em', _('any'));
- L.sortedKeys(hosts, 'ipv4', 'addr').forEach(function(mac) {
- o.value(hosts[mac].ipv4, '%s (%s)'.format(
- hosts[mac].ipv4,
- hosts[mac].name || mac
- ));
- });
o = s.taboption('general', form.Value, 'dest_port', _('Destination port'),
_('Match forwarded traffic directed at the given destination port or port range.'));
@@ -254,10 +201,8 @@ return L.view.extend({
o.rmempty = true;
o.placeholder = _('any');
o.datatype = 'neg(portrange)';
- o.depends('proto', 'tcp');
- o.depends('proto', 'udp');
- o.depends('proto', 'tcp udp');
- o.depends('proto', 'tcpudp');
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
o = s.taboption('general', form.ListValue, 'target', _('Action'));
o.modalonly = true;
@@ -266,35 +211,20 @@ return L.view.extend({
o.value('MASQUERADE', _('MASQUERADE - Automatically rewrite to outbound interface IP'));
o.value('ACCEPT', _('ACCEPT - Disable address rewriting'));
- o = s.taboption('general', form.Value, 'snat_ip', _('Rewrite IP address'),
- _('Rewrite matched traffic to the specified source IP address.'));
- o.modalonly = true;
- o.rmempty = true;
- o.placeholder = _('do not rewrite');
- o.datatype = 'ip4addr("nomask")';
+ o = fwtool.addLocalIPOption(s, 'general', 'snat_ip', _('Rewrite IP address'),
+ _('Rewrite matched traffic to the specified source IP address.'), devs);
+ o.placeholder = null;
+ o.depends('target', 'SNAT');
o.validate = function(section_id, value) {
var port = this.map.lookupOption('snat_port', section_id),
+ a = this.formvalue(section_id),
p = port ? port[0].formvalue(section_id) : null;
- if ((value == null || value == '') && (p == null || p == ''))
+ if ((a == null || a == '') && (p == null || p == ''))
return _('A rewrite IP must be specified!');
return true;
};
- o.depends('target', 'SNAT');
- L.sortedKeys(devs, 'name').forEach(function(dev) {
- var ip4addrs = devs[dev].ipaddrs;
-
- if (!L.isObject(devs[dev].flags) || !Array.isArray(ip4addrs) || devs[dev].flags.loopback)
- return;
-
- for (var i = 0; i < ip4addrs.length; i++) {
- if (!L.isObject(ip4addrs[i]) || !ip4addrs[i].address)
- continue;
-
- o.value(ip4addrs[i].address, '%s (%s)'.format(ip4addrs[i].address, dev));
- }
- });
o = s.taboption('general', form.Value, 'snat_port', _('Rewrite port'),
_('Rewrite matched traffic to the specified source port or port range.'));
@@ -302,10 +232,8 @@ return L.view.extend({
o.rmempty = true;
o.placeholder = _('do not rewrite');
o.datatype = 'portrange';
- o.depends({ target: 'SNAT', proto: 'tcp' });
- o.depends({ target: 'SNAT', proto: 'udp' });
- o.depends({ target: 'SNAT', proto: 'tcp udp' });
- o.depends({ target: 'SNAT', proto: 'tcpudp' });
+ o.depends({ proto: 'tcp', '!contains': true });
+ o.depends({ proto: 'udp', '!contains': true });
o = s.taboption('advanced', widgets.DeviceSelect, 'device', _('Outbound device'),
_('Matches forwarded traffic using the specified outbound network device.'));
diff --git a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js
index 4f8dad23d3..89de8f46b5 100644
--- a/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js
+++ b/applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js
@@ -4,6 +4,7 @@
'require form';
'require network';
'require firewall';
+'require tools.firewall as fwtool';
'require tools.widgets as widgets';
return L.view.extend({
@@ -21,6 +22,13 @@ return L.view.extend({
},
render: function(data) {
+ if (fwtool.checkLegacySNAT())
+ return fwtool.renderMigration();
+ else
+ return this.renderZones(data);
+ },
+
+ renderZones: function(data) {
var ctHelpers = data[0],
fwDefaults = data[1],
m, s, o, inp, out;
diff --git a/applications/luci-app-firewall/po/bg/firewall.po b/applications/luci-app-firewall/po/bg/firewall.po
index 6498e6f6f8..efb8ba36ed 100644
--- a/applications/luci-app-firewall/po/bg/firewall.po
+++ b/applications/luci-app-firewall/po/bg/firewall.po
@@ -14,129 +14,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -144,15 +193,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -167,130 +220,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -306,336 +328,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -644,117 +657,93 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
@@ -788,76 +777,82 @@ msgstr ""
# msgid "Protocol"
# msgstr ""
#
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -867,7 +862,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -876,61 +871,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -938,215 +937,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/ca/firewall.po b/applications/luci-app-firewall/po/ca/firewall.po
index f6341cf093..371b6697e8 100644
--- a/applications/luci-app-firewall/po/ca/firewall.po
+++ b/applications/luci-app-firewall/po/ca/firewall.po
@@ -16,129 +16,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s en %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s amb %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s en %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> paquets al <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> i limita a %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Acció"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Ajusts avançats"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permet el reenviament des dels <em>zones d'origen</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permet el reenviament als <em>zones de destí</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Qualsevol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -146,15 +195,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Xarxes cobertes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -173,130 +226,99 @@ msgstr ""
"ordres s'executen després de cada reinici de tallafocs, just després el "
"conjunt de regles per defecte s'ha carregat."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Adreça IP de destí"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Adreça de destí"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Port de destí"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zona de destí"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "No reescriguis"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Descarta els paquets invàlids"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Activa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Habilita protecció contra la inundació SYN"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Habilita el registre d'aquesta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Adreça IP extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Port extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Paràmetres extres"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -308,233 +330,228 @@ msgstr "Tallafocs"
msgid "Firewall - Custom Rules"
msgstr "Tallafocs - Regles personalitzades"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Tallafocs - Reenviaments de port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Tallafocs - Regles de tràfic"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Tallafocs - Ajusts de zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Reenvia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Reenvia a"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Divendres"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Des de %s en %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Des de %s en %s amb origen %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Des de %s en %s amb orígens %s i %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Ajusts generals"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 i IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Només IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Només IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Entrada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Adreça IP interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Port intern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zona interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limita els missatges de registre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Fixació MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Mascarada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Coincideix"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Coincideix amb el tipus ICMP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -542,78 +559,74 @@ msgstr ""
"Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en "
"aquest host donat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Dilluns"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nom"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Només coincideix amb trànsit entrant dirigit a la adreça IP donada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Només coincideix amb trànsit entrant des d'aquests MAC."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Només coincideix amb trànsit entrant des d'aquest IP o rang."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -621,27 +634,27 @@ msgstr ""
"Només coincideix amb trànsit originant en el host client des del port o del "
"rang de ports d'origen donat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Sortida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -650,12 +663,12 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Reenviaments de port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -663,172 +676,154 @@ msgstr ""
"El reenviament de ports permet que els ordinadors remots en el Internet "
"connectin a un ordinador o servei específic dins del LAN privat."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr "Redirigeix trànsit entrant coincidit al port donat en el host intern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Redirigeix trànsit entrant coincidit al host intern especificat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Restringeix la mascarada a les subxarxes de destí donades"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Restringeix la mascarada a les subxarxes d'origen donades"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Restringeix a la família d'adreces"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Dissabte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Adreça IP d'origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Adreça MAC d'origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Adreça d'origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Port d'origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zona d'origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Diumenge"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -836,8 +831,8 @@ msgstr ""
"El tallafocs crea zones a les teves interfícies de xarxa per controlar el "
"flux de tràfic de xarxa."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -853,7 +848,7 @@ msgstr ""
"regla de reenviament es <em>unidirectional</em>, per exemple un reenviament "
"de lan a wan <em>no</em> implica permís per reenviar de wan a lan també."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
#, fuzzy
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
@@ -869,53 +864,57 @@ msgstr ""
"<em>Xarxes cobertes</em> especifica quines xarxes disponibles són membres "
"d'aquesta zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Dijous"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "A %s a %s en <var>aquest dispositiu</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "A %s en %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "A %s en <var>aquest dispositiu</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "A %s, %s en %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Regles de trànsit"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -925,8 +924,8 @@ msgstr ""
"zones distintes, per exemple per a rebutjar trànsit entre certs hosts o "
"obrir ports WAN en el encaminador."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Dimarts"
@@ -934,219 +933,267 @@ msgstr "Dimarts"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Via %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Via %s a %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Dimecres"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zona ⇒ Reenviaments"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "accepta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "qualsevol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "qualsevol host"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "qualsevol IP d'encaminador"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "qualsevol zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "no rastregis"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "descarta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "rebutja"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s en %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s amb %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s en %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> paquets al <var>%s</var>"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> i limita a %s"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Adreça IP de destí"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "No reescriguis"
+
+#~ msgid "Forward to"
+#~ msgstr "Reenvia a"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Des de %s en %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Des de %s en %s amb origen %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Des de %s en %s amb orígens %s i %s"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "A %s a %s en <var>aquest dispositiu</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "A %s en %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "A %s en <var>aquest dispositiu</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "A %s, %s en %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Via %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Via %s a %s"
+
+#~ msgid "any host"
+#~ msgstr "qualsevol host"
+
+#~ msgid "any router IP"
+#~ msgstr "qualsevol IP d'encaminador"
+
#~ msgid "Force connection tracking"
#~ msgstr "Força el rastreig de connexió"
diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po
index 437ff82d2d..bf0a2cafeb 100644
--- a/applications/luci-app-firewall/po/cs/firewall.po
+++ b/applications/luci-app-firewall/po/cs/firewall.po
@@ -12,129 +12,178 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s v %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s s %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s v %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> paketů za <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> paketů za <var>%s</var>, burst <var>%d</var> paketů."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> a omezit na %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Akce"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Pokročilé nastavení"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Povolit přesměrování ze <em>zdrojových oblastí</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Povolit přesměrování do <em>zdrojových oblastí</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Libovolné"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -142,15 +191,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr "Obsah byl uložen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Pokryté sítě"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -168,130 +221,99 @@ msgstr ""
"nejsou jinak pokryté frameworkem firewallu. Příkazy jsou spuštěny po každém "
"restartu firewallu, právě po načtení výchozí sady pravidel."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Cílová IP adresa"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Cílová adresa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Cílový port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Cílová zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Nepřepisovat"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Zahazovat neplatné pakety"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Povolit"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Povolit NAT Loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Povolit ochranu proti SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Povolit logování v této oblasti"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Vnější IP adresa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Vnější port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Další argumenty volání"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -303,233 +325,228 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Vlastní pravidla"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Přesměrování portů"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Pravidla síťového provozu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Firewall - Nastavení zón"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Přesměrování"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Přesměrovat na"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Pátek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Z %s v %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Z %s v %s se zdrojovou %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Z %s v %s se zdrojovou %s a %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Obecné nastavení"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 a IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "pouze IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "pouze IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Vstup"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Vnitřní IP adresa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Vnitřní port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Vnitřní zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Omezit logovací zprávy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS clamping"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Maškárádování"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Shoda"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Odpovídá ICMP typu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -537,78 +554,74 @@ msgstr ""
"Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů "
"tohoto hostitele"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Pondělí"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Dny v měsíci"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Název"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Síť"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Vybrat pouze příchozí provoz, směrovaný na danou IP adresu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Vybrat pouze příchozí provoz z těchto MAC adres."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Vybrat pouze příchozí provoz z této IP nebo rozsahu IP adres."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -616,27 +629,27 @@ msgstr ""
"Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu "
"portů klienta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Výstup"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Předává další argumenty iptables. Používat opatrně!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -645,12 +658,12 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Přesměrování portů"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -659,173 +672,155 @@ msgstr ""
"Internetu připojení k vybraným počítačům nebo službám uvnitř privátní sítě "
"LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protokol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Přesměrovat vybraný příchozí provoz na uvedený port vnitřního hostitele"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Přesměrovat vybraný příchozí provoz na uvedeného vnitřního hostitele"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Omezit maškarádování na uvedené cílové podsítě"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Omezit maškarádování na uvedené zdrojové podsítě"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Omezit na rodinu adres"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sobota"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Zdrojová IP adresa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Zdrojová MAC adresa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Zdrojová adresa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Zdrojový port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zdrojová zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Neděle"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -833,8 +828,8 @@ msgstr ""
"Firewall vytváří zóny přes vaše síťová rozhraní za účelem řízení síťového "
"provozu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -850,7 +845,7 @@ msgstr ""
"Přesměrovávací pravidlo je <em>jednosměrné</em>, například přesměrování z "
"lan do wan <em>nepovoluje</em> přesměrování z wan do lan (a naopak)."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -864,53 +859,57 @@ msgstr ""
"pro přesměrování provozu mezi rozdílnými sítěmi uvnitř jedné zóny. "
"<em>Pokryté sítě</em> určuje, které z dostupných sítí jsou členy této zóny."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Čtvrtek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Časová omezení"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Čas v UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Na %s v %s na <var>tomto zařízení</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Na %s v %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Na %s na <var>tomto zařízení</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Na %s, %s v %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Pravidla síťového provozu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -920,8 +919,8 @@ msgstr ""
"různými zónami, například pro odmítnutí provozu mezi jistými hostiteli nebo "
"pro otevření WAN portů na routeru."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Úterý"
@@ -929,219 +928,270 @@ msgstr "Úterý"
msgid "Unable to save contents: %s"
msgstr "Nelze uložit obsah: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Nepojmenované pravidlo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Nepojmenovaná zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Prostřednictvím %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Středa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zóna ⇒ Přesměrování"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zóny"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "přijmout"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "libovolný"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "libovolný hostitel"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "libovolná IP routeru"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "libovolná zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "nesledovat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "zahodit"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "odmítnout"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s v %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s s %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s v %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> paketů za <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> paketů za <var>%s</var>, burst <var>%d</var> paketů."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> a omezit na %s"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Cílová IP adresa"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Nepřepisovat"
+
+#~ msgid "Forward to"
+#~ msgstr "Přesměrovat na"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Z %s v %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Z %s v %s se zdrojovou %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Z %s v %s se zdrojovou %s a %s"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "Network"
+#~ msgstr "Síť"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Na %s v %s na <var>tomto zařízení</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Na %s v %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Na %s na <var>tomto zařízení</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Na %s, %s v %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Prostřednictvím %s"
+
+#~ msgid "any host"
+#~ msgstr "libovolný hostitel"
+
+#~ msgid "any router IP"
+#~ msgstr "libovolná IP routeru"
+
#~ msgid "Force connection tracking"
#~ msgstr "Vynutit sledování připojení"
diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po
index f87f51bae7..18753c923a 100644
--- a/applications/luci-app-firewall/po/de/firewall.po
+++ b/applications/luci-app-firewall/po/de/firewall.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2020-01-16 13:32+0000\n"
+"PO-Revision-Date: 2020-01-19 18:48+0000\n"
"Last-Translator: Jo <jo@mein.io>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfirewall/de/>\n"
@@ -14,57 +14,140 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
+"%{src?%{dest?Weitergeleiteter:Eingehender}:Ausgehender} "
+"%{ipv6?%{ipv4?<var>IPv4</var>- und "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}-Verkehr%{proto?, Protokoll "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\""
+">%{item.name}<span class=\"cbi-tooltip\">ICMP mit Typen %{item.types#%{"
+"next?, }<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, "
+"mark <var%{mark.inv? data-tooltip=\"Selektiert Firewall-Markierungen außer "
+"%{mark.num}%{mark.mask? mit Maske %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Maskiert Markierungswert mit %{mark.mask} vorm Vergleich.\""
+"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Selektiert "
+"DSCP-Klassifizierungen außer %{dscp.num?:%{dscp.name}}\""
+">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, Tracking-Helfer "
+"%{helper.inv?<var data-tooltip=\"Selektiert Helfer außer "
+"&quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\""
+"%{helper.name}\">%{helper.val}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr "-- IP hinzufügen --"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr "-- MAC hinzufügen --"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-tooltip=\"ACCEPT\""
+">erlauben</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s mit %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr "<var data-tooltip=\"ACCEPT\">Quellmaskierung unterbinden</var>"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
+"<var data-tooltip=\"DNAT\">Weiterleiten</var> zu %{dest}%{dest_ip? IP "
+"<var>%{dest_ip}</var>}%{dest_port? Port <var>%{dest_port}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-tooltip=\"DROP\""
+">verwerfen</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+"<var data-tooltip=\"DSCP\">Setze DSCP</var>-Klassifizierung auf "
+"<var>%{set_dscp}</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> Pkte. pro <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+"<var data-tooltip=\"HELPER\">Assoziiere Tracking</var>-Helfer <var%{"
+"helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> Pkte. pro <var>%s</var>, Häufung <var>%d</var> Pkte."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
+"<var data-tooltip=\"MARK\">%{set_mark?Setze:XOR}</var> Firewall-Markierung "
+"<var>%{set_mark?:%{set_xmark}}</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> und limitieren auf %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr "Quell-IP <var data-tooltip=\"MASQUERADE\">automatisch maskieren</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+"%{src?%{dest?Weiterleitungs:Eingangs}:Ausgangs}-<var data-tooltip=\"NOTRACK\""
+">Tracking verhindern</var>"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-tooltip=\"REJECT\""
+">ablehnen</var>"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+"Quell%{snat_ip?-IP <var>%{snat_ip}</var>} %{snat_port?Port "
+"<var>%{snat_port}</var>} <var data-tooltip=\"SNAT\">statisch maskieren</var>"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
msgid "A rewrite IP must be specified!"
msgstr "Es muss eine IP-Adresse zum Umschreiben angegeben werden!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
msgid "ACCEPT - Disable address rewriting"
msgstr "ACCEPT - Umschreiben von IP-Adressen deaktivieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Erlaubte Weiterleitung"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Eingang akzeptieren"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Ausgang akzeptieren"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Aktion"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -74,7 +157,7 @@ msgstr ""
"Zonenzielverkehrs, z.B. <code>-p tcp --dport 443</code>, um nur ausgehenden "
"HTTPS-Verkehr übereinstimmen zu lassen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -83,68 +166,73 @@ msgstr ""
"Zonenquellenverkehr, z.B. <code>-p tcp --sport 443</code>, um nur "
"eingehenden HTTPS-Verkehr übereinstimmen zu lassen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Erweiterte Einstellungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Erlaube \"ungültigen\" Verkehr"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Erlaube Weiterleitung von <em>Quellzone</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Erlaube Weiterleitung zu <em>Zielzone</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Beliebig"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Beliebig"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
+"Bitweises XOR von angegebenem Wert und Maske auf etablierte Verbindungen "
+"anwenden. Format ist Wert[/Maske]. Wenn eine Maske angegeben ist, werden die "
+"korrespondierenden Bits des Wertes genullt."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
+"Wende die angegebene DSCP-Klasse oder den angegebenen DSCP-Wert auf "
+"etablierte Verbindungen an."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
+"Weise den angegebenen Verbindungs-Tracking-Helfer selektiertem Verkehr zu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Automatische Helferzuordnung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Automatische Zuweisung von Conntrack-Helfern basierend auf Traffic-Protokoll "
"und Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Conntrack-Einstellungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Conntrack-Helfer"
@@ -152,15 +240,19 @@ msgstr "Conntrack-Helfer"
msgid "Contents have been saved."
msgstr "Inhalte wurden gespeichert."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr "Fortfahren"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Abgedeckte Geräte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Abgedeckte Netzwerke"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Abgedeckte Subnetze"
@@ -179,52 +271,37 @@ msgstr ""
"Befehle werden mit jedem Firewall-Neustart abgearbeitet, direkt nach dem "
"Laden der Basisregeln."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
-msgstr ""
+msgstr "DSCP-Klassifizierung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
-msgstr ""
+msgstr "DSCP-Markierung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Ziel IP-Adresse"
+msgstr "DSCP-Markierung benötigt"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Zieladresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Zielport"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Ziel-Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Weiterleiten verwerfen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Eingang verwerfen"
+msgstr "Gerätename"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Ausgang verwerfen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -233,80 +310,64 @@ msgstr ""
"Conntrack-Status <em>invalid</em> abzulehnen. Dies kann bei komplexen "
"asymmetrischen Routen erforderlich sein."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Nicht umschreiben"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Weiterleitung nicht verfolgen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Eingang nicht verfolgen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Ausgang nicht verfolgen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Ungültige Pakete verwerfen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Aktivieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "NAT-Loopback aktivieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Schutz vor SYN-flood-Attacken"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Protokollierung innerhalb der Zone aktivieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr "Erwarte: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Experimentelle Funktion. Nicht vollständig kompatibel mit QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Wählt explizit zulässige Verbindungs-Tracking-Helfer für den Zonenverkehr aus"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Externe IP-Adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Externer Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Zusätzliche Argumente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Zusätzliche Ziel-Argumente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Zusätzliche iptables-Argumente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Zusätzliche Quell-Argumente"
@@ -318,241 +379,272 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Benutzerdefinierte Regeln"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr "Firewall - NAT Regeln"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Portweiterleitungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Traffic-Regeln"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Firewall - Zoneneinstellungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr "Migration der Firewall-Konfiguration"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Weitergeleitet"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Weiterleiten an"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
+"Weitergeleiteter IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, "
+"}<var>%{item.name}</var>}}%{mark?, Markierung <var%{mark.inv? data-tooltip=\""
+"Selektiert Markierungen außer %{mark.num}%{mark.mask? mit Maske "
+"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maskiere Firewall-Markierung "
+"mit %{mark.mask} vorm Vergleich.\"}}>%{mark.val}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Freitag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Von %s in %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Von %s in %s mit Quell-%s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Von %s in %s mit Quell-%s und %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Von %s auf <var>dieses Gerät</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Von %s auf <var>diesem Gerät</var> mit Quelle %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "Von %s auf <var>dieses Gerät</var> mit Quelle %s und %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
-msgstr "Von %{ipaddr?:beliebigen Hosts} %{port?mit Quell-%{port}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+"Von %{src}%{src_device?, Schnittstelle <var>%{src_device}</var>}%{src_ip?, "
+"IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert IP-Adressen "
+"außer %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, Port %{src_port#%{"
+"next?, }<var%{item.inv? data-tooltip=\"Selektiert Ports außer %{item.val}.\""
+"}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
+msgstr ""
+"Von %{src}%{src_device?, Schnittstelle <var>%{src_device}</var>}%{src_ip?, "
+"IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert IP-Adressen "
+"außer %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{"
+"next?, }<var%{item.inv? data-tooltip=\"Selektiert Ports außer %{item.val}.\""
+"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? "
+"data-tooltip=\"Selektiert MAC-Adressen außer %{item.val}%{item.hint.name? "
+"a.k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\""
+"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+"Von %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\""
+"Selektiert IP-Adressen außer %{item.val}.\"}>%{item.ival}</var>}}%{"
+"src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\""
+"Selektiert Ports außer %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert MAC-Adressen "
+"außer %{item.val}%{item.hint.name? genannt %{item.hint.name}}.\":%{"
+"item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Allgemeine Einstellungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Hardwarebeschleunigte Flusskontrolle"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "IP-Bereich"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IPs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 und IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "nur IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "nur IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
-msgstr ""
+msgstr "Eingehendes Gerät"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+"Eingehender IPv4-Verkehr%{proto?, Protokoll %{proto#%{next?, }%{item.types?<"
+"var class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">"
+"ICMP mit Typen %{item.types#%{next?, "
+"}<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Selektiert Firewall-Markierungen außer "
+"%{mark.num}%{mark.mask? mit Maske %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Maskiere Firewall-Markierung mit %{mark.mask} vorm Vergleich.\""
+"}}>%{mark.val}</var>}%{helper?, Helfer %{helper.inv?<var data-tooltip=\""
+"Selektiert Tracking-Helfer außer &quot;%{helper.name}&quot;\""
+">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\""
+">%{helper.val}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Eingehend"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Interne IP-Adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Interner Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Interne Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
-msgstr ""
+msgstr "Ungültige DSCP-Markierung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
-msgstr ""
+msgstr "Ungültiger Limit-Wert"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
-msgstr ""
+msgstr "Limit-Häufung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Protokollnachrichten limitieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
+msgstr "Limitiere Vergleiche"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
+"Limitiere Vergleiche auf <var>%{limit.num}</var> Pakete pro "
+"<var>%{limit.unit}</var>%{limit.burst? Häufung <var>%{limit.burst}</var>}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
-msgstr ""
+msgstr "Limitiere Verkehrsvergleiche auf die angegebene Rate."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
+msgstr "Loopback Quell-IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MACs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
"MASQUERADE - Automatisch auf IP-Adresse der ausgehenden Schnittstelle "
"umschreiben"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS Korrektur"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "NAT aktivieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Filter"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-"Selektiere %{protocol?%{family}-%{protocol} Verkehr:jeglichen %{family}-"
-"Verkehr} %{mark?mit Firewall-Markierung %{mark}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
-msgstr ""
+msgstr "DSCP selektieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Nach ICMP-Typ filtern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
-msgstr ""
+msgstr "Gerät selektieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr "Selektiert an die angegebene IP-Adresse gerichteten Verkehr."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
"Selektiert an den angegeben Port oder Port-Bereich gerichteten Verkehr."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
"Selektiert weitergeleiteten Verkehr von dieser IP oder diesem IP-Bereich."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
"Selektiert weitergeleiteten Verkehr vom angegebenem Quellport oder "
"Portbereich."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
-msgstr ""
+msgstr "Helfer selektieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -560,53 +652,56 @@ msgstr ""
"Eingehende Verbindungen filtern welche an den angegebenen Port oder "
"Portbereich auf dem lokalen Gerät gerichtet sind"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr "Erfasse Markierung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
-msgstr ""
+msgstr "Selektiere Verkehr welcher den angegebenen Tracking-Helfer benutzt."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
"Selektiert Verkehr mit einer spezifischen Firewall-Markierung oder einem "
"Bereich von Markierungen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
"Selektiert weitergeleiteten Verkehr welcher die angegebene "
"Netzwerkschnittstelle benutzt."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
-msgstr ""
+msgstr "Selektiere Verkehr welcher die angegebene DSCP-Markierung trägt."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
+"Maximale initiale Menge von Paketen die selektiert werden. Die Nummer wird "
+"jedes Mal erhöht, wenn das oben genannte Limit nicht erreicht wird, bis zur "
+"hier angegeben Anzahl."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Montag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Monatstage"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr "NAT-Regeln"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
@@ -614,30 +709,26 @@ msgstr ""
"NAT-Regeln erlauben eine detaillierte Kontrolle über die verwendete Quell-IP-"
"Adresse für ausgehenden oder weitergeleiteten Verkehr."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Name"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Netzwerk"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Selektiert nur Traffic der an die angegebene IP-Adresse gerichtet ist."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Selektiert nur Traffic von den angegebenen MAC-Adressen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Selektiert nur Traffic vom angebenem Quell-IP-Adressbereich."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -645,29 +736,29 @@ msgstr ""
"Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich "
"des Client-Host stammt, selektieren"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr "Ausgehende Schnittstelle"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr "Ausgehende Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Ausgehend"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht "
"benutzen!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -682,12 +773,12 @@ msgstr ""
"führen können, dass der Firewall-Regelsatz außer Funktion gesetzt wird und "
"alle Dienste vollständig offengelegt werden."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Portweiterleitungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -695,177 +786,168 @@ msgstr ""
"Portweiterleitungen ermöglichen es entfernten Rechnern im Internet auf "
"bestimmte Computer oder Dienste im lokalen LAN zuzugreifen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protokoll"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Gefilterte Verbindungen an den angegeben Port auf dem internen Host "
"weiterleiten"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Gefilterte Verbindungen an den angegeben internen Host weiterleiten"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Weiterleiten ablehnen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Eingang ablehnen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Ausgang ablehnen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
"Erfordert Hardware-NAT-Unterstützung. (Zumindest für mt7621 implementiert)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "NAT auf die angegebenen Ziel-Subnetze beschränken"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "NAT auf die angegebenen Quell-Subnetze beschränken"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Beschränke auf Adressfamilie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr "IP-Adresse umschreiben"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr "Selektierten Verkehr auf die angegebene Quell-IP-Adresse umschreiben."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
"Selektierten Verkehr auf den angegebenen Quell-Port bzw. Port-Bereich "
"umschreiben."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr "Port umschreiben"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr "Umschreiben auf…"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr "Umschreiben auf %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr "Umschreiben auf ausgehende Schnittstellen-IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Routing/NAT-Beschleunigung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT - Umschreiben auf spezifische Quell-IP oder Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Samstag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
-msgstr ""
+msgstr "Markierung setzen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
+"Setzt die angegebenen Markierung auf etablierten Verbindungen. Das Format "
+"ist Wert[/Maske]. Wenn eine Maske spezifiziert ist, werden nur die "
+"korrespondierenden Bits des Markierungswertes verändert."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Softwarebasierte Auslagerung von Routing/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Beschleunigte Flusskontrolle"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Quell-IP-Adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Quell-MAC-Adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Quelladresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Quellport"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Quell-Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
+"Gibt an, ob diese Verkehrsregel an eine spezifische Eingangs- oder "
+"Ausgangsschnittstelle gebunden wird."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
+"Gibt an, ob die externe oder die interne IP-Adresse für reflektierten "
+"Verkehr genutzt wird."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Startdatum (JJJJ-MM-TT)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Startzeit (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Enddatum (JJJJ-MM-TT)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Stoppzeit (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Sonntag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+"Die existierende Firewall-Konfiguration muss geändert werden damit LuCI "
+"richtig funktioniert."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -873,8 +955,8 @@ msgstr ""
"Die Firewall erstellt Netzwerkzonen über bestimmte Netzwerkschnittstellen um "
"den Netzwerk-Traffic zu trennen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -892,7 +974,7 @@ msgstr ""
"<em>nicht</em> zusätzlich die Erlaubnis, auch von WAN nach LAN "
"weiterzuleiten."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -907,55 +989,71 @@ msgstr ""
"dieser Zone zu. <em>Covered networks</em> definiert welche der verfügbaren "
"Netzwerke zu dieser Zone gehören."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Donnerstag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Zeitbeschränkungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Zeit ist UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Zu %s an %s auf <var>diesem Gerät</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Zu %s in %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Zu %s auf <var>diesem Gerät</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Zu %s, %s in %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+"Nach %{dest}%{dest_device?, Schnittstelle <var>%{dest_device}</var>}%{"
+"dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert "
+"IP-Adressen außer %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, Port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert Ports außer "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
+"Nach %{dest}%{dest_device?, über Schnittstelle <var>%{dest_device}</var>}%{"
+"dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert "
+"IP-Adressen außer %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, Port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Selektiert Ports außer "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
+msgid ""
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-"Zu %{ipaddr?:beliebigem Host} %{port?an %{port}} %{zone?über Zone %{zone}} "
-"%{device?ausgehende Schnittstelle %{device}}"
+"Nach %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Selektiert IP-Adressen außer %{item.val}.\"}>%{item.ival}</var>}}%{"
+"dest_port?, Port %{dest_port#%{next?, }<var%{item.inv? data-tooltip=\""
+"Selektiert Ports außer %{item.val}.\"}>%{item.ival}</var>}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
-msgstr ""
+msgstr "Tracking-Helfer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Traffic-Regeln"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -965,8 +1063,8 @@ msgstr ""
"zum Beispiel um Traffic zwischen bestimmten Rechnern zu unterbinden oder um "
"WAN-Ports auf dem Router zu öffnen."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Dienstag"
@@ -974,39 +1072,53 @@ msgstr "Dienstag"
msgid "Unable to save contents: %s"
msgstr "Inhalt kann nicht gespeichert werden: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
-msgstr ""
+msgstr "Unbekannter oder nicht installierter Tracking-Helfer \"%s\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr "Unbenannte NAT-Regel"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Unbenannte Portweiterleitung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Unbennante Regel"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Unbenannte Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
-msgid "Use external IP address"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr "Unbekanntes Protokoll"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
msgstr ""
+"Beim Fortfahren werden \"redirect\" Sektionen mit \"SNAT\" Aktion in \"nat\" "
+"Sektionen konvertiert und die Firewall wird neu gestartet um die geänderte "
+"Konfiguration anzuwenden."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
+msgid "Use external IP address"
+msgstr "Externe IP-Adresse nutzen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
-msgstr ""
+msgstr "Interne IP-Adresse nutzen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -1014,7 +1126,7 @@ msgstr ""
"Diese Option verwenden, um den Zonenverkehr nach rohen, nicht <em>uci</em>-"
"verwalteten Netzwerkgeräten zu klassifizieren."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1022,177 +1134,319 @@ msgstr ""
"Diese Option verwenden, um den Zonenverkehr nach Quell- oder Zielsubnetz "
"anstelle von Netzwerken oder Geräten zu klassifizieren."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Über %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Über %s an %s"
+msgstr "Gültige Firewall-Markierung benötigt"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Mittwoch"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Wochentage"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
-msgstr ""
+msgstr "Firewallmarkierung XOR-en"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
-msgstr ""
+msgstr "Markierungen XOR-en"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zone ⇒ Weiterleitungen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zonen"
# Die richtige Übersetzung von ACCEPT im Firewallkontext ist nicht "Annehmen" sondern "Zulassen". Man kann ja keinen
# ausgehenden Traffic annehmen.
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "zulassen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "beliebig"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "beliebiger Rechner"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "beliebige Router-IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "beliebige Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
-msgstr ""
+msgstr "Firewallmarkierung anwenden"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
-msgstr ""
+msgstr "Tracking-Helfer zuordnen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "Tag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr "nicht umschreiben"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "nicht verfolgen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "verwerfen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "Stunde"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "Minute"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "nicht"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "Port"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "Ports"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "zurückweisen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "Sekunde"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr "dieses Gerät"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "diese neue Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "Typ"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "Typen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
-msgstr ""
+msgstr "unlimitiert"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
-msgstr ""
+msgstr "unspezifiziert"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr "gültige Firewall-Markierung"
+#~ msgid "%s in %s"
+#~ msgstr "%s in %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s mit %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s in %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> Pkte. pro <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> Pkte. pro <var>%s</var>, Häufung <var>%d</var> Pkte."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> und limitieren auf %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Erlaubte Weiterleitung"
+
+#~ msgid "Accept input"
+#~ msgstr "Eingang akzeptieren"
+
+#~ msgid "Accept output"
+#~ msgstr "Ausgang akzeptieren"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Ziel IP-Adresse"
+
+#~ msgid "Discard forward"
+#~ msgstr "Weiterleiten verwerfen"
+
+#~ msgid "Discard input"
+#~ msgstr "Eingang verwerfen"
+
+#~ msgid "Discard output"
+#~ msgstr "Ausgang verwerfen"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Nicht umschreiben"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Weiterleitung nicht verfolgen"
+
+#~ msgid "Do not track input"
+#~ msgstr "Eingang nicht verfolgen"
+
+#~ msgid "Do not track output"
+#~ msgstr "Ausgang nicht verfolgen"
+
+#~ msgid "Forward to"
+#~ msgstr "Weiterleiten an"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Von %s in %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Von %s in %s mit Quell-%s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Von %s in %s mit Quell-%s und %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Von %s auf <var>dieses Gerät</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Von %s auf <var>diesem Gerät</var> mit Quelle %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "Von %s auf <var>dieses Gerät</var> mit Quelle %s und %s"
+
+#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#~ msgstr "Von %{ipaddr?:beliebigen Hosts} %{port?mit Quell-%{port}}"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "IP-Bereich"
+
+#~ msgid "IPs"
+#~ msgstr "IPs"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MACs"
+
+#~ msgid ""
+#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
+#~ msgstr ""
+#~ "Selektiere %{protocol?%{family}-%{protocol} Verkehr:jeglichen %{family}-"
+#~ "Verkehr} %{mark?mit Firewall-Markierung %{mark}}"
+
+#~ msgid "Network"
+#~ msgstr "Netzwerk"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Weiterleiten ablehnen"
+
+#~ msgid "Refuse input"
+#~ msgstr "Eingang ablehnen"
+
+#~ msgid "Refuse output"
+#~ msgstr "Ausgang ablehnen"
+
+#~ msgid "Rewrite to"
+#~ msgstr "Umschreiben auf…"
+
+#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+#~ msgstr ""
+#~ "Umschreiben auf %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+
+#~ msgid "Rewrite to outbound device IP"
+#~ msgstr "Umschreiben auf ausgehende Schnittstellen-IP"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Zu %s an %s auf <var>diesem Gerät</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Zu %s in %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Zu %s auf <var>diesem Gerät</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Zu %s, %s in %s"
+
+#~ msgid ""
+#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+#~ "%{device?egress device %{device}}"
+#~ msgstr ""
+#~ "Zu %{ipaddr?:beliebigem Host} %{port?an %{port}} %{zone?über Zone "
+#~ "%{zone}} %{device?ausgehende Schnittstelle %{device}}"
+
+#~ msgid "Via %s"
+#~ msgstr "Über %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Über %s an %s"
+
+#~ msgid "any host"
+#~ msgstr "beliebiger Rechner"
+
+#~ msgid "any router IP"
+#~ msgstr "beliebige Router-IP"
+
+#~ msgid "not"
+#~ msgstr "nicht"
+
+#~ msgid "port"
+#~ msgstr "Port"
+
+#~ msgid "ports"
+#~ msgstr "Ports"
+
+#~ msgid "type"
+#~ msgstr "Typ"
+
+#~ msgid "types"
+#~ msgstr "Typen"
+
#~ msgid "Force connection tracking"
#~ msgstr "Connectiontracking erzwingen"
diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po
index 8f27b6f9cb..048ca3b044 100644
--- a/applications/luci-app-firewall/po/el/firewall.po
+++ b/applications/luci-app-firewall/po/el/firewall.po
@@ -14,129 +14,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s με %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> πκτ. ανά <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Ενέργεια"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Ρυθμίσεις για προχωρημένους"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Οποιοδήποτε"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -144,15 +193,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -167,131 +220,100 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Διεύθυνση IP προορισμού"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Διεύθυνση προορισμού"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Θύρα προορισμού"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Ζώνη προορισμού"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Αγνόηση μη-έγκυρων πακετών"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Ενεργοποίηση"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
#, fuzzy
msgid "Enable SYN-flood protection"
msgstr "Προστασία SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Εξωτερική διεύθυνση IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Εξωτερική θύρα"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Επιπλέον παράμετροι"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -303,339 +325,330 @@ msgstr "Τείχος προστασίας"
msgid "Firewall - Custom Rules"
msgstr "Τείχος προστασίας - Προσαρμοσμένοι Κανόνες"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Τείχος προστασίας - Προώθηση Θυρών"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Τείχος προστασίας - Κανόνες Κίνησεις"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Τείχος προστασίας - Ρυθμίσεις Ζώνης"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Προώθηση"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Απο %s στο %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Γενικές Ρυθμίσεις"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 και IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Μόνο IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Μόνο IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Είσοδος"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
#, fuzzy
msgid "Internal IP address"
msgstr "Εσωτερική διεύθυνση"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
#, fuzzy
msgid "Internal port"
msgstr "Εξωτερική θύρα"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Εσωτερική ζώνη"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Περιορισμός καταγραφών συστήματος"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
#, fuzzy
msgid "MSS clamping"
msgstr "Περιορισμός MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Όνομα"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Έξοδος"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -644,186 +657,168 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Προώθηση Θυρών"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Πρωτόκολλο"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
#, fuzzy
msgid "Source IP address"
msgstr "Διεύθυνση MAC πηγής"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
#, fuzzy
msgid "Source address"
msgstr "Διεύθυνση MAC πηγής"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Θύρα πηγής"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
#, fuzzy
msgid "Source zone"
msgstr "Θύρα πηγής"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -831,8 +826,8 @@ msgstr ""
"Το τείχος προστασίας δημιουργεί ζώνες πάνω στις διεπαφές δικτύου για να "
"ελέγχει την δικτυακή κίνηση."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -842,7 +837,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -851,61 +846,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -913,219 +912,222 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Ζώνες"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "αποδοχή"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "αγνόηση"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "απόρριψη"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s με %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> πκτ. ανά <var>%s</var>"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Διεύθυνση IP προορισμού"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Απο %s στο %s"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
#~ msgid "Force connection tracking"
#~ msgstr "Επιβολή παρακολούθησης σύνδεσης"
diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po
index 680a925028..0be143a478 100644
--- a/applications/luci-app-firewall/po/en/firewall.po
+++ b/applications/luci-app-firewall/po/en/firewall.po
@@ -11,129 +11,178 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Action"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -141,15 +190,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -164,130 +217,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Destination address"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Destination port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Destination zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Drop invalid packets"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Enable SYN-flood protection"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -303,233 +325,228 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Forward"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Input"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Internal IP address"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Internal port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS clamping"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Masquerading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -537,104 +554,100 @@ msgstr ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Name"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Output"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -643,118 +656,94 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Redirect matched incoming traffic to the given port on the internal host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Redirect matched incoming traffic to the specified internal host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
@@ -788,69 +777,75 @@ msgstr ""
# msgid "Protocol"
# msgstr ""
#
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Source IP address"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Source address"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Source port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Source zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -858,8 +853,8 @@ msgstr ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -869,7 +864,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -878,61 +873,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -940,215 +939,197 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "accept"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "any"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "drop"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "reject"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po
index dd1f6aaa34..d15b8ef736 100644
--- a/applications/luci-app-firewall/po/es/firewall.po
+++ b/applications/luci-app-firewall/po/es/firewall.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2020-01-17 07:27+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfirewall/es/>\n"
@@ -12,60 +12,109 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10.2-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s en %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s con %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr "-- añadir IP --"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s en %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr "-- añadir MAC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> paquetes por <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-"<var>%d</var> paquetes por <var>%s</var>, máximo <var>%d</var> paquetes."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> y limitar a %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
msgid "A rewrite IP must be specified!"
msgstr "¡Se debe especificar una IP de reescritura!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
msgid "ACCEPT - Disable address rewriting"
msgstr "ACEPTAR - Desactivar reescritura de direcciones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Aceptar reenvío"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Aceptar entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Aceptar salida"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Acción"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -75,7 +124,7 @@ msgstr ""
"tráfico de destino de la zona, p.e. <code>-p tcp --dport 443</code> para que "
"solo coincida con el tráfico HTTPS saliente."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -84,38 +133,37 @@ msgstr ""
"tráfico de origen de zona, p.e. <code>-p tcp --sport 443</code> para que "
"solo coincida con el tráfico HTTPS entrante."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Configuración avanzada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Permitir tráfico \"inválido\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permitir reenvío desde <em>zonas de origen</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permitir reenvío a <em>zonas de destino</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Cualquiera"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Cualquier día"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
@@ -125,32 +173,32 @@ msgstr ""
"conexiones establecidas. El formato es el valor [/ máscara]. Si se "
"especifica una máscara, esos bits establecidos en la máscara se ponen a cero."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr "Aplique la clase o valor DSCP dado a las conexiones establecidas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
"Asigne el asistente de seguimiento de conexión especificado al tráfico "
"coincidente."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Asignación automática de ayuda"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Asigna automáticamente ayudantes de conntrack según el protocolo de tráfico "
"y el puerto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Configuraciones de Conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Ayudantes de Conntrack"
@@ -158,15 +206,19 @@ msgstr "Ayudantes de Conntrack"
msgid "Contents have been saved."
msgstr "Los contenidos han sido guardados."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr "Continuar"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Interfaces cubiertas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Redes cubiertas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Subredes cubiertas"
@@ -185,52 +237,37 @@ msgstr ""
"cualquier reinicio del FIrewall, justo tras haber cargado el conjunto de "
"reglas predeterminadas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr "Clasificación DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr "Marca DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr "Marca DSCP requerida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Dirección IP destino"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Dirección de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Puerto de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zona de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr "Nombre del dispositivo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Descartar reenvío"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Descartar entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Descartar salida"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -239,81 +276,65 @@ msgstr ""
"estado conntrack <em>inválido</em>. Esto puede ser necesario para "
"configuraciones complejas de rutas asimétricas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "No reescribir"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "No seguir reenvío"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "No seguir entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "No seguir salida"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Descartar paquetes inválidos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Activar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Activar bucle NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Activar protección contra inundaciones SYN"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Activar registro en esta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr "Esperando: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Característica experimental. No es totalmente compatible con QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Elige explícitamente los ayudantes de seguimiento de conexión permitidos "
"para el tráfico de zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Dirección IP externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Puerto externo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Argumentos extra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Argumentos de destino adicionales"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Argumentos adicionales de iptables"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Argumentos fuente adicionales"
@@ -325,239 +346,232 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Reglas personalizadas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr "Firewall - Reglas de NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Reenvío de puertos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Reglas de tráfico"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Firewall - Configuración de la zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr "Migración de configuración de Firewall"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Reenviar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Reenviar a"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Viernes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Desde %s en %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Desde %s en %s con origen %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Desde %s en %s con origen %s y %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Desde %s en <var>este dispositivo</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Desde %s en <var>este dispositivo</var> con la fuente %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "De %s en <var>este dispositivo</var> con la fuente %s y %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
-msgstr "Desde %{ipaddr?:cualquier host} %{puerto?con origen %{puerto}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Configuración general"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Descarga de flujo por hardware"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Rango de IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 e IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Sólo IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Sólo IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr "Dispositivo de entrada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Entrada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Dirección IP interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Puerto interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zona interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr "Marca DSCP inválida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr "Valor límite no válido"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr "Límite de ráfaga"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limitar registro de mensajes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr "Limitar coincidencia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr "Limita el tráfico que coincide con la velocidad especificada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr "IP de origen de bucle invertido"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr "MASQUERADE - Reescribe automáticamente a la interfaz IP saliente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Fijado de MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Enmascaramiento"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Coincidir"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-"Coincidir %{protocolo?%{familia} %{protocolo} tráfico:cualquiera %{familia} "
-"tráfico} %{marco?con marco de firewall %{marco}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr "Coincidir DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Coincidir con tipo ICMP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr "Dispositivo de coincidencia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr "Haga coincidir el tráfico reenviado dirigido a la dirección IP dada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
"Haga coincidir el tráfico reenviado dirigido al puerto de destino o rango de "
"puertos dados."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr "Haga coincidir el tráfico reenviado desde esta IP o rango."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
"Haga coincidir el tráfico reenviado que se origina en el puerto fuente o "
"rango de puertos dados."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr "Ayudante de partido"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -565,34 +579,34 @@ msgstr ""
"Coincidir con tráfico de entrada dirigido al puerto o rango de puertos "
"destino en este host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr "Marca de partido"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
"Haga coincidir el tráfico con el ayudante de seguimiento de conexión "
"especificado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
"Coincide con una marca de firewall específica o un rango de marcas "
"diferentes."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
"Coincide con el tráfico reenviado utilizando el dispositivo de red saliente "
"especificado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr "Coincide con el tráfico que lleva la marca DSCP especificada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
@@ -601,22 +615,22 @@ msgstr ""
"recarga en uno cada vez que no se alcanza el límite especificado "
"anteriormente, hasta este número."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Lunes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Días del mes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr "Reglas NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
@@ -624,30 +638,26 @@ msgstr ""
"Las reglas de NAT permiten un control detallado sobre la IP de origen para "
"el tráfico saliente o reenviado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nombre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Red"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Coincidir sólo con tráfico de entrada a esta dirección IP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Coincidir sólo con tráfico de entrada desde estas MACs."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Coincidir sólo con tráfico de entrada desde esta IP o rango."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -655,27 +665,27 @@ msgstr ""
"Solo coincida con el tráfico entrante que se origina desde el puerto de "
"origen o el rango de puertos en el host del cliente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr "Dispositivo saliente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr "Zona de salida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Salida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Ingrese argumentos adicionales a iptables. ¡Utilícelo con cuidado!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -690,12 +700,12 @@ msgstr ""
"conjunto de reglas del firewall se rompa, exponiendo completamente todos los "
"servicios."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Reenvío de puertos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -703,104 +713,79 @@ msgstr ""
"El reenvío de puertos permite a ordenadores remotos en internet conectar a "
"un ordenador o servicio específico en la LAN privada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocolo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Redirigir el tráfico de entrada que coincida al puerto dado en el host "
"interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
"Redirigir el tráfico de entrada que coincida al host interno especificado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Rechazar reenvío"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Rechazar entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Rechazar salida"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
"Requiere soporte de NAT por hardware. Implementado al menos para mt7621"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Restringir enmascaramiento a las subredes destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Restringir enmascaramiento a las subredes origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Restringir a la familia de direcciones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr "Reescribir dirección IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
"Reescribe el tráfico coincidente a la dirección IP de origen especificada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
"Reescribe el tráfico coincidente al puerto de origen o rango de puertos "
"especificados."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr "Reescribir puerto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr "Reescribe a"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-"Reescribe a %{ipaddr?%{puerto?%{ipaddr}, %{puerto}:%{ipaddr}}:%{puerto}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr "Reescribir a la IP del dispositivo saliente"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Enrutamiento/NAT Offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT - Reescribe a una fuente específica IP o puerto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sábado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr "Establecer marca"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -809,40 +794,40 @@ msgstr ""
"es el valor [/máscara]. Si se especifica una máscara, sólo se modifican los "
"bits establecidos en la máscara."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Descarga basada en software para enrutamiento/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Descarga de flujo por software"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Dirección IP de origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Dirección MAC de origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Dirección de origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Puerto de origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zona de origen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
@@ -850,7 +835,7 @@ msgstr ""
"Especifica si se debe vincular esta regla de tráfico a un dispositivo de red "
"entrante o saliente específico."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
@@ -858,32 +843,40 @@ msgstr ""
"Especifica si se debe usar la dirección IP externa o interna para el tráfico "
"reflejado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Fecha de inicio (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Hora de inicio (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Fecha de finalización (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Hora de finalización (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Domingo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+"La configuración de firewall existente debe cambiarse para que LuCI funcione "
+"correctamente."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -891,8 +884,8 @@ msgstr ""
"El Firewall crea zonas sobre sus interfaces de red para controlar el flujo "
"del tráfico."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -909,7 +902,7 @@ msgstr ""
"la LAN a la WAN <em>no</em> implica permiso para reenviar desde la WAN a la "
"LAN también."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -924,55 +917,57 @@ msgstr ""
"<em>Redes cubiertas</em> especifican qué redes disponibles son miembros de "
"esta zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Jueves"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Restricciones de tiempo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Tiempo en UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "A %s en %s por <var>este dispositivo</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "A %s en %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "A %s por <var>este dispositivo</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "A %s, %s en %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-"A %{ipaddr?:cualquier destino} %{puerto?a %{puerto}} %{zona?via zona "
-"%{zona}} %{dispositivo?dispositivo de salida %{dispositivo}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr "Ayudante de seguimiento"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Reglas de tráfico"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -982,8 +977,8 @@ msgstr ""
"diferentes zonas, por ejemplo, para rechazar el tráfico entre ciertos hosts "
"o para abrir puertos WAN en el enrutador."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Martes"
@@ -991,39 +986,50 @@ msgstr "Martes"
msgid "Unable to save contents: %s"
msgstr "No se puede guardar el contenido: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Ayudante de Conntrack desconocido o no instalado \"%s\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr "NAT sin nombre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Reenvío sin nombre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Regla sin nombre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Zona sin nombre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr "Protocolo no reconocido"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr "Usar dirección IP externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr "Usar dirección IP interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -1031,7 +1037,7 @@ msgstr ""
"Use esta opción para clasificar el tráfico de zona por raw, dispositivos de "
"red no administrados <em>uci</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1039,175 +1045,318 @@ msgstr ""
"Use esta opción para clasificar el tráfico de zona por subred de origen o "
"destino en lugar de redes o dispositivos."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr "Se requiere una marca de firewall válida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Vía %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Vía %s a %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Miércoles"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Días de la semana"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr "Marca de firewall XOR"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr "Marca XOR"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zona ⇒ Reenvíos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zonas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "Aceptar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "cualquiera"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "cualquier host"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "cualquier router IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "cualquier zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr "aplicar marca de firewall"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr "asignar ayudante de Conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "Día"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr "no reescribir"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "No seguir"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "Descartar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "Hora"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "Minuto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "No"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "puerto"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "puertos"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "Rechazar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "segundo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr "este dispositivo"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "Esta nueva zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "Tipo"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "Tipos"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr "ilimitado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr "sin especificar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr "marca de firewall válida"
+#~ msgid "%s in %s"
+#~ msgstr "%s en %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s con %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s en %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> paquetes por <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr ""
+#~ "<var>%d</var> paquetes por <var>%s</var>, máximo <var>%d</var> paquetes."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> y limitar a %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Aceptar reenvío"
+
+#~ msgid "Accept input"
+#~ msgstr "Aceptar entrada"
+
+#~ msgid "Accept output"
+#~ msgstr "Aceptar salida"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Dirección IP destino"
+
+#~ msgid "Discard forward"
+#~ msgstr "Descartar reenvío"
+
+#~ msgid "Discard input"
+#~ msgstr "Descartar entrada"
+
+#~ msgid "Discard output"
+#~ msgstr "Descartar salida"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "No reescribir"
+
+#~ msgid "Do not track forward"
+#~ msgstr "No seguir reenvío"
+
+#~ msgid "Do not track input"
+#~ msgstr "No seguir entrada"
+
+#~ msgid "Do not track output"
+#~ msgstr "No seguir salida"
+
+#~ msgid "Forward to"
+#~ msgstr "Reenviar a"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Desde %s en %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Desde %s en %s con origen %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Desde %s en %s con origen %s y %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Desde %s en <var>este dispositivo</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Desde %s en <var>este dispositivo</var> con la fuente %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "De %s en <var>este dispositivo</var> con la fuente %s y %s"
+
+#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#~ msgstr "Desde %{ipaddr?:cualquier host} %{puerto?con origen %{puerto}}"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "Rango de IP"
+
+#~ msgid "IPs"
+#~ msgstr "IP"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC"
+
+#~ msgid ""
+#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
+#~ msgstr ""
+#~ "Coincidir %{protocolo?%{familia} %{protocolo} tráfico:cualquiera "
+#~ "%{familia} tráfico} %{marco?con marco de firewall %{marco}}"
+
+#~ msgid "Network"
+#~ msgstr "Red"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Rechazar reenvío"
+
+#~ msgid "Refuse input"
+#~ msgstr "Rechazar entrada"
+
+#~ msgid "Refuse output"
+#~ msgstr "Rechazar salida"
+
+#~ msgid "Rewrite to"
+#~ msgstr "Reescribe a"
+
+#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+#~ msgstr ""
+#~ "Reescribe a %{ipaddr?%{puerto?%{ipaddr}, %{puerto}:%{ipaddr}}:%{puerto}}"
+
+#~ msgid "Rewrite to outbound device IP"
+#~ msgstr "Reescribir a la IP del dispositivo saliente"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "A %s en %s por <var>este dispositivo</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "A %s en %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "A %s por <var>este dispositivo</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "A %s, %s en %s"
+
+#~ msgid ""
+#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+#~ "%{device?egress device %{device}}"
+#~ msgstr ""
+#~ "A %{ipaddr?:cualquier destino} %{puerto?a %{puerto}} %{zona?via zona "
+#~ "%{zona}} %{dispositivo?dispositivo de salida %{dispositivo}}"
+
+#~ msgid "Via %s"
+#~ msgstr "Vía %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Vía %s a %s"
+
+#~ msgid "any host"
+#~ msgstr "cualquier host"
+
+#~ msgid "any router IP"
+#~ msgstr "cualquier router IP"
+
+#~ msgid "not"
+#~ msgstr "No"
+
+#~ msgid "port"
+#~ msgstr "puerto"
+
+#~ msgid "ports"
+#~ msgstr "puertos"
+
+#~ msgid "type"
+#~ msgstr "Tipo"
+
+#~ msgid "types"
+#~ msgstr "Tipos"
+
#~ msgid "Force connection tracking"
#~ msgstr "Forzar seguimiento de conexión"
diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po
index ca2494b414..8900b87b69 100644
--- a/applications/luci-app-firewall/po/fr/firewall.po
+++ b/applications/luci-app-firewall/po/fr/firewall.po
@@ -14,131 +14,180 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.10.1\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s dans %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s avec %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s dans %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Accepter l'entrée"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Action"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Paramètres avancés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Autoriser le trafic \"non valide\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permettre la transmission des <em>zones source</em> :"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permettre la transmission vers les <em>zones destination</em> :"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "N'importe lequel"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "N'importe quel jour"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Attribuer automatiquement des assistants conntrack en fonction du protocole "
"de trafic et du port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Paramètres Conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -146,15 +195,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr "Le contenu a été enregistré."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Appareils couverts"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Réseaux couverts"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Sous-réseaux couverts"
@@ -173,130 +226,99 @@ msgstr ""
"feu. Les commandes sont exécutées après chaque redémarrage du pare-feu, "
"juste après le chargement de l'ensemble de règles par défaut."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Adresse IP de destination"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Adresse de destination"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Port de destination"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zone de destination"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Supprimer les paquets invalides"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Activer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Activer le NAT sur la boucle-locale"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Activer la protection contre le SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Activer les traces (logs) sur cette zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Adresse IP externe"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Port externe"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Arguments supplémentaires"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Arguments supplémentaires iptables"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -312,233 +334,228 @@ msgstr "Pare-feu"
msgid "Firewall - Custom Rules"
msgstr "Pare-feu - Règles personnalisées"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Pare-feu - Redirections de ports"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Pare-feu - Règles de trafic"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Pare-feu - Configuration des zones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Transférer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Transférer à"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Vendredi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Paramètres généraux"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Plage IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IPs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 et IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "IPv4 seulement"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "IPv6 seulement"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Entrée"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Adresse IP interne"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Port interne"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zone interne"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limiter les messages de journalisation"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MACs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Contrainte du MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Masquage"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Type ICMP correspondant"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -546,106 +563,102 @@ msgstr ""
"Prendre en compte le trafic dirigé vers le port de destination donné (ou la "
"gamme de ports) sur cet hôte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Lundi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nom"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Réseau"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Montrer seulement le trafic entrant provenant de ces adresses MAC."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Sortie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser "
"avec précaution !"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -654,12 +667,12 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Redirections de port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -667,112 +680,88 @@ msgstr ""
"La redirection de port permet aux ordinateurs distants sur Internet, de se "
"connecter à un ordinateur ou service spécifié dans le réseau local privé."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocole"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Rediriger le trafic entrant correspondant vers le port donné sur l'hôte "
"interne"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Rediriger le trafic entrant correspondant vers l'hôte interne spécifié"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux "
"destinataires"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
"Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux "
"sources"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Restreindre à cette famille d'adresses"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Samedi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
@@ -806,69 +795,75 @@ msgstr ""
# msgid "Protocol"
# msgstr ""
#
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Adresse IP source"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Adresse MAC source"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Adresse source"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Port source"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zone source"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Dimanche"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -876,8 +871,8 @@ msgstr ""
"Le pare-feu crée des zones sur les interfaces réseau pour contrôler le flux "
"du trafic réseau."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -894,7 +889,7 @@ msgstr ""
"transmission du LAN au WAN n'implique <em>pas</em> également l'autorisation "
"de transmission du WAN au LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
#, fuzzy
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
@@ -910,53 +905,57 @@ msgstr ""
"cette zone. Les <em>réseaux couverts</em> indiquent quels réseaux "
"disponibles sont membre de cette zone."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Jeudi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Heure en UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Règles de trafic"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -966,8 +965,8 @@ msgstr ""
"entre différentes zones, par exemple pour rejeter le trafic entre certains "
"hôtes ou pour ouvrir des ports WAN sur le routeur."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Mardi"
@@ -975,45 +974,56 @@ msgstr "Mardi"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1021,175 +1031,200 @@ msgstr ""
"Utilisez cette option pour classer le trafic de zone par sous-réseau source "
"ou de destination au lieu de réseaux ou de périphériques."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Mercredi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zone ⇒ Transmissions"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "accepter"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "tous"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "n'importe quel hôte"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "n'importe quelle zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "journée"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "ignorer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "heure"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "minute"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "ne pas"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "port"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "rejeter"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "type"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s dans %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s avec %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s dans %s"
+
+#~ msgid "Accept input"
+#~ msgstr "Accepter l'entrée"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Adresse IP de destination"
+
+#~ msgid "Forward to"
+#~ msgstr "Transférer à"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "Plage IP"
+
+#~ msgid "IPs"
+#~ msgstr "IPs"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MACs"
+
+#~ msgid "Network"
+#~ msgstr "Réseau"
+
+#~ msgid "any host"
+#~ msgstr "n'importe quel hôte"
+
+#~ msgid "not"
+#~ msgstr "ne pas"
+
+#~ msgid "port"
+#~ msgstr "port"
+
+#~ msgid "type"
+#~ msgstr "type"
+
#~ msgid "Force connection tracking"
#~ msgstr "Forcer le suivi des connexions"
diff --git a/applications/luci-app-firewall/po/he/firewall.po b/applications/luci-app-firewall/po/he/firewall.po
index aad6172eae..438976c4b2 100644
--- a/applications/luci-app-firewall/po/he/firewall.po
+++ b/applications/luci-app-firewall/po/he/firewall.po
@@ -8,129 +8,178 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -138,15 +187,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -161,130 +214,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -296,336 +318,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -634,190 +647,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -827,7 +822,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -836,61 +831,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -898,215 +897,197 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/hi/firewall.po b/applications/luci-app-firewall/po/hi/firewall.po
index 89570e9d74..3f0bda874f 100644
--- a/applications/luci-app-firewall/po/hi/firewall.po
+++ b/applications/luci-app-firewall/po/hi/firewall.po
@@ -14,129 +14,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -144,15 +193,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -167,130 +220,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -306,336 +328,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -644,117 +657,93 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
@@ -788,76 +777,82 @@ msgstr ""
# msgid "Protocol"
# msgstr ""
#
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -867,7 +862,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -876,61 +871,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -938,215 +937,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po
index 6c89aee2dd..eb45ae701a 100644
--- a/applications/luci-app-firewall/po/hu/firewall.po
+++ b/applications/luci-app-firewall/po/hu/firewall.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2020-01-17 07:27+0000\n"
+"PO-Revision-Date: 2020-01-19 06:04+0000\n"
"Last-Translator: Balázs Úr <balazs@urbalazs.hu>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfirewall/hu/>\n"
@@ -10,59 +10,109 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10.2-dev\n"
+"X-Generator: Weblate 3.10.2\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s ebben: %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s ezzel: %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s ebben: %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> csomag / <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> csomag / <var>%s</var>, löket <var>%d</var> csomag"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> és korlátozás erre: %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Továbbítás elfogadása"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Bemenet elfogadása"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Kimenet elfogadása"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr "Egy átírási IP-t meg kell adni!"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr "ELFOGADÁS – címátírás letiltása"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Művelet"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -72,7 +122,7 @@ msgstr ""
"besorolásához, például <code>-p tcp --dport 443</code> csak a kimenő HTTPS "
"forgalom illesztéséhez."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -81,68 +131,74 @@ msgstr ""
"besorolásához, például <code>-p tcp --sport 443</code> csak a bejövő HTTPS "
"forgalom illesztéséhez."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Speciális beállítások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "„Érvénytelen” forgalom engedélyezése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Továbbítás engedélyezése a <em>forrászónákból</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Továbbítás engedélyezése ezekbe a <em>célzónákba</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Bármelyik"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Bármely nap"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
+"A megadott érték és a meglévő jelölésérték bitenkénti kizáró vagy "
+"műveletének alkalmazása a kiépített kapcsolatokon. A formátum: érték[/"
+"maszk]. Ha egy maszk meg van adva, akkor a maszkban beállított bitek ki "
+"lesznek nullázva."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
+"A megadott DSCP-osztály vagy érték alkalmazása a kiépített kapcsolatokra."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
+"A megadott kapcsolatkövető segítőjének hozzárendelése az illesztett "
+"forgalomhoz."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Automatikus segítő hozzárendelés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Kapcsolatkövető segítők automatikus hozzárendelése a forgalom protokollja és "
"portja alapján"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Kapcsolatkövető beállításai"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Kapcsolatkövető segítők"
@@ -150,15 +206,19 @@ msgstr "Kapcsolatkövető segítők"
msgid "Contents have been saved."
msgstr "A tartalom mentésre került."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Lefedett eszközök"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Lefedett hálózatok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Lefedett alhálózatok"
@@ -177,52 +237,37 @@ msgstr ""
"parancsok minden tűzfal-újraindítás után végrehajtásra kerülnek, közvetlenül "
"az alapértelmezett szabálykészletek betöltődése után."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
-msgstr ""
+msgstr "DSCP osztályozás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
-msgstr ""
+msgstr "DSCP jelölés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
-msgstr ""
+msgstr "DSCP jelölés szükséges"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Cél IP-cím"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Célcím"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Célport"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Célzóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Továbbítás elvetése"
+msgstr "Eszköz neve"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Bemenet elvetése"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Kimenet elvetése"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -230,81 +275,65 @@ msgstr ""
"Ne telepítsen további szabályokat az <em>érvénytelen</em> kapcsolatkövető "
"állapottal rendelkező továbbított forgalom visszautasításához."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Ne írja felül"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Ne kövesse a továbbítást"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Ne kövesse a bemenetet"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Ne kövesse a kimenetet"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Érvénytelen csomagok eldobása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Engedélyezés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "NAT visszacsatolás engedélyezése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "SYN-elárasztás elleni védelem engedélyezése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Naplózás engedélyezése ezen a zónán"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr "Elvárás: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Kísérleti funkció. Nem teljesen kompatibilis a QoS/SQM használatával."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Határozottan kiválasztja az engedélyezett kapcsolatkövető segítőket a "
"zónaforgalomhoz"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Külső IP-cím"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Külső port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "További argumentumok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "További célargumentumok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "További iptables argumentumok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "További forrásargumentumok"
@@ -316,234 +345,232 @@ msgstr "Tűzfal"
msgid "Firewall - Custom Rules"
msgstr "Tűzfal – egyéni szabályok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
-msgstr ""
+msgstr "Tűzfal – NAT szabályok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Tűzfal – porttovábbítások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Tűzfal – forgalmi szabályok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Tűzfal – Zóna beállításai"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Továbbítás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Továbbítás ide"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Péntek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Innen: %s, ebben: %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Innen: %s, ebben: %s, ezzel a forrással: %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Innen: %s, ebben: %s, ezekkel a forrásokkal: %s és %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Ettől: %s, <var>ezen az eszközön</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Ettől: %s, <var>ezen az eszközön</var>, ezzel a forrással: %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-"Ettől: %s, <var>ezen az eszközön</var>, ezekkel a forrásokkal: %s és %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Általános beállítások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Hardveres áramláskiürítés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "IP-tartomány"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP-k"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 és IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Csak IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Csak IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
+msgstr "Bejövő eszköz"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Bemenet"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Belső IP-cím"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Belső port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Belső zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
-msgstr ""
+msgstr "Érvénytelen DSCP jelölés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
-msgstr ""
+msgstr "Érvénytelen korlátérték"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
-msgstr ""
+msgstr "Löket korlátozása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Naplóüzenetek korlátozása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
+msgstr "Illesztés korlátozása"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
-msgstr ""
+msgstr "Korlátozza a megadott sebességre illeszkedő forgalmat."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
+msgstr "Visszacsatolás forrás IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC-ek"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
-msgstr ""
+msgstr "ÁLCÁZÁS – átírás automatikusan a kimenő csatoló IP-jére"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS összefogás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Álcázás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Illesztés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
-msgstr ""
+msgstr "DSCP illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "ICMP-típus illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
-msgstr ""
+msgstr "Eszköz illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
-msgstr ""
+msgstr "A megadott IP-címre irányított továbbított forgalom illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
+"A megadott célportra vagy porttartományra irányított továbbított forgalom "
+"illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
-msgstr ""
+msgstr "Erről az IP-ről vagy tartományról továbbított forgalom illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
+"A megadott forrásportról vagy porttartományból eredő továbbított forgalom "
+"illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
-msgstr ""
+msgstr "Illesztési segítő"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -551,109 +578,113 @@ msgstr ""
"Az ezen a gépen lévő megadott célportra vagy porttartományra irányított "
"bejövő forgalom illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
-msgstr ""
+msgstr "Jelölés illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
-msgstr ""
+msgstr "Forgalom illesztése a megadott kapcsolatkövető segítő használatával."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
+"Egy bizonyos tűzfaljelölést vagy különböző jelölések tartományát illeszti."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
+"A megadott kimeneti hálózati eszköz használatával illeszti a továbbított "
+"forgalmat."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
-msgstr ""
+msgstr "A megadott DSCP jelölést szállító forgalmat illeszti."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
+"Az illesztendő csomagok legnagyobb kezdeti száma: ez a szám újratöltődik "
+"minden alkalommal, amikor a fent meghatározott korlátot nem érik el, "
+"legfeljebb eddig a számig."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Hétfő"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Hónap napjai"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
-msgstr ""
+msgstr "NAT szabályok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
+"A NAT szabályok lehetővé teszik a részletes szabályozást a kimenő vagy "
+"továbbított forgalomnál használandó forrás IP fölött."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Név"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Hálózat"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Csak a megadott IP-címre irányított bejövő forgalom illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Csak ezekről a MAC-ekről érkező bejövő forgalom illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
"Csak erről az IP-ről vagy tartományból érkező bejövő forgalom illesztése."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-"Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományából eredő "
+"Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományból eredő "
"bejövő forgalom illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
-msgstr ""
+msgstr "Kimeneti eszköz"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
-msgstr ""
+msgstr "Kimenő zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Kimenet"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Átadja a további argumentumokat az iptables részére. Használja "
"körültekintően!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -668,12 +699,12 @@ msgstr ""
"tönkre tehetik a tűzfalszabálykészleteket, ezáltal teljesen feltárva az "
"összes szolgáltatást."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Porttovábbítások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -682,172 +713,162 @@ msgstr ""
"személyes helyi hálózat bizonyos számítógépéhez vagy szolgáltatásához "
"történő csatlakozását."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protokoll"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr "Egyező bejövő forgalom átirányítása a belső gép megadott portjára"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Egyező bejövő forgalom átirányítása a megadott belső gépre"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Továbbítás visszautasítása"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Bemenet visszautasítása"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Kimenet visszautasítása"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Hardveres NAT támogatás szükséges. Legalább az mt7621-hez megvalósítva"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Álcázás korlátozása a megadott célalhálózatokra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Álcázás korlátozása a megadott forrás alhálózatokra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Korlátozás címcsaládra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
-msgstr ""
+msgstr "IP-cím átírása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
-msgstr ""
+msgstr "Illesztett forgalom átírása a megadott forrás IP-címre."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
+"Illesztett forgalom átírása a megadott forrásportra vagy porttartományra."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
+msgstr "Port átírása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Útválasztás vagy NAT kiürítés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
-msgstr ""
+msgstr "SNAT – átírás egy adott forrás IP-re vagy portra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Szombat"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
-msgstr ""
+msgstr "Jelölés beállítása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
+"A megadott jelölésérték beállítása a kiépített kapcsolatokon. A formátum: "
+"érték[/maszk]. Ha egy maszk meg van adva, akkor csak a maszkban beállított "
+"bitek lesznek módosítva."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Szoftver alapú kiürítés az útválasztásnál vagy NAT-nál"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Szoftveres áramláskiürítés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Forrás IP-cím"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Forrás MAC-cím"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Forráscím"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Forrásport"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Forrászóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
+"Meghatározza, hogy ezt a forgalomszabályt egy adott bejövő vagy kimenő "
+"hálózati eszközhöz kell kötni."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
+"Meghatározza, hogy a külső vagy a belső IP-címet használja a visszatükrözött "
+"forgalomnál."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Kezdés dátuma (ÉÉÉÉ-HH-NN)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Kezdés ideje (ÓÓ.PP.MM)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Leállítás dátuma (ÉÉÉÉ-HH-NN)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Leállítás ideje (ÓÓ.PP.MM)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Vasárnap"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -855,8 +876,8 @@ msgstr ""
"A tűzfal zónákat hoz létre a hálózati csatolók fölött a hálózati forgalom "
"áramlásának szabályozásához."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -873,7 +894,7 @@ msgstr ""
"LAN-ból WAN-ba <em>nem</em> jelenti azt, hogy a továbbítás WAN-ból LAN-ba is "
"engedélyezett."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -888,53 +909,57 @@ msgstr ""
"belül. A <em>lefedett hálózatok</em> adják meg, hogy mely elérhető hálózatok "
"tagjai ennek a zónának."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Csütörtök"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Időkorlátozások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Idő UTC szerint"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Ide: %s, ekkor: %s, <var>ezen az eszközön</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Ide: %s, ebben: %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Ide: %s, <var>ezen az eszközön</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Erre: %s, %s ebben: %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
-msgstr ""
+msgstr "Követési segítő"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Forgalmi szabályok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -944,8 +969,8 @@ msgstr ""
"szabályokat határozzák meg, például bizonyos gépek közötti forgalom "
"visszautasításához vagy WAN portok megnyitásához az útválasztón."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Kedd"
@@ -953,39 +978,50 @@ msgstr "Kedd"
msgid "Unable to save contents: %s"
msgstr "Nem lehet elmenteni a tartalmat: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
-msgstr ""
+msgstr "Ismeretlen vagy nem telepített kapcsolatkövető segítő: „%s”"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
-msgstr ""
+msgstr "Névtelen NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Névtelen továbbítás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Névtelen szabály"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Névtelen zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
-msgid "Use external IP address"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
-msgid "Use internal IP address"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
+msgid "Use external IP address"
+msgstr "Külső IP-cím használata"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
+msgid "Use internal IP address"
+msgstr "Belső IP-cím használata"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -993,7 +1029,7 @@ msgstr ""
"Használja ezt a beállítást a zónaforgalom nyers, nem <em>uci</em> által "
"kezelt hálózati eszközök szerint történő besorolásához."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1001,174 +1037,296 @@ msgstr ""
"Használja ezt a beállítást a zónaforgalom forrás- vagy célalhálózat szerint "
"történő besorolásához a hálózatok vagy eszközök helyett."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Ezen keresztül: %s"
+msgstr "Érvényes tűzfaljelölés szükséges"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Ezen keresztül: %s, itt: %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Szerda"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Hétköznapok"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
-msgstr ""
+msgstr "kizáró vagy tűzfaljelölés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
-msgstr ""
+msgstr "kizáró vagy jelölés"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zóna ⇒ Továbbítások"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zónák"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "elfogadás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "bármely"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "bármely gép"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "bármely útválasztó IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "bármely zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
-msgstr ""
+msgstr "tűzfaljelölés alkalmazása"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
-msgstr ""
+msgstr "kapcsolatkövető segítő hozzárendelése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "nap"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
-msgstr ""
+msgstr "ne írja át"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "ne kövessen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "eldobás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "óra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "perc"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "nem"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "port"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "portok"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "visszautasítás"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "másodperc"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "ez az új zóna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "típus"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "típusok"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr "korlátlan"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr "nincs meghatározva"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
-msgstr ""
+msgstr "érvényes tűzfaljelölés"
+
+#~ msgid "Rewrite to"
+#~ msgstr "Átírás erre:"
+
+#~ msgid "Rewrite to outbound device IP"
+#~ msgstr "Átírás a kimenő eszköz IP-jére"
+
+#~ msgid "%s in %s"
+#~ msgstr "%s ebben: %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s ezzel: %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s ebben: %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> csomag / <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> csomag / <var>%s</var>, löket <var>%d</var> csomag"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> és korlátozás erre: %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Továbbítás elfogadása"
+
+#~ msgid "Accept input"
+#~ msgstr "Bemenet elfogadása"
+
+#~ msgid "Accept output"
+#~ msgstr "Kimenet elfogadása"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Cél IP-cím"
+
+#~ msgid "Discard forward"
+#~ msgstr "Továbbítás elvetése"
+
+#~ msgid "Discard input"
+#~ msgstr "Bemenet elvetése"
+
+#~ msgid "Discard output"
+#~ msgstr "Kimenet elvetése"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Ne írja felül"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Ne kövesse a továbbítást"
+
+#~ msgid "Do not track input"
+#~ msgstr "Ne kövesse a bemenetet"
+
+#~ msgid "Do not track output"
+#~ msgstr "Ne kövesse a kimenetet"
+
+#~ msgid "Forward to"
+#~ msgstr "Továbbítás ide"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Innen: %s, ebben: %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Innen: %s, ebben: %s, ezzel a forrással: %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Innen: %s, ebben: %s, ezekkel a forrásokkal: %s és %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Ettől: %s, <var>ezen az eszközön</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Ettől: %s, <var>ezen az eszközön</var>, ezzel a forrással: %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr ""
+#~ "Ettől: %s, <var>ezen az eszközön</var>, ezekkel a forrásokkal: %s és %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "IP-tartomány"
+
+#~ msgid "IPs"
+#~ msgstr "IP-k"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC-ek"
+
+#~ msgid "Network"
+#~ msgstr "Hálózat"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Továbbítás visszautasítása"
+
+#~ msgid "Refuse input"
+#~ msgstr "Bemenet visszautasítása"
+
+#~ msgid "Refuse output"
+#~ msgstr "Kimenet visszautasítása"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Ide: %s, ekkor: %s, <var>ezen az eszközön</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Ide: %s, ebben: %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Ide: %s, <var>ezen az eszközön</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Erre: %s, %s ebben: %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Ezen keresztül: %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Ezen keresztül: %s, itt: %s"
+
+#~ msgid "any host"
+#~ msgstr "bármely gép"
+
+#~ msgid "any router IP"
+#~ msgstr "bármely útválasztó IP"
+
+#~ msgid "not"
+#~ msgstr "nem"
+
+#~ msgid "port"
+#~ msgstr "port"
+
+#~ msgid "ports"
+#~ msgstr "portok"
+
+#~ msgid "type"
+#~ msgstr "típus"
+
+#~ msgid "types"
+#~ msgstr "típusok"
#~ msgid "Force connection tracking"
#~ msgstr "Kapcsolat követés kényszerítése"
diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po
index 96cec2922b..0ffa8b5a57 100644
--- a/applications/luci-app-firewall/po/it/firewall.po
+++ b/applications/luci-app-firewall/po/it/firewall.po
@@ -14,129 +14,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10.1\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s con %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> e limita a %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Accetta input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Accetta output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Azione"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Opzioni Avanzate"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Consenti traffico \"non valido\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permetti routing da <em>zone di origine</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permetti rounting a <em>zone di destinazione</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Qualsiasi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Qualsiasi giorno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -144,15 +193,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Dispositivi coperti"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Reti coperte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Sottoreti coperte"
@@ -171,130 +224,99 @@ msgstr ""
"comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre "
"regole che sono state caricate."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Indirizzo IP destinazione"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Indirizzo di destinazione"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Porta di destinazione"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zona di destinazione"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Non riscrivere"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Scarta pacchetti invalidi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Attiva"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Attiva NAT Loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Attiva protezione SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Attiva registro su questa zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Indirizzo IP Esterno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Porta Esterna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Comandi extra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -306,233 +328,228 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Regole Personalizzate"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Inoltro Porte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Regole Traffico"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Firewall - Opzioni delle Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Inoltra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Inoltra a"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Venerdì"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Da %s a %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Da %s a %s con sorgente %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Da %s a %s con sorgente %s e %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Opzioni Generali"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Intervallo IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IPs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 e IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Solo IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Solo IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Ingresso"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Indirizzo IP interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Porta interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zona Interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limita messaggi del registro"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MACs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Corrispondenza"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Corrispondenza tipo ICMP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -540,78 +557,74 @@ msgstr ""
"Corrispondi traffico in entrata diretto alla porta o intervallo di porte "
"dato su questo host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Lunedì"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Giorni del Mese"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Rete"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Corrispondi solo traffico in entrata diretto al dato indirizzo IP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Corrispondi solo traffico in entrata da questi MAC."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Corrispondi solo traffico in entrata da questo IP o intervallo."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -619,27 +632,27 @@ msgstr ""
"Corrispondi solo traffico in entrata originato dalla porta o intervallo di "
"porte sorgenti su host cliente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa comandi addizionali a iptables. Usare con cura!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -648,12 +661,12 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Inoltri Porta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -661,106 +674,82 @@ msgstr ""
"L'inoltro delle porte permette ai computer in remoto su Internet di "
"connettersi a uno specifico computer o servizio presente nella LAN privata"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocollo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr "Reindirizza il traffico in entrata alla porta data su host interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Reindirizza il traffico in entrata allo specifico host interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Limita il Masquerading alle subnet di destinazione date"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Limita il Masquerading alle subnet sorgente date"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Limita agli indirizzi famiglia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sabato"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
@@ -785,69 +774,75 @@ msgstr ""
# msgstr ""
# msgid "Protocol"
# msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Indirizzo IP di origine"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Indirizzo MAC di origine"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Indirizzo di origine"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Porta di origine"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zona di origine"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Data di Inizio (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Data di Stop (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Domenica"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -855,8 +850,8 @@ msgstr ""
"Il firewall crea delle zone nelle tue interfacce di rete per controllare il "
"flusso del traffico."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -873,7 +868,7 @@ msgstr ""
"alla wan <em>non</em> implica anche un permesso da inoltrare dalla wan alla "
"lan."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -888,53 +883,57 @@ msgstr ""
"differenti nella zona. Le <em>reti coperte</em> specificano quali reti "
"disponibili sono membri di questa zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Giovedì"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Orario in UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Verso %s a %s su <var>questo dispositivo</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Verso %s in %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Verso %s su <var>questo dispositivo</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Verso %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Regole di Traffico"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -944,8 +943,8 @@ msgstr ""
"tra zone differenti, per esempio per rifiutare il traffico tra certi host o "
"per aprire porte WAN sul router."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Martedì"
@@ -953,219 +952,285 @@ msgstr "Martedì"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Regola senza nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Zona senza nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Via %s a %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Mercoledì"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Giorni della Settimana"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zona ⇒ Inoltri"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "accetta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "qualsiasi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "qualsiasi host"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "qualsiasi router IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "qualsiasi zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "giorno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "non tracciare"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "scarta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "non"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "porti"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "rifiuta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr "questa nuova zona"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "tipi"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
+msgstr "questa nuova zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s con %s"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> e limita a %s"
+
+#~ msgid "Accept input"
+#~ msgstr "Accetta input"
+
+#~ msgid "Accept output"
+#~ msgstr "Accetta output"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Indirizzo IP destinazione"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Non riscrivere"
+
+#~ msgid "Forward to"
+#~ msgstr "Inoltra a"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Da %s a %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Da %s a %s con sorgente %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Da %s a %s con sorgente %s e %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "Intervallo IP"
+
+#~ msgid "IPs"
+#~ msgstr "IPs"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MACs"
+
+#~ msgid "Network"
+#~ msgstr "Rete"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Verso %s a %s su <var>questo dispositivo</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Verso %s in %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Verso %s su <var>questo dispositivo</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Verso %s, %s in %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Via %s a %s"
+
+#~ msgid "any host"
+#~ msgstr "qualsiasi host"
+
+#~ msgid "any router IP"
+#~ msgstr "qualsiasi router IP"
+
+#~ msgid "not"
+#~ msgstr "non"
+
+#~ msgid "ports"
+#~ msgstr "porti"
+
+#~ msgid "types"
+#~ msgstr "tipi"
+
#~ msgid "Force connection tracking"
#~ msgstr "Forza tracciamento connessione"
diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po
index be98d30e70..4be1ce8621 100644
--- a/applications/luci-app-firewall/po/ja/firewall.po
+++ b/applications/luci-app-firewall/po/ja/firewall.po
@@ -14,58 +14,107 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s (%s)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s ,%s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s (%s)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> パケット / <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-"<var>%d</var> パケット / <var>%s</var>, バースト <var>%d</var> パケット"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var>, %s を上限に設定"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "転送を許可"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "入力を許可"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "出力を許可"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "動作"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -75,7 +124,7 @@ msgstr ""
"em> 引数です。(例: HTTPS 送信トラフィックのみにマッチさせる <code>-p tcp --"
"dport 443</code>)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -84,68 +133,67 @@ msgstr ""
"em> 引数です。(例: HTTPS 受信トラフィックのみにマッチさせる <code>-p tcp --"
"sport 443</code>)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "詳細設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "\"invalid\" トラフィックの許可"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "<em>送信元ゾーン</em>からの転送を許可する:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "<em>宛先ゾーン</em>への転送を許可する:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "全て"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "全日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "自動ヘルパー割り当て"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"トラフィックのプロトコルとポートに基づいて、 conntrack ヘルパーを自動的に割り"
"当てます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Conntrack 設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Conntrack ヘルパー"
@@ -153,15 +201,19 @@ msgstr "Conntrack ヘルパー"
msgid "Contents have been saved."
msgstr "内容が保存されました。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "カバーされるデバイス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "対象ネットワーク"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "カバーされるサブネット"
@@ -180,52 +232,37 @@ msgstr ""
"ドは、ファイアウォール機能の起動ごとに、標準のルールが読み込まれた後に実行さ"
"れます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "宛先アドレス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "宛先ポート"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "宛先ゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "転送を破棄"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "入力を破棄"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "出力を破棄"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -234,79 +271,63 @@ msgstr ""
"追加ルールをインストールしません。これは、複雑で非対称なルートのセットアップ"
"に必要となることがあります。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "リライトしない"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "転送を追跡しない"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "入力を追跡しない"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "出力を追跡しない"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "無効なパケットを遮断する"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "有効"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "NATループバックを有効にする"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "SYN-Floodプロテクションを有効にする"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "このゾーンのログ記録を有効にする"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "実験的な機能です。 QoS/SQM との完全な互換性はありません。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr "ゾーン トラフィックのコネクション追跡ヘルパーを明示的に選択します。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "外部IPアドレス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "外部ポート"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "追加の引数"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "追加の送信先引数"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "追加の iptables 引数"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "追加の送信元引数"
@@ -318,233 +339,228 @@ msgstr "ファイアウォール"
msgid "Firewall - Custom Rules"
msgstr "ファイアウォール - 手動設定ルール"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "ファイアウォール - ポートフォワーディング"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "ファイアウォール - トラフィック・ルール"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "ファイアウォール - ゾーン設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "転送"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "転送先"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "金曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "送信元 %s (%s)"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "送信元 %s (%s) , %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "送信元 %s (%s) , %s, %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "送信元 %s (<var>デバイス</var>)"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "送信元 %s, %s (<var>デバイス</var>)"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "送信元 %s, %s, %s (<var>デバイス</var>)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "一般設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "ハードウェア フローオフロード"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "IP の範囲"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4及びIPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "IPv4のみ"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "IPv6のみ"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "受信"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "内部IPアドレス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "内部ポート"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "内部ゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "ログメッセージを制限"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSSクランプ"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "マスカレード"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "対象"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "ICMPタイプの一致"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -552,80 +568,76 @@ msgstr ""
"設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり"
"ます"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "月曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "月間"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "名前"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "ネットワーク"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "設定された宛先IPアドレスと一致した受信トラフィックが対象になります。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "設定されたMACアドレスと一致した受信したトラフィックが対象になります。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
"設定されたIPアドレス (または範囲) と一致した受信したトラフィックが対象になり"
"ます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -633,29 +645,29 @@ msgstr ""
"設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ"
"フィックと一致したトラフィックのみを対象にします。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "送信"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"iptablesにパススルーする追加の引数を設定してください。ただし、注意して設定し"
"てください!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -669,12 +681,12 @@ msgstr ""
"し、全サービスを外部に晒す恐れがあることに、特段の注意を払い使用されなければ"
"なりません。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "ポートフォワーディング"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -683,174 +695,156 @@ msgstr ""
"ベートなネットワーク上の、特定のコンピュータやサービスへのアクセスを可能にし"
"ます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "プロトコル"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"ルールに一致した受信トラフィックを、内部ホストの設定されたポートへ転送します"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "ルールに一致した受信トラフィックを、設定された内部ホストへ転送します"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "転送を拒否"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "入力を拒否"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "出力を拒否"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
"ハードウェア NAT サポートが必要です。 mt7621 のみにおいて実装されています。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "設定された宛先サブネットへのマスカレードを制限する"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "設定された送信元サブネットへのマスカレードを制限する"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "アドレスファミリの制限"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "ルーティング/NAT オフロード"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "土曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "ルーティング/NAT のための、ソフトウェアベースのオフロードです。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "ソフトウェア フローオフロード"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "送信元IPアドレス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "送信元MACアドレス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "送信元アドレス"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "送信元ポート"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "送信元ゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "開始日 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "開始時刻 (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "停止日 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "停止時刻 (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "日曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -858,8 +852,8 @@ msgstr ""
"ファイアウォール機能は、各ネットワークインターフェース上にゾーンを作成してト"
"ラフィックの制御を行います。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -875,7 +869,7 @@ msgstr ""
"向</em>であり、例えばlanからwanへの転送設定は、wanからlanへの転送を<em>許可し"
"ません。</em>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -889,53 +883,57 @@ msgstr ""
"準のポリシーになります。<em>対象ネットワーク</em>は、どのネットワーク設定がこ"
"のゾーンに属するかを設定します。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "木曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "時間制限"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "UTC時刻を使用"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "宛先 %s, %s (<var>デバイス</var>)"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "宛先 %s (%s)"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "宛先 %s (<var>デバイス</var>)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "宛先 %s, %s (%s)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "トラフィック・ルール"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -945,8 +943,8 @@ msgstr ""
"します。例えば、特定のホスト間や、ルーターのWANポートへのトラフィックの拒否を"
"設定することができます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "火曜日"
@@ -954,39 +952,50 @@ msgstr "火曜日"
msgid "Unable to save contents: %s"
msgstr "内容を保存できません: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "名称未設定の転送"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "名称未設定のルール"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "名称未設定のゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -994,7 +1003,7 @@ msgstr ""
"生の、または非 <em>uci</em> 管理下にあるデバイスによるゾーン トラフィックの区"
"分にこのオプションを使用します。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1002,175 +1011,285 @@ msgstr ""
"ネットワークまたはデバイスに代わり、アクセス元またはアクセス先サブネットによ"
"るゾーン トラフィックの区分にこのオプションを使用します。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "経由 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "経由 %s , %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "水曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "曜日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "ゾーン ⇒ 転送"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "ゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "許可"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "全て"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "全てのホスト"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "全てのルーターIP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "全てのゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "コネクション追跡を行わない"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "破棄"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "時間"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "分"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "ポート"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "ポート"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "拒否"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "秒"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "この新しいゾーン"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "タイプ"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "タイプ"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s (%s)"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s ,%s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s (%s)"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> パケット / <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr ""
+#~ "<var>%d</var> パケット / <var>%s</var>, バースト <var>%d</var> パケット"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var>, %s を上限に設定"
+
+#~ msgid "Accept forward"
+#~ msgstr "転送を許可"
+
+#~ msgid "Accept input"
+#~ msgstr "入力を許可"
+
+#~ msgid "Accept output"
+#~ msgstr "出力を許可"
+
+#~ msgid "Discard forward"
+#~ msgstr "転送を破棄"
+
+#~ msgid "Discard input"
+#~ msgstr "入力を破棄"
+
+#~ msgid "Discard output"
+#~ msgstr "出力を破棄"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "リライトしない"
+
+#~ msgid "Do not track forward"
+#~ msgstr "転送を追跡しない"
+
+#~ msgid "Do not track input"
+#~ msgstr "入力を追跡しない"
+
+#~ msgid "Do not track output"
+#~ msgstr "出力を追跡しない"
+
+#~ msgid "Forward to"
+#~ msgstr "転送先"
+
+#~ msgid "From %s in %s"
+#~ msgstr "送信元 %s (%s)"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "送信元 %s (%s) , %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "送信元 %s (%s) , %s, %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "送信元 %s (<var>デバイス</var>)"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "送信元 %s, %s (<var>デバイス</var>)"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "送信元 %s, %s, %s (<var>デバイス</var>)"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "IP の範囲"
+
+#~ msgid "IPs"
+#~ msgstr "IP"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC"
+
+#~ msgid "Network"
+#~ msgstr "ネットワーク"
+
+#~ msgid "Refuse forward"
+#~ msgstr "転送を拒否"
+
+#~ msgid "Refuse input"
+#~ msgstr "入力を拒否"
+
+#~ msgid "Refuse output"
+#~ msgstr "出力を拒否"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "宛先 %s, %s (<var>デバイス</var>)"
+
+#~ msgid "To %s in %s"
+#~ msgstr "宛先 %s (%s)"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "宛先 %s (<var>デバイス</var>)"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "宛先 %s, %s (%s)"
+
+#~ msgid "Via %s"
+#~ msgstr "経由 %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "経由 %s , %s"
+
+#~ msgid "any host"
+#~ msgstr "全てのホスト"
+
+#~ msgid "any router IP"
+#~ msgstr "全てのルーターIP"
+
+#~ msgid "port"
+#~ msgstr "ポート"
+
+#~ msgid "ports"
+#~ msgstr "ポート"
+
+#~ msgid "type"
+#~ msgstr "タイプ"
+
+#~ msgid "types"
+#~ msgstr "タイプ"
+
#~ msgid "Force connection tracking"
#~ msgstr "強制的にコネクション追跡を行う"
diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po
index 00eb4d1261..61a630a6b9 100644
--- a/applications/luci-app-firewall/po/ko/firewall.po
+++ b/applications/luci-app-firewall/po/ko/firewall.po
@@ -14,129 +14,178 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s ,%s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "<em>Source zone</em> 로부터의 forward 허용:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "<em>Destination zone</em> 으로 forward 허용:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -144,15 +193,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -170,130 +223,99 @@ msgstr ""
"수 있도록 합니다. 입력된 명령어들은 매 방화벽 재시작시 실행되는데 default "
"ruleset 이 load 된 후 시점입니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Destination IP 주소"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Destination 주소"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "활성화"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "NAT Loopback 활성화"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "SYN-flood protection 활성화"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "zone 의 logging 활성화"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "외부 IP 주소"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "외부 port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "추가 argument"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -305,336 +327,327 @@ msgstr "방화벽"
msgid "Firewall - Custom Rules"
msgstr "방화벽 - Custom Rules"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "방화벽 - Port Forwards"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "방화벽 - Traffic Rules"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "방화벽 - Zone 설정"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "금요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "내부 IP 주소"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "내부 port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "내부 zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "월요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "이름"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "iptables 명령에 추가 인자들을 더합니다. 조심해 사용하세요!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -643,12 +656,12 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Port Forward"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -656,172 +669,154 @@ msgstr ""
"Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 특정 컴퓨터"
"나 서비스에 접속할 수 있도록 합니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "주어진 destination subnet 으로 Masquerading 제한"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "주어진 source subnet 으로 Masquerading 제한"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Address family 제한"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "토요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Source IP 주소"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Source MAC 주소"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Source 주소"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "시작 날짜 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "종료 날짜 (yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "일요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -829,8 +824,8 @@ msgstr ""
"방화벽 기능을 이용하여 네트워크 인터페이스와 연결된 zone 을 생성할 수 있고 이"
"를 이용하여 네트워크 traffic flow 를 제어할 수 있습니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -846,7 +841,7 @@ msgstr ""
"<em>unidirectional</em> 인데, 예를 들어 LAN 에서 WAN 으로의 forward 규칙이 "
"WAN 에서 LAN 으로의 forward 를 허락하는 것이 아닙니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
#, fuzzy
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
@@ -861,53 +856,57 @@ msgstr ""
"를 오가는 forward traffic 에 대한 정책을 뜻합니다. <em>Covered networks</em> "
"에서는 zone 의 영향을 받을 네트워크들을 지정할 수 있습니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "목요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "UTC 기준시"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Traffic Rule"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -917,8 +916,8 @@ msgstr ""
"다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 "
"open 할때 사용됩니다."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "화요일"
@@ -926,219 +925,213 @@ msgstr "화요일"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "수요일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "주일"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zone 내역"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s ,%s"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Destination IP 주소"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
#~ msgid "Add and edit..."
#~ msgstr "추가 후 수정..."
diff --git a/applications/luci-app-firewall/po/mr/firewall.po b/applications/luci-app-firewall/po/mr/firewall.po
index 9b71e137fb..d84c744d43 100644
--- a/applications/luci-app-firewall/po/mr/firewall.po
+++ b/applications/luci-app-firewall/po/mr/firewall.po
@@ -14,129 +14,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "प्रगत सेटिंग्ज"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -144,15 +193,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -167,130 +220,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "सक्षम करा"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -306,336 +328,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "सामान्य सेटिंग्ज"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 आणि IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "केवळ IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "केवळ IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "नाव"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -644,117 +657,93 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "प्रोटोकॉल"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
@@ -788,76 +777,82 @@ msgstr ""
# msgid "Protocol"
# msgstr ""
#
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -867,7 +862,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -876,61 +871,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -938,215 +937,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/ms/firewall.po b/applications/luci-app-firewall/po/ms/firewall.po
index 0e3856e1a7..4d795e5e41 100644
--- a/applications/luci-app-firewall/po/ms/firewall.po
+++ b/applications/luci-app-firewall/po/ms/firewall.po
@@ -12,129 +12,178 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Tindakan"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -142,15 +191,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -165,130 +218,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -300,336 +322,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -638,190 +651,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -831,7 +826,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -840,61 +835,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -902,215 +901,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/no/firewall.po b/applications/luci-app-firewall/po/no/firewall.po
index 11e2df5f60..0b2cf0d771 100644
--- a/applications/luci-app-firewall/po/no/firewall.po
+++ b/applications/luci-app-firewall/po/no/firewall.po
@@ -10,129 +10,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s i %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s med %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s i %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> pakker per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> pakker per <var>%s</var>, burst <var>%d</var>pakker."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> og begrens til %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Handling"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Avanserte Innstillinger"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Tillat videresending fra <em>kilde soner</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Tillat videresending til <em>destinasjon soner</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Enhver"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -140,15 +189,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Gjeldene nettverk"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -166,130 +219,99 @@ msgstr ""
"som ikke dekkes av brannmurens standardoppsett. Kommandoene utføres etter "
"hver omstart av brannmuren, rett etter at standard regelsett er lastet."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Destinasjon IP adresse"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Destinasjon adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Destinasjon port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Destinasjon sone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Ikke omskriv"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Forkast ugyldige pakker"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Aktiver"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Aktiver NAT <abbr title=\"Loopback\">Tilbakekobling</abbr>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Aktiver SYN-flood beskyttelse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Aktiver logging av denne sonen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Ekstern IP adressse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Ekstern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Ekstra argumenter"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -301,233 +323,228 @@ msgstr "Brannmur"
msgid "Firewall - Custom Rules"
msgstr "Brannmur - Egendefinerte Regler"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Brannmur - Port Videresending"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Brannmur - Trafikk Regler"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Brannmur - Sone Innstillinger"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr "Videresend"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Videresend til"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Fra %s i %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Fra %s i %s med kilde %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Fra %s i %s med kilde %s og %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
+msgstr "Videresend"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Generelle Innstillinger"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 og IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Kun IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Kun IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Inndata"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Intern IP adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Intern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Intern sone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Begrens logging"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS Kontroll (Clamping)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Masquerading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Match"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Match ICMP type"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -535,78 +552,74 @@ msgstr ""
"Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller "
"portområdet på denne verten"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Navn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Match kun innkommende trafikk rettet mot den oppgitt IP adresse."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Match kun innkommende trafikk fra disse MAC adresser."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Match kun innkommende trafikk fra denne IP eller IP område."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -614,27 +627,27 @@ msgstr ""
"Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller "
"fra portområdet til klienten"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Utdata"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -643,12 +656,12 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Port Videresendinger"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -656,174 +669,156 @@ msgstr ""
"Port videresending tillater at eksterne datamaskiner på Internett kan koble "
"seg til en bestemt maskin eller tjeneste innenfor det private LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protokoll"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Viderekoble matchet innkommende trafikk til den oppgitte porten på intern "
"vert"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Viderekoble matchet innkommende trafikk til den angitte interne vert"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Begrens Masquerading til oppgitt destinasjons subnett"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Begrens Masqeuerading til oppgitt kilde subnett"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Begrens til adresse familie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Kilde IP adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Kilde MAC adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Kilde adresse"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Kilde port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Kilde sone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -831,8 +826,8 @@ msgstr ""
"Brannmuren skaper soner over nettverkets grensesnitt for å styre "
"nettverkstrafikken."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -848,7 +843,7 @@ msgstr ""
"ved videresending er <em>enveis</em>, d.v.s at videresending fra LAN til WAN "
"<em>ikke</em> automatisk også tillater videresending fra WAN til LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
#, fuzzy
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
@@ -864,53 +859,57 @@ msgstr ""
"spesifiserer hvilken av de tilgjengelige nettverk som er medlem av denne "
"sone."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Til %s på %s på <var>denne enheten</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Til %s i %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Til %s på <var>denne enheten</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Til %s, %s i %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Trafikk Regler"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -920,8 +919,8 @@ msgstr ""
"for eksempel for å avvise trafikk mellom visse verter eller for å åpne WAN "
"porter på ruteren."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -929,219 +928,270 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Via %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Via %s på %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Sone = Videresendinger"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Soner"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "godta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "enhver"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "enhver vert"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "enhver ruter IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "enhver sone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "ikke track"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "forkast"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "avslå"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s i %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s med %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s i %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> pakker per <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> pakker per <var>%s</var>, burst <var>%d</var>pakker."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> og begrens til %s"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Destinasjon IP adresse"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Ikke omskriv"
+
+#~ msgid "Forward to"
+#~ msgstr "Videresend til"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Fra %s i %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Fra %s i %s med kilde %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Fra %s i %s med kilde %s og %s"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Til %s på %s på <var>denne enheten</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Til %s i %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Til %s på <var>denne enheten</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Til %s, %s i %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Via %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Via %s på %s"
+
+#~ msgid "any host"
+#~ msgstr "enhver vert"
+
+#~ msgid "any router IP"
+#~ msgstr "enhver ruter IP"
+
#~ msgid "Force connection tracking"
#~ msgstr ""
#~ "Bruk <abbr title=\\\"connection tracking\\\">forbindelse sporing</abbr>"
diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po
index d29fa79c5f..100f0960f8 100644
--- a/applications/luci-app-firewall/po/pl/firewall.po
+++ b/applications/luci-app-firewall/po/pl/firewall.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2020-01-17 07:27+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Marcin Net <marcin.net@linux.pl>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfirewall/pl/>\n"
@@ -13,60 +13,109 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.2-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s w %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s z %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr "-- dodaj IP --"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s w %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr "-- dodaj MAC --"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> pakietów na <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-"<var>%d</var> pakietów na <var>%s</var>, popsutych <var>%d</var> pakietów."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> i limit do %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
msgid "A rewrite IP must be specified!"
msgstr "Należy podać adres IP do ponownego zapisu!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
msgid "ACCEPT - Disable address rewriting"
msgstr "AKCEPTUJ - Wyłącz przepisywanie adresów"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Zaakceptuj przekazywanie"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Zaakceptuj wejście"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Zaakceptuj wyjście"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Akcja"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -76,7 +125,7 @@ msgstr ""
"docelowej, np. <code>-p tcp --dport 443</code> tylko w celu dopasowania "
"ruchu wychodzącego HTTPS."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -85,38 +134,37 @@ msgstr ""
"docelowej, np. <code>-p tcp --sport 443</code> tylko w celu dopasowania "
"ruchu przychodzącego HTTPS."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Ustawienia zaawansowane"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Zezwól na \"nieprawidłowy\" ruch"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Zezwól na przekazywanie z <em>strefy źródłowej</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Zezwól na przekazywanie do <em>strefy docelowej</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Każdy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Każdy dzień"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
@@ -126,31 +174,31 @@ msgstr ""
"ustanowionych połączeniach. Format to wartość [/mask]. Jeśli maska jest "
"określona, wówczas ustawione w niej bity są zerowane."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr "Zastosuj daną klasę lub wartość DSCP do ustanowionych połączeń."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
"Przypisz określonego pomocnika śledzenia połączeń do dopasowanego ruchu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Automatyczne przydzielanie pomocy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Automatycznie przydzielaj pomocników conntrack'a na podstawie protokołu "
"ruchu i portu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Ustawienia conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Pomocnicy conntrack"
@@ -158,15 +206,19 @@ msgstr "Pomocnicy conntrack"
msgid "Contents have been saved."
msgstr "Zawartość została zapisana."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr "Kontynuuj"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Objęte urządzenia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Objęte sieci"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Objęte podsieci"
@@ -184,52 +236,37 @@ msgstr ""
"są objęte składnią zapory. Polecenia wykonywane są po każdym restarcie "
"zapory, zaraz po załadowaniu zestawu reguł domyślnych."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr "Klasyfikacja DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr "Znacznik DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr "Wymagany znacznik DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Docelowy adres IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Adres docelowy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Port docelowy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Strefa docelowa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr "Nazwa urządzenia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Odrzuć przekazywanie"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Odrzuć wejście"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Odrzuć wyjście"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -238,80 +275,64 @@ msgstr ""
"state <em>invalid</em>. Może to być wymagane w przypadku skomplikowanych "
"asymetrycznych ustawień trasy."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Nie przepisuj"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Nie śledź przekazywania"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Nie śledź wejścia"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Nie śledź wyjścia"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Porzuć wadliwe pakiety"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Włącz"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Włącz NAT Loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Włącz ochronę SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Włącz logowanie tej strefy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr "Zaleca się użyć: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Funkcja eksperymentalna. Nie w pełni kompatybilna z QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Dokładnie wybiera dozwolone pomoce śledzenia połączeń dla ruchu strefowego"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Zewnętrzne adresy IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Port zewnętrzny"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Dodatkowe argumenty"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Dodatkowe argumenty przeznaczenia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Dodatkowe argumenty tablicy IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Dodatkowe argumenty zródłowe"
@@ -326,238 +347,231 @@ msgstr "Zapora sieciowa"
msgid "Firewall - Custom Rules"
msgstr "Zapora sieciowa - Własne reguły"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr "Zapora sieciowa - Zasady NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Zapora sieciowa - Przekazywane porty"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Zapora sieciowa - Reguły ruchu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Zapora sieciowa - Ustawienia strefy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr "Migracja konfiguracji zapory sieciowej"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Przekazuj"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Przekazuj do"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Piątek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Z %s w %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Z %s w %s ze źródłem %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Z %s w %s ze źródłem %s i %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Z %s na <var>to urządzenie</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s oraz %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
-msgstr "Z %{ipaddr?:any host} %{port?with source %{port}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Ustawienia główne"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Sprzętowy flow offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Zakres IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IPs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 i IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Tylko IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Tylko IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr "Urządzenie przychodzące"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Ruch przychodzący"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Wewnętrzny adres IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Port wewnętrzny"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Strefa wewnętrzna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr "Nieprawidłowy znacznik DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr "Nieprawidłowa wartość graniczna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr "Naruszenie limitu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Ograniczenie logowania"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr "Dopasowanie limitu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr "Ogranicza ruch zgodny z określoną stawką."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr "Źródło pętli zwrotnej IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MACs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr "MASQUERADE - Automatyczne przepisywanie na interfejs wyjściowy IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Dostosuj MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Maskarada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Dopasuj"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-"Dopasuj %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
-"%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr "Dopasuj DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Dopasuj typ ICMP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr "Dopasuj urządzenie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr "Dopasuj przesyłany ruch skierowany na podany adres IP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
"Dopasuj przesyłany ruch skierowany na dany port docelowy lub zakres portów."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr "Dopasuj przesyłany ruch z tego adresu IP lub zakresu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
"Dopasuj przesyłany ruch pochodzący z danego portu źródłowego lub zakresu "
"portów."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr "Dopasuj pomocnika"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -565,30 +579,30 @@ msgstr ""
"Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na "
"tym hoście"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr "Znacznik dopasowania"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr "Dopasuj ruch, używając określonego pomocnika śledzenia połączeń."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr "Odpowiada konkretnemu znakowi zapory lub zakresowi różnych znaków."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
"Dopasowuje przesyłany ruch przy użyciu określonego wychodzącego urządzenia "
"sieciowego."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr "Dopasowuje ruch niosący określone oznaczenie DSCP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
@@ -597,22 +611,22 @@ msgstr ""
"ładowana jednorazowo za każdym razem, gdy limit określony powyżej nie "
"zostanie osiągnięty, aż do tej liczby."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Poniedziałek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Dni miesiąca"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr "Zasady NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
@@ -620,30 +634,26 @@ msgstr ""
"Reguły NAT umożliwiają precyzyjną kontrolę źródłowego adresu IP w celu "
"użycia ruchu wychodzącego lub przekazywanego."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nazwa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Sieć"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Dopasuj tylko przychodzący ruch skierowany do danego adresu IP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Dopasuj tylko ruch z tych adresów MAC."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Dopasuj tylko ruch przychodzący z tego adresu IP lub zakresu adresów."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -651,28 +661,28 @@ msgstr ""
"Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu "
"portów na hoście klienta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr "Urządzenie wychodzące"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr "Strefa wychodząca"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Ruch wychodzący"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -687,12 +697,12 @@ msgstr ""
"złamanie zestawu reguł zapory sieciowej, całkowicie odsłaniając wszystkie "
"usługi."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Przekazywanie portów"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -700,101 +710,77 @@ msgstr ""
"Przekazanie portów pozwala komputerom z internetu na połączenia z "
"komputerami z sieci LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protokół"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Przekieruj ruch przychodzący na podany port do wskazanego hosta w sieci "
"wewnętrznej"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Przekieruj ruch przychodzący do wskazanego hosta w sieci wewnętrznej"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Odmowa przekazania"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Odmowa wejścia"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Odmowa wyjścia"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Wymaga sprzętowej obsługi NAT. Wdrożono dla co najmniej mt7621"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Ogranicz maskaradę do wskazanych podsieci docelowych"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Ogranicz maskaradę do wskazanych podsieci źródłowych"
# Wstawiłem rodzinę gdyż gdzieś wcześniej było tak opisane ale klasa pasuje mi tu bardziej.
# Obsy - niestety ale "rodzina". W gui dotyczy to wyboru IPv4/IPv6, więc "rodzina" a nie klasa.
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Ogranicz do rodziny adresów"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr "Przepisz adres IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr "Przepisz dopasowany ruch do określonego źródłowego adresu IP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
"Przepisz dopasowany ruch do określonego portu źródłowego lub zakresu portów."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr "Przepisz port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr "Przepisz do"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr "Przepisz do %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr "Przepisz do adresu IP urządzenia wychodzącego"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Routing/NAT Offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT - Przepisz do określonego źródłowego adresu IP lub portu"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sobota"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr "Ustaw znacznik"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
@@ -803,40 +789,40 @@ msgstr ""
"[/mask]. Jeśli maska jest określona, modyfikowane są tylko te bity ustawione "
"w masce."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Oprogramowanie oparte na offloading dla routingu/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Programowy flow offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Źródłowy adres IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Źródłowy adres MAC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Adres źródłowy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Port źródłowy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Strefa źródłowa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
@@ -844,7 +830,7 @@ msgstr ""
"Określa, czy powiązać tę regułę ruchu z określonym przychodzącym, czy "
"wychodzącym urządzeniem sieciowym."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
@@ -852,32 +838,40 @@ msgstr ""
"Określa, czy użyć zewnętrznego czy wewnętrznego adresu IP do odbijanego "
"ruchu."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Data rozpoczęcia (rrrr-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Czas rozpoczęcia (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Data zakończenia (yyyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Czas zatrzymania (yyyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Niedziela"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+"Istniejąca konfiguracja zapory sieciowej musi zostać zmieniona, aby LuCI "
+"mógł działać prawidłowo."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -885,8 +879,8 @@ msgstr ""
"Zapora tworzy strefy z twoich interfejsów sieciowych, aby kontrolować ruch "
"sieciowy."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -902,7 +896,7 @@ msgstr ""
"przekazywania jest <em>jednokierunkowa</em>, np. przekazywanie z sieci LAN "
"do WAN <em>nie</em> implikuje pozwolenia na przekazywanie z sieci WAN do LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -916,55 +910,57 @@ msgstr ""
"politykę ruchu przekazywanego pomiędzy różnymi sieciami wewnątrz strefy. "
"<em>Objęte sieci</em> określają dostępne sieci będące członkami tej strefy."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Czwartek"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Ograniczenia czasowe"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Czas w UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Do %s w %s na <var>tym urządzeniu</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Do %s w %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Do %s na <var>tym urządzeniu</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Do %s, %s w %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-"Do %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr "Pomocnik śledzenia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Reguły ruchu sieciowego"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -974,8 +970,8 @@ msgstr ""
"między strefami, na przykład aby odrzucać ruch między konkretnymi hostami "
"albo otworzyć porty WAN routera."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Wtorek"
@@ -983,39 +979,54 @@ msgstr "Wtorek"
msgid "Unable to save contents: %s"
msgstr "Nie można zapisać zawartości: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Nieznany lub nie zainstalowany pomocnik conntrack \"%s\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr "Nienazwany NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Przekazywanie bez nazwy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Nieznana zasada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Strefa bez nazwy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr "Nierozpoznany protokół"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+"Po naciśnięciu przycisku „Kontynuuj” sekcje przekierowujące z docelowym \""
+"SNAT\" zostaną przekonwertowane na sekcje \"nat\", a zapora sieciowa "
+"zostanie ponownie uruchomiona w celu zastosowania zaktualizowanej "
+"konfiguracji."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr "Użyj zewnętrznego adresu IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr "Użyj wewnętrznego adresu IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -1023,7 +1034,7 @@ msgstr ""
"Opcja ta służy do klasyfikacji ruchu strefowego według surowych, nie-"
"<em>uci</em> obsługiwanych urządzeń sieciowych."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1031,175 +1042,317 @@ msgstr ""
"Opcji tej należy używać do klasyfikacji ruchu strefowego według źródła lub "
"podsieci docelowej zamiast sieci lub urządzeń."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr "Wymagany prawidłowy znacznik zapory sieciowej"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Przez %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Przez %s w %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Środa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Dni tygodnia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr "Znacznik zapory XOR"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr "Znacznik XOR"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Strefa ⇒ Przekazywanie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Strefy"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "akceptuj"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "dowolny"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "dowolny host"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "dowolne IP routera"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "dowolna strefa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr "Zastosuj znacznik zapory"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr "przypisz pomocnika conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "Dzień"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr "Nie przepisuj"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "nie śledź"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "porzuć"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "godzina"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "minuta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "Nie"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "port"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "porty"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "odrzucaj"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "sekunda"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr "to urządzenie"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "ta nowa strefa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "typ"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "typy"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr "nielimitowane"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr "nieokreślone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr "prawidłowy znacznik zapory sieciowej"
+#~ msgid "%s in %s"
+#~ msgstr "%s w %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s z %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s w %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> pakietów na <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr ""
+#~ "<var>%d</var> pakietów na <var>%s</var>, popsutych <var>%d</var> pakietów."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> i limit do %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Zaakceptuj przekazywanie"
+
+#~ msgid "Accept input"
+#~ msgstr "Zaakceptuj wejście"
+
+#~ msgid "Accept output"
+#~ msgstr "Zaakceptuj wyjście"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Docelowy adres IP"
+
+#~ msgid "Discard forward"
+#~ msgstr "Odrzuć przekazywanie"
+
+#~ msgid "Discard input"
+#~ msgstr "Odrzuć wejście"
+
+#~ msgid "Discard output"
+#~ msgstr "Odrzuć wyjście"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Nie przepisuj"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Nie śledź przekazywania"
+
+#~ msgid "Do not track input"
+#~ msgstr "Nie śledź wejścia"
+
+#~ msgid "Do not track output"
+#~ msgstr "Nie śledź wyjścia"
+
+#~ msgid "Forward to"
+#~ msgstr "Przekazuj do"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Z %s w %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Z %s w %s ze źródłem %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Z %s w %s ze źródłem %s i %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Z %s na <var>to urządzenie</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s oraz %s"
+
+#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#~ msgstr "Z %{ipaddr?:any host} %{port?with source %{port}}"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "Zakres IP"
+
+#~ msgid "IPs"
+#~ msgstr "IPs"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MACs"
+
+#~ msgid ""
+#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
+#~ msgstr ""
+#~ "Dopasuj %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
+
+#~ msgid "Network"
+#~ msgstr "Sieć"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Odmowa przekazania"
+
+#~ msgid "Refuse input"
+#~ msgstr "Odmowa wejścia"
+
+#~ msgid "Refuse output"
+#~ msgstr "Odmowa wyjścia"
+
+#~ msgid "Rewrite to"
+#~ msgstr "Przepisz do"
+
+#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+#~ msgstr "Przepisz do %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+
+#~ msgid "Rewrite to outbound device IP"
+#~ msgstr "Przepisz do adresu IP urządzenia wychodzącego"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Do %s w %s na <var>tym urządzeniu</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Do %s w %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Do %s na <var>tym urządzeniu</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Do %s, %s w %s"
+
+#~ msgid ""
+#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+#~ "%{device?egress device %{device}}"
+#~ msgstr ""
+#~ "Do %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+#~ "%{device?egress device %{device}}"
+
+#~ msgid "Via %s"
+#~ msgstr "Przez %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Przez %s w %s"
+
+#~ msgid "any host"
+#~ msgstr "dowolny host"
+
+#~ msgid "any router IP"
+#~ msgstr "dowolne IP routera"
+
+#~ msgid "not"
+#~ msgstr "Nie"
+
+#~ msgid "port"
+#~ msgstr "port"
+
+#~ msgid "ports"
+#~ msgstr "porty"
+
+#~ msgid "type"
+#~ msgstr "typ"
+
+#~ msgid "types"
+#~ msgstr "typy"
+
#~ msgid "Force connection tracking"
#~ msgstr "Wymuś śledzenie połączeń"
diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po
index 2ee9b06f58..faf973fcd9 100644
--- a/applications/luci-app-firewall/po/pt-br/firewall.po
+++ b/applications/luci-app-firewall/po/pt-br/firewall.po
@@ -14,57 +14,107 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s com %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s em %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> pcts. por <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> pcts. por <var>%s</var>, pico <var>%d</var> pcts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> e limite a %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Aceitar encaminhamento"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Aceitar entrada"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Aceitar saída"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Ação"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -74,7 +124,7 @@ msgstr ""
"da zona, por exemplo, <code>-p tcp --dport 443</code> para corresponder "
"apenas ao tráfego HTTPS de saída."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -83,68 +133,67 @@ msgstr ""
"da zona, por exemplo, <code>-p tcp --sport 443</code> para corresponder "
"apenas ao tráfego HTTPS de entrada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Configurações Avançadas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Permitir tráfego \"inválido\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permite o encaminhamento da <em>zona de origem</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permite o encaminhamento para a <em>zona de destino</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Qualquer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Qualquer dia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Atribuição automática de assistentes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Atribuir automaticamente ajudantes de conntrack com base no protocolo de "
"tráfego e na porta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Configurações do Conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Ajudantes do Conntrack"
@@ -152,15 +201,19 @@ msgstr "Ajudantes do Conntrack"
msgid "Contents have been saved."
msgstr "O conteúdo foi salvo."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Dispositivos cobertos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Redes cobertas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Sub-redes cobertas"
@@ -178,52 +231,37 @@ msgstr ""
"cobertos por esta ferramenta. Os comandos serão executados após cada "
"reinício do firewall, logo após a carga do conjunto de regras padrão."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Endereço IP de destino"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Endereço de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Porta de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zona de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Descartar o encaminhamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Descartar a entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Descartar a saída"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -232,82 +270,66 @@ msgstr ""
"estado do conntrack for <em>invalid</em>. Isto pode ser necessário para "
"configurações complexas e de rotas assimétricas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Não sobrescreva"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Não rastrear o encaminhamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Não rastrear a entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Não rastrear a saída"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Descartar pacotes inválidos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Ativar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Habilite o Loopback do NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Habilite proteção contra SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Habilite o registro nesta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
"Funcionalidade experimental. Ela não é totalmente compatível com QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos "
"para o tráfego da zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Endereço IP externo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Porta Externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Argumentos extras"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Argumentos extra de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Argumentos extras para o iptables"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Argumentos extras da fonte"
@@ -319,233 +341,228 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Regras personalizadas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Encaminhamento de Portas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Regras de Tráfego"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Firewall - Configurações de Zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Encaminhar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Encaminhar para"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Sexta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Vindo de %s em %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Vindo de %s em %s com origem %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Vindo de %s em %s com origem %s e %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "De %s <var>neste dispositivo</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "De %s <var>neste dispositivo</var> com origem %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "De %s <var>neste dispositivo</var> com origem %s e %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Configurações Gerais"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Aceleração de fluxo de dados via Hardware"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Faixa IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IPs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 e IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Somente IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Somente IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Entrada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Endereço IP interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Porta Interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zona interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limita as mensagens de registro"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MACs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Ajuste do MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Mascaramento"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Casa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Casa com ICMP tipo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -553,79 +570,75 @@ msgstr ""
"Casa o tráfego entrante direcionado para uma porta ou faixa de portas de "
"destino específica neste computador"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Segunda-Feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Dias do mês"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Rede"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
"Somente case o tráfego entrante direcionado para o endereço IP fornecido."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Somente case o tráfego entrante destes endereços MAC."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Somente case o tráfego entrante desta faixa de endereços IP."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -633,27 +646,27 @@ msgstr ""
"Somente case o tráfego entrante vindo da porta de origem fornecida ou "
"intervalo de portas no equipamento cliente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Saída"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -667,12 +680,12 @@ msgstr ""
"extremo cuidado, pois valores inválidos podem quebrar todo o conjunto de "
"regras do firewall expondo todos os serviços completamente."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Encaminhamentos de Porta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -680,173 +693,155 @@ msgstr ""
"O encaminhamento de portas permite que computadores remotos na Internet "
"conectem a um computador ou serviço específico dentro da rede local privada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocolo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Redireciona tráfego entrante para a porta especificada no computador interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Redireciona tráfego entrante para o computador interno especificado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Recusar encaminhamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Recusar entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Recusar saída"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Requer suporte de NAT em hardware. Implementado ao menos para mt7621"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Restringe o mascaramento para uma subrede de destino específica"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Restringe o mascaramento para uma subrede de origem específica"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Restringe para uma família de endereços"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Aceleração de Roteamento/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sábado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Aceleração de roteamento/NAT baseada em Software"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Aceleração de fluxo de dados via Software"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Endereço IP de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Endereço MAC de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Endereço de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Porta de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zona de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Dia inicial (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Hora de Início (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Dia final (aaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Hora de Parada (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Domingo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -854,8 +849,8 @@ msgstr ""
"O firewall cria zonas sobre as interfaces de rede para controlar o fluxo do "
"tráfego de rede."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -871,7 +866,7 @@ msgstr ""
"encaminhamento é <em>unidirecional</em>, ex: um encaminhamento da LAN para "
"WAN <em>não</em> implica na permissão de encaminhar da WAN para LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -886,53 +881,57 @@ msgstr ""
"<em>Redes Cobertas</em> especificam que redes disponíveis são membros desta "
"zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Quita-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Restrições de tempo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Hora em UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Para %s em %s <var>neste dispositivo</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Para %s em %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Para %s <var>neste dispositivo</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Para %s, %s em %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Regras de tráfego"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -942,8 +941,8 @@ msgstr ""
"diferentes zonas. Por exemplo, rejeitar o tráfego entre certos equipamentos "
"ou abrir portas WAN no roteador."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Terça-feira"
@@ -951,39 +950,50 @@ msgstr "Terça-feira"
msgid "Unable to save contents: %s"
msgstr "Não foi possível salvar os conteúdos: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Encaminhamento sem nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Regra sem nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Zona sem nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -991,7 +1001,7 @@ msgstr ""
"Use esta opção para classificar o tráfego bruto da zona por dispositivos de "
"rede não gerenciados pela<em>uci</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -999,175 +1009,290 @@ msgstr ""
"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou "
"destino em vez de redes ou dispositivos."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Via %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Através do %s na %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Quarta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Dias da semana"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zona ⇒ Encaminhamentos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zonas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "aceitar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "qualquer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "qualquer equipamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "qualquer endereço IP do roteador"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "qualquer zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "dia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "não rastrear"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "descartar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "hora"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "minuto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "não"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "porta"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "portas"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "rejeitar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "segundo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "esta nova zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "tipo"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "tipos"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s in %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s com %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s em %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> pcts. por <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> pcts. por <var>%s</var>, pico <var>%d</var> pcts."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> e limite a %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Aceitar encaminhamento"
+
+#~ msgid "Accept input"
+#~ msgstr "Aceitar entrada"
+
+#~ msgid "Accept output"
+#~ msgstr "Aceitar saída"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Endereço IP de destino"
+
+#~ msgid "Discard forward"
+#~ msgstr "Descartar o encaminhamento"
+
+#~ msgid "Discard input"
+#~ msgstr "Descartar a entrada"
+
+#~ msgid "Discard output"
+#~ msgstr "Descartar a saída"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Não sobrescreva"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Não rastrear o encaminhamento"
+
+#~ msgid "Do not track input"
+#~ msgstr "Não rastrear a entrada"
+
+#~ msgid "Do not track output"
+#~ msgstr "Não rastrear a saída"
+
+#~ msgid "Forward to"
+#~ msgstr "Encaminhar para"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Vindo de %s em %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Vindo de %s em %s com origem %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Vindo de %s em %s com origem %s e %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "De %s <var>neste dispositivo</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "De %s <var>neste dispositivo</var> com origem %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "De %s <var>neste dispositivo</var> com origem %s e %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "Faixa IP"
+
+#~ msgid "IPs"
+#~ msgstr "IPs"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MACs"
+
+#~ msgid "Network"
+#~ msgstr "Rede"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Recusar encaminhamento"
+
+#~ msgid "Refuse input"
+#~ msgstr "Recusar entrada"
+
+#~ msgid "Refuse output"
+#~ msgstr "Recusar saída"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Para %s em %s <var>neste dispositivo</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Para %s em %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Para %s <var>neste dispositivo</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Para %s, %s em %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Via %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Através do %s na %s"
+
+#~ msgid "any host"
+#~ msgstr "qualquer equipamento"
+
+#~ msgid "any router IP"
+#~ msgstr "qualquer endereço IP do roteador"
+
+#~ msgid "not"
+#~ msgstr "não"
+
+#~ msgid "port"
+#~ msgstr "porta"
+
+#~ msgid "ports"
+#~ msgstr "portas"
+
+#~ msgid "type"
+#~ msgstr "tipo"
+
+#~ msgid "types"
+#~ msgstr "tipos"
+
#~ msgid "Force connection tracking"
#~ msgstr "Force o rastreamento da conexão"
diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po
index 59615617fa..9c826b66e6 100644
--- a/applications/luci-app-firewall/po/pt/firewall.po
+++ b/applications/luci-app-firewall/po/pt/firewall.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2019-11-13 13:05+0000\n"
+"PO-Revision-Date: 2020-01-19 06:04+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfirewall/pt/>\n"
@@ -12,59 +12,109 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 3.10.2\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s em %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s em %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> pkts. por <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> pcts. por <var>%s</var>, burst <var>%d</var> pcts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> e limite a %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Aceitar o encaminhamento"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Aceitar a entrada"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Aceitar a saída"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr "Um IP reescrito deve ser especificado!"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr "ACCEPT - Deactivate reescrever endereços"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Ação"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -74,7 +124,7 @@ msgstr ""
"destino da zona, por exemplo, <code>-p tcp -- dport 443</code> para "
"corresponder apenas ao tráfego https de saída."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -83,68 +133,72 @@ msgstr ""
"fonte de zona, por exemplo, <code>-p tcp - esporte 443</code> para "
"corresponder apenas ao tráfego HTTPS de entrada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Definições Avançadas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Permitir o tráfego \"inválido\""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permitir encaminhamento de <em>zonas de origem</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permitir encaminhamento para <em>zonas de destino</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Qualquer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Qualquer dia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
+"Aplique um XOR bit a bit do valor dado e o valor da marca existente nas "
+"ligações estabelecidas. Formato é valor[/máscara]. Se uma máscara for "
+"especificada, os bits definidos na máscara são zerados."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
-msgstr ""
+msgstr "Aplique a classe ou valor de DSCP dado às conexões estabelecidas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
+"Atribua o ajudante de rastreamento de conexão especificado para o tráfego "
+"combinado."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Atribuição automática de assistentes"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Atribuir assistentes de conntrack automaticamente com base no protocolo de "
"tráfego e na porta"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Configurações do Conntrack"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Assistentes do Conntrack"
@@ -152,15 +206,19 @@ msgstr "Assistentes do Conntrack"
msgid "Contents have been saved."
msgstr "Os conteúdos foram gravados."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Aparelhos abrangidos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Redes abrangidas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Subredes abrangidas"
@@ -179,52 +237,37 @@ msgstr ""
"comandos são executados a seguir ao reinicio da firewall, logo a seguir ao "
"conjunto de regras predefinidas serem carregadas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
-msgstr ""
+msgstr "Classificação de DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
-msgstr ""
+msgstr "Marca de DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
-msgstr ""
+msgstr "Marca de DSCP necessária"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Endereço IP de destino"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Endereço de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Porta de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zona de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Descartar o encaminhamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Descartar a entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Descartar a saída"
+msgstr "Nome do aparelho"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -233,81 +276,65 @@ msgstr ""
"conntrack <em>invalid</em>. Isto pode ser necessário para configurações "
"complexas de rotas assimétricas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Não re-escrever"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Não rastrear o encaminhamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Não rastrear a entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Não rastrear a saída"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Cancelar pacotes inválidos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Ativar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Ativar NAT Loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Ativar a Proteção SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Ativar registo nesta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
-msgstr ""
+msgstr "À espera de: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Característica experimental. Não totalmente compatível com QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Escolhe explicitamente os assistentes de rastreamento de conexão permitidos "
"para o tráfego da zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Endereço IP externo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Porta externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Argumentos adicionais"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Argumentos adicionais de destino"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Argumentos adicionais do iptables"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Argumentos adicionais da fonte"
@@ -319,233 +346,228 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Regras Personalizadas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
-msgstr ""
+msgstr "Firewall - Regras de NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Encaminhamento de Portas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Regras de Tráfego"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Firewall - Definições de Zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Encaminhar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Encaminhar para"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Sexta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "De %s em %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "De %s em %s com origem %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "De %s em %s com origem %s e %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "De %s <var>neste aparelho</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "De %s <var>neste aparelho</var> com a fonte %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "De %s <var>neste aparelho</var> com as fontes %s e %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Configurações Gerais"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Descarga de fluxo em hardware"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Intervalo de IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IPs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 e IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Só IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Só IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
+msgstr "Aparelho de entrada"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Entrada"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Endereço IP interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Porta interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zona Interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
-msgstr ""
+msgstr "Marca de DSCP inválida"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
-msgstr ""
+msgstr "Valor limite inválido"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
-msgstr ""
+msgstr "Limite de burst"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limitar registo de mensagens"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
+msgstr "Limitar a correspondência"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
-msgstr ""
+msgstr "Limita o tráfego de acordo com a taxa especificada."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
+msgstr "IP fonte de loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MACs"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Fixação de MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Mascaramento"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Corresponder"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Correspondência do tipo de ICMP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -553,78 +575,74 @@ msgstr ""
"O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de "
"portas neste host"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Segunda-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Dias do mês"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Rede"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Só se tráfego de entrada corresponder ao endereço IP fornecido."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Só se o tráfego de entrada corresponder a um destes MACs."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Só se o tráfego de entrada corresponder a este IP ou intervalo."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -632,27 +650,27 @@ msgstr ""
"Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um "
"intervalo de portas no host cliente"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Saída"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -666,12 +684,12 @@ msgstr ""
"cuidado, pois valores inválidos podem tornar o conjunto de regras do "
"firewall quebrado, expondo completamente todos os serviços."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Encaminhamento de Portas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -679,175 +697,157 @@ msgstr ""
"O Encaminhamento de Portas permite que computadores remotos na internet se "
"liguem a um computador ou serviço especifico na rede privada (LAN)."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocolo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Redirecionar a entrada de trafego correspondente à porta fornecida no host "
"interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Redirecionar o tráfego de entrada correspondente para o host interno"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Recusar encaminhamento"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Recusar entrada"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Recusar saída"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
"Requer suporte de hardware para NAT. Implementado pelo menos para mt7621"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Restringir o Mascaramento às sub-redes de destino dadas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Restringir Mascaramento a sub-redes de origem fornecidas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Restringir a família de endereços"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Descargar Roteamento/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sábado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Descarga baseada em software para roteamento/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Descarga de fluxo de software"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Endereço IP de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Endereço MAC de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Endereço de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Porta de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zona de origem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Data de Início (aaaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Hora de início (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Data de Paragem (aaaaa-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Tempo de Parada (hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Domingo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -855,8 +855,8 @@ msgstr ""
"A firewall cria zonas sobre as interfaces de rede para controlar o fluxo do "
"tráfego."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -873,7 +873,7 @@ msgstr ""
"lan para wan <em>não</em> implica uma permissão para avançar de wan para lan "
"também."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -888,53 +888,57 @@ msgstr ""
"abrangidas</em> especifica quais das redes disponíveis são membros desta "
"zona."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Quinta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Restrições de Tempo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Tempo em UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Para %s no %s em <var>este dispositivo</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Para %s em %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Para %s em <var>este dispositivo</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Para %s, %s em %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Regras de Tráfego"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -944,8 +948,8 @@ msgstr ""
"diferentes zonas, por exemplo, para rejeitar trafego entre certos hosts ou "
"para abrir portas WAN no router."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Terça-feira"
@@ -953,39 +957,50 @@ msgstr "Terça-feira"
msgid "Unable to save contents: %s"
msgstr "Incapaz de gravar conteúdos: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Encaminhamento sem nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Regra sem nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Zona sem nome"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -993,7 +1008,7 @@ msgstr ""
"Use esta opção para classificar o tráfego da zona por aparelhos de rede "
"brutos, não geridos por <em>uci</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1001,175 +1016,293 @@ msgstr ""
"Use esta opção para classificar o tráfego da zona por sub-rede de origem ou "
"destino em vez de redes ou aparelhos."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Via %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Via %s no %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Quarta-feira"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Dias úteis"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Zona ⇒ Encaminhamentos"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zonas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "aceitar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "qualquer"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "qualquer host"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "qualquer IP do router"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "qualquer zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "dia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "não seguir"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "descartar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "hora"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "minuto"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "não"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "porta"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "portas"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "rejeitar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "segundo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "esta nova zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "tipo"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "tipos"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
-msgstr ""
+msgstr "ilimitado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
-msgstr ""
+msgstr "não especificado"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#~ msgstr "De %{ipaddr?:qualquer host} %{port?com fonte %{port}}"
+
+#~ msgid "%s in %s"
+#~ msgstr "%s em %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s with %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s em %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> pkts. por <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> pcts. por <var>%s</var>, burst <var>%d</var> pcts."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> e limite a %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Aceitar o encaminhamento"
+
+#~ msgid "Accept input"
+#~ msgstr "Aceitar a entrada"
+
+#~ msgid "Accept output"
+#~ msgstr "Aceitar a saída"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Endereço IP de destino"
+
+#~ msgid "Discard forward"
+#~ msgstr "Descartar o encaminhamento"
+
+#~ msgid "Discard input"
+#~ msgstr "Descartar a entrada"
+
+#~ msgid "Discard output"
+#~ msgstr "Descartar a saída"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Não re-escrever"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Não rastrear o encaminhamento"
+
+#~ msgid "Do not track input"
+#~ msgstr "Não rastrear a entrada"
+
+#~ msgid "Do not track output"
+#~ msgstr "Não rastrear a saída"
+
+#~ msgid "Forward to"
+#~ msgstr "Encaminhar para"
+
+#~ msgid "From %s in %s"
+#~ msgstr "De %s em %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "De %s em %s com origem %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "De %s em %s com origem %s e %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "De %s <var>neste aparelho</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "De %s <var>neste aparelho</var> com a fonte %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "De %s <var>neste aparelho</var> com as fontes %s e %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "Intervalo de IP"
+
+#~ msgid "IPs"
+#~ msgstr "IPs"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MACs"
+
+#~ msgid "Network"
+#~ msgstr "Rede"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Recusar encaminhamento"
+
+#~ msgid "Refuse input"
+#~ msgstr "Recusar entrada"
+
+#~ msgid "Refuse output"
+#~ msgstr "Recusar saída"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Para %s no %s em <var>este dispositivo</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Para %s em %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Para %s em <var>este dispositivo</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Para %s, %s em %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Via %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Via %s no %s"
+
+#~ msgid "any host"
+#~ msgstr "qualquer host"
+
+#~ msgid "any router IP"
+#~ msgstr "qualquer IP do router"
+
+#~ msgid "not"
+#~ msgstr "não"
+
+#~ msgid "port"
+#~ msgstr "porta"
+
+#~ msgid "ports"
+#~ msgstr "portas"
+
+#~ msgid "type"
+#~ msgstr "tipo"
+
+#~ msgid "types"
+#~ msgstr "tipos"
+
#~ msgid "Force connection tracking"
#~ msgstr "Forçar rasto de ligação"
diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po
index cabf779ac5..3a5f055454 100644
--- a/applications/luci-app-firewall/po/ro/firewall.po
+++ b/applications/luci-app-firewall/po/ro/firewall.po
@@ -13,129 +13,178 @@ msgstr ""
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s în %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s cu %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s în %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Actiune"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Setări avansate"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Permite trecerea din <em>zonele sursa</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Permite trecerea catre <em>zonele sursa</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Oricare"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Orice zi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -143,15 +192,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr "Conţinutul a fost salvat."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Retele acoperite"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -166,130 +219,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Destinaţie adresă IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Destinaţie adresă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Portul destinatie"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Zonă de destinație"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Nu rescrie"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Descarcă pachetele invalide"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Activează"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Activează loopback NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Activează protecţia SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Activeaza log in aceasta zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Funcție experimentală. Nu este complet compatibiă cu QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Adresă IP externă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Port extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -301,336 +323,327 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr "Firewall - Reguli particularizate"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Firewall - Port-uri forwardate"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Firewall - Reguli ale traficului"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Setari zona la firewall"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Forward"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Vineri"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Setări principale"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 şi IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "doar IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "doar IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Intrare"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Adresa IP interna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Port intern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Zonă internă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Limitează mesaje în log"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Ajustare MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Translatare"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Potrivire"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Potriveste pe tipul de ICMP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Luni"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Nume"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Ieşire"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -639,190 +652,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protocol"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Sâmbătă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "Sursă adresă IP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "Sursă adresă MAC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Adresa sursa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Port sursa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Zona sursa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Duminică"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -832,7 +827,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -841,61 +836,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Joi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Restricţii de timp"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Marţi"
@@ -903,219 +902,228 @@ msgstr "Marţi"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Miercuri"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zone"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "accept"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "oricare"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "orice zona"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "zi"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "oră"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "minut"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "secundă"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "tip"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s în %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s cu %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s în %s"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Destinaţie adresă IP"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Nu rescrie"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "type"
+#~ msgstr "tip"
+
#~ msgid "Force connection tracking"
#~ msgstr "Forteaza urmarirea conexiunilor"
diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po
index 116b351969..02e83500ae 100644
--- a/applications/luci-app-firewall/po/ru/firewall.po
+++ b/applications/luci-app-firewall/po/ru/firewall.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: firewall\n"
"POT-Creation-Date: 2013-09-05 16:02+0200\n"
-"PO-Revision-Date: 2020-01-16 20:37+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsfirewall/ru/>\n"
@@ -12,61 +12,148 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.2-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
+"%{src?%{dest?Перенаправляемый:Входящий}:Исходящий} "
+"%{ipv6?%{ipv4?<var>IPv4</var> и "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, протокол "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\""
+">%{item.name}<span class=\"cbi-tooltip\">ICMP с типами %{item.types#%{next?, "
+"}<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, метка "
+"<var%{mark.inv? data-tooltip=\"Соответствие fwmarks кроме %{mark.num}%{"
+"mark.mask? с маской %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Применение "
+"маски %{mark.mask} к значению fwmark перед сравнением.\""
+"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\""
+"Соответствие DSCP классификатора кроме {dscp.num?:%{dscp.name}}\""
+">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, помощник %{helper.inv?<"
+"var data-tooltip=\"Соответствие любому помощнику кроме "
+"&quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\""
+"%{helper.name}\">%{helper.val}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr "-- добавить IP-адрес --"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr "-- добавить MAC-адрес --"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"<var data-tooltip=\"ACCEPT\">Разрешить</var> "
+"%{src?%{dest?перенаправляемый:входящий}:исходящий} трафик"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr "<var data-tooltip=\"ACCEPT\">Предотвращать перезапись источника</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s с %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
+"<var data-tooltip=\"DNAT\">Перенаправлять</var> на %{dest}%{dest_ip? IP-"
+"адрес <var>%{dest_ip}</var>}%{dest_port? порт <var>%{dest_port}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"<var data-tooltip=\"DROP\">Отбрасывать</var> "
+"%{src?%{dest?перенаправляемый:входящий}:исходящий} трафик"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+"<var data-tooltip=\"DSCP\">Назначить DSCP</var> классификатор "
+"<var>%{set_dscp}</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> пакетов за <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+"<var data-tooltip=\"HELPER\">Назначить помощника</var> отслеживания "
+"соединений <var%{helper_name? data-tooltip=\"%{helper_name}\""
+"}>%{set_helper}</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> пакетов за <var>%s</var>, подряд <var>%d</var> пакетов"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
+"<var data-tooltip=\"MARK\">%{set_mark?Назначить:XOR}</var> метку брандмауэра "
+"<var>%{set_mark?:%{set_xmark}}</var>"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> с пределом в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
+"<var data-tooltip=\"MASQUERADE\">Автоматически перезаписывать</var> IP-адрес "
+"источника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+"<var data-tooltip=\"NOTRACK\">Не отслеживать</var> "
+"%{src?%{dest?перенаправляемый:входящий}:исходящий} трафик"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"<var data-tooltip=\"REJECT\">Отклонять</var> "
+"%{src?%{dest?перенаправляемый:входящий}:исходящий} трафик"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+"<var data-tooltip=\"SNAT\">Статически переписывать</var> %{snat_ip?IP-адрес "
+"источника на <var>%{snat_ip}</var>} %{snat_port?порт источника на "
+"<var>%{snat_port}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
msgid "A rewrite IP must be specified!"
msgstr "IP-адрес для перезаписи должен быть указан!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
msgid "ACCEPT - Disable address rewriting"
msgstr "ACCEPT — отключить перезапись адреса"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Принимать перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Принимать входящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Принимать исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Действие"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -76,7 +163,7 @@ msgstr ""
"назначения, например <code>-p tcp --dport 443</code> для соответствия только "
"исходящему HTTPS трафику."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -85,70 +172,72 @@ msgstr ""
"источника, например <code>-p tcp --sport 443</code> для соответствия только "
"входящему HTTPS трафику."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Дополнительные настройки"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Разрешить «недействительный» трафик"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Разрешить перенаправление из <em>'зон источников'</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Разрешить перенаправление в <em>'зоны назначения'</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Любой"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Любой день"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
+"Применить побитовую операцию XOR заданного значения и существующего значения "
+"метки для уже установленных соединений. Формат — значение[/маска]. Если "
+"задана маска, то биты, заданные в маске, обнуляются."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
-msgstr ""
+msgstr "Применить заданный класс DSCP или значение к установленным соединениям."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
"Назначить указанного помощника отслеживания соединений для соответствующего "
"трафика."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Автоматическое назначение помощников"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
"Автоматическое назначение помощников отслеживания соединений (conntrack) на "
"основе протокола и порта трафика"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Отслеживание соединений (conntrack)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Помощники отслеживания соединений"
@@ -156,15 +245,19 @@ msgstr "Помощники отслеживания соединений"
msgid "Contents have been saved."
msgstr "Содержимое сохранено."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr "Продолжить"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Охватываемые устройства"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Охватываемые сети"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Охватываемые подсети"
@@ -183,52 +276,37 @@ msgstr ""
"каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил "
"по умолчанию."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
-msgstr ""
+msgstr "DSCP классификация"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
-msgstr ""
+msgstr "DSCP метка"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
-msgstr ""
+msgstr "Требуется DSCP метка"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "IP-адрес назначения"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Адрес назначения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Порт назначения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Зона назначения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr "Имя устройства"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Отклонять перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Отклонять входящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Отклонять исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -237,81 +315,65 @@ msgstr ""
"трафика с состоянием <em>недействительный</em> (<em>invalid</em>). Это может "
"потребоваться для сложных настроек асимметричной маршрутизации."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Не перезаписывать"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Не отслеживать перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Не отслеживать входящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Не отслеживать исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Отбрасывать некорректные пакеты"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Включить"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Включить NAT Loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Включить защиту от SYN-flood атак"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Включить журналирование в этой зоне"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr "Ожидается: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Экспериментальный функционал. Не полностью совместим с QoS/SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"Явно определяет допустимые варианты помощников (helpers) отслеживания "
"соединений (connection tracking) трафика в зоне"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Внешний IP-адрес"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Внешний порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Дополнительные аргументы"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Дополнительные аргументы для назначения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Дополнительные аргументы iptables"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Дополнительные аргументы для источника"
@@ -323,242 +385,273 @@ msgstr "Межсетевой экран"
msgid "Firewall - Custom Rules"
msgstr "Межсетевой экран - Пользовательские правила"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr "Межсетевой экран - Правила NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Межсетевой экран - Перенаправление портов"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Межсетевой экран - Правила для трафика"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Межсетевой экран - Настройка зон"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr "Миграция конфигурации межсетевого экрана"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Перенаправление"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Перенаправлять на"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
+"Перенаправление IPv4%{proto?, протокол %{proto#%{next?, "
+"}<var>%{item.name}</var>}}%{mark?, метка <var%{mark.inv? data-tooltip=\""
+"Соответствие fwmarks кроме %{mark.num}%{mark.mask? с маской %{mark.mask}}.\""
+":%{mark.mask? data-tooltip=\"Применение маски %{mark.mask} к значению fwmark "
+"перед сравнением.\"}}>%{mark.val}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Пятница"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Из %s в %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Из %s в %s с источником %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Из %s в %s с источниками %s и %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Из %s в <var>это устройство</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Из %s в <var>это устройство</var> с источником %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "Из %s в <var>это устройство</var> с источниками %s and %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
-msgstr "Из %{ipaddr?:любой хост} %{port?с источником %{port}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+"Из %{src}%{src_device?, интерфейс <var>%{src_device}</var>}%{src_ip?, IP-"
+"адрес %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие IP-"
+"адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, порт "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие портам "
+"кроме %{item.val}.\"}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
+msgstr ""
+"Из %{src}%{src_device?, интерфейс <var>%{src_device}</var>}%{src_ip?, IP-"
+"адрес %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие IP-"
+"адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, порт "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие портам "
+"кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC-адрес %{src_mac#%{"
+"next?, }<var%{item.inv? data-tooltip=\"Соответствие MAC-адресов кроме "
+"%{item.val}%{item.hint.name? (%{item.hint.name})}.\":%{item.hint.name? data-"
+"tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+"Из %{src}%{src_ip?, IP-адрес %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Соответствие IP-адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{"
+"src_port?, порт %{src_port#%{next?, }<var%{item.inv? data-tooltip=\""
+"Соответствие портам кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, "
+"MAC-адрес %{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие "
+"MAC-адресов кроме %{item.val}%{item.hint.name? (%{item.hint.name})}.\":%{"
+"item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Основные настройки"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Аппаратный flow offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP-адрес"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Диапазон IP-адресов"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP-адреса"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 и IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Только IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Только IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr "Входящее устройство"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+"Входящие IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?<var class"
+"=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP с "
+"типами %{item.types#%{next?, "
+"}<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, метка "
+"<var%{mark.inv? data-tooltip=\"Соответствие значения fwmarks кроме "
+"%{mark.num}%{mark.mask? с маской %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Применение маски %{mark.mask} к значению fwmark перед сравнением.\""
+"}}>%{mark.val}</var>}%{helper?, помощник %{helper.inv?<var data-tooltip=\""
+"Соответствие любому помощнику кроме &quot;%{helper.name}&quot;\""
+">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\""
+">%{helper.val}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Входящий трафик"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Внутренний IP-адрес"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Внутренний порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Внутренняя зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
-msgstr ""
+msgstr "Неверная DSCP метка"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
-msgstr ""
+msgstr "Неверное значение ограничения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
-msgstr ""
+msgstr "Ограничение барста (burst)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Ограничить журнал сообщений"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
+msgstr "Соответствие по ограничениям"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
+"Ограничение до <var>%{limit.num}</var> пакетов в <var>%{limit.unit}</var>%{"
+"limit.burst? барст (burst) <var>%{limit.burst}</var>}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
-msgstr ""
+msgstr "Ограничивает сопоставление трафика указанной скорости."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr "IP-адрес источника петли (Loopback)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC-адреса"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
"MASQUERADE — автоматически переписывать на IP-адрес исходящего интерфейса"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Ограничение MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Маскарадинг"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Входящий трафик"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-"Соответствует %{protocol?%{family} %{protocol} трафику:любому %{family} "
-"трафику} %{mark?с меткой брандмауэра %{mark}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
-msgstr ""
+msgstr "Соответствие DSCP"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Соответствовать ICMP типу"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr "Соответствие устройству"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
"Соответствие перенаправляемого трафика, направленного на заданный IP-адрес."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
"Соответствие перенаправляемого трафика, направленного на заданный порт "
"назначения или диапазон портов."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
"Соответствие перенаправляемого трафика от данного IP-адреса или диапазона."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
"Соответствие перенаправляемого трафика, исходящего от заданного порта "
"источника или диапазона портов."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr "Соответствие помощнику"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -566,53 +659,56 @@ msgstr ""
"Порт или диапазон портов, входящие подключения на который будут "
"перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr "Соответствие метки"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
"Сопоставление трафика с помощью указанного помощника отслеживания соединений."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
"Соответствие определённой метке брандмауэра или диапазона различных меток."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
"Соответствие перенаправляемого трафика, использующего указанное исходящее "
"сетевое устройство."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
-msgstr ""
+msgstr "Сопоставляет трафик с указанной DSCP-маркировкой."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
+"Максимальное начальное количество совпадающих пакетов: это число будет "
+"пополняться на один каждый раз, когда лимит, указанный выше, не будет "
+"достигнут, вплоть до этого числа."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Понедельник"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Дни месяца"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr "Правила NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
@@ -620,33 +716,29 @@ msgstr ""
"Правила NAT позволяют точно контролировать IP-адрес источника в исходящем "
"или перенаправляемом трафике."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Имя"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Сеть"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
"Применять правило только для входящих подключений на указанный IP-адрес"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Применять правило только для входящего трафика от этих MAC-адресов."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
"Применять правило только для входящего трафика от этого IP-адреса или "
"диапазона адресов."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -654,29 +746,29 @@ msgstr ""
"Применять правило только для входящего трафика от указанного порта или "
"диапазона портов клиентского хоста"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr "Исходящее устройство"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr "Исходящая зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Исходящий трафик"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Передаёт дополнительные аргументы таблице iptables. Используйте с "
"осторожностью!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -690,12 +782,12 @@ msgstr ""
"осторожностью, так как неверные значения могут привести к нарушению работы "
"правил межсетевого экрана, полностью открывая доступ ко всем службам системы."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Перенаправление портов"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -703,140 +795,119 @@ msgstr ""
"Перенаправленные портов позволяет удалённым компьютерам из Интернета "
"соединяться с компьютером или службой внутри частной локальной сети."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Протокол"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-"
"адреса"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Перенаправлять трафик на указанный IP-адрес"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Сбрасывать перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Сбрасывать входящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Сбрасывать исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
"Требуется аппаратная поддержка NAT. Реализовано, по крайней мере, для mt7621"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Использовать маскарадинг только для указанных подсетей-получателей"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Использовать маскарадинг только для указанных подсетей-отправителей"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Использовать протокол"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr "IP-адрес для перезаписи"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr "Перезаписать соответствующий трафик на указанный IP-адрес источника."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
"Перезаписать соответствующий трафик на указанный порт источника или диапазон "
"портов."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr "Порт для перезаписи"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr "Перезаписать"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr "Перезаписать на %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr "Перезаписать на IP-адрес исходящего устройства"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Маршрутизация/NAT offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Суббота"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
-msgstr ""
+msgstr "Установить метку"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
+"Значение метки для уже установленных соединений. Формат — значение[/маска]. "
+"Если указана маска, то изменяются только те биты, которые установлены в "
+"маске."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Программная реализация offloading для маршрутизации/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Программный flow offloading"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "IP-адрес источника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "MAC-адрес источника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Адрес источника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Порт источника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Зона источника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
@@ -844,7 +915,7 @@ msgstr ""
"Определяет, привязывать ли это правило трафика к конкретному входящему или "
"исходящему сетевому устройству."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
@@ -852,39 +923,47 @@ msgstr ""
"Определяет, использовать внешний или внутренний IP-адрес для отраженного "
"трафика."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Дата начала (год-мес-день)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Время начала (чч.мм.сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Дата окончания (год-мес-день)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Время окончания (чч.мм.сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Воскресенье"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+"Для правильной работы LuCI необходимо изменить существующую конфигурацию "
+"межсетевого экрана."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr "Межсетевой экран создает зоны в вашей сети для контроля трафика."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -901,7 +980,7 @@ msgstr ""
"перенаправление из lan в wan <em>'не'</em> допускает перенаправление трафика "
"из wan в lan."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -916,55 +995,72 @@ msgstr ""
"различными сетями внутри зоны. <em>'Использовать сети'</em> указывает, какие "
"доступные сети являются членами этой зоны."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Четверг"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Временные ограничения"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Время UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "К %s, %s на <var>этом устройстве</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "К %s в %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "К %s на <var>этом устройстве</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+"К %{dest}%{dest_device?, интерфейс <var>%{dest_device}</var>}%{dest_ip?, IP-"
+"адрес %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие IP-"
+"адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, порт "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие портам "
+"кроме %{item.val}.\"}>%{item.ival}</var>}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "К %s, %s в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
+"К %{dest}%{dest_device?, через интерфейс <var>%{dest_device}</var>}%{"
+"dest_ip?, IP-адрес %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\""
+"Соответствие IP-адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{"
+"dest_port?, порт %{dest_port#%{next?, }<var%{item.inv? data-tooltip=\""
+"Соответствие портам кроме %{item.val}.\"}>%{item.ival}</var>}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-"На %{ipaddr?:любой адрес назначения} %{port?порт %{port}} %{zone?через зону "
-"%{zone}} %{device?исходящее устройство %{device}}"
+"К %{dest}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Соответствие IP-адресам кроме %{item.val}.\""
+"}>%{item.ival}</var>}}%{dest_port?, порт %{dest_port#%{next?, }<var%{"
+"item.inv? data-tooltip=\"Соответствие портам кроме %{item.val}.\""
+"}>%{item.ival}</var>}}"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr "Помощник отслеживания"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Правила для трафика"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -974,8 +1070,8 @@ msgstr ""
"зонами, например, запрет трафика между некоторыми хостами или открытие WAN-"
"портов маршрутизатора."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Вторник"
@@ -983,39 +1079,53 @@ msgstr "Вторник"
msgid "Unable to save contents: %s"
msgstr "Невозможно сохранить содержимое: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Неизвестный или не установленный помощник «‎%s»"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr "NAT без имени"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Перенаправление без имени"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Правило без имени"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Зона без имени"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr "Нераспознанный протокол"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+"После нажатия кнопки «Продолжить», разделы правил перенаправления «redirect» "
+"типа «SNAT» будут сконвертированы в разделы «nat» и межсетевой экран будет "
+"перезапущен для применения и обновления конфигурации."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr "Использовать внешний IP-адрес"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr "Использовать внутренний IP-адрес"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -1023,7 +1133,7 @@ msgstr ""
"Используйте эту опцию для классификации трафика зоны по сетевым устройствам, "
"управляемым не через <em>uci</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1031,175 +1141,318 @@ msgstr ""
"Используйте эту опцию для классификации трафика зоны по источнику или "
"подсети назначения вместо сети или устройств."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Через %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Через %s, %s"
+msgstr "Требуется верная метка брандмауэра"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Среда"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Дни недели"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
-msgstr ""
+msgstr "XOR метка брандмауэра"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
-msgstr ""
+msgstr "XOR метка"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Зона ⇒ Перенаправления"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Зоны"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "принимать"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "любой"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "любого хоста"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "любой IP-адрес маршрутизатора"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "любой зоны"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
-msgstr ""
+msgstr "применить метку брандмауэра"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr "назначить помощника отслеживания соединений"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "день"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr "не перезаписывать"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "не отслеживать"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "не обрабатывать"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "час"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "минута"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "нет"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "порт"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "порты"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "отвергать"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "секунда"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr "это устройство"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "эта новая зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "тип"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "типы"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
-msgstr ""
+msgstr "без ограничений"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr "не определено"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr "верная метка брандмауэра"
+#~ msgid "%s in %s"
+#~ msgstr "%s в %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s с %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s в %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> пакетов за <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr ""
+#~ "<var>%d</var> пакетов за <var>%s</var>, подряд <var>%d</var> пакетов"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> с пределом в %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Принимать перенаправляемый трафик"
+
+#~ msgid "Accept input"
+#~ msgstr "Принимать входящий трафик"
+
+#~ msgid "Accept output"
+#~ msgstr "Принимать исходящий трафик"
+
+#~ msgid "Destination IP address"
+#~ msgstr "IP-адрес назначения"
+
+#~ msgid "Discard forward"
+#~ msgstr "Отклонять перенаправляемый трафик"
+
+#~ msgid "Discard input"
+#~ msgstr "Отклонять входящий трафик"
+
+#~ msgid "Discard output"
+#~ msgstr "Отклонять исходящий трафик"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Не перезаписывать"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Не отслеживать перенаправляемый трафик"
+
+#~ msgid "Do not track input"
+#~ msgstr "Не отслеживать входящий трафик"
+
+#~ msgid "Do not track output"
+#~ msgstr "Не отслеживать исходящий трафик"
+
+#~ msgid "Forward to"
+#~ msgstr "Перенаправлять на"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Из %s в %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Из %s в %s с источником %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Из %s в %s с источниками %s и %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Из %s в <var>это устройство</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Из %s в <var>это устройство</var> с источником %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "Из %s в <var>это устройство</var> с источниками %s and %s"
+
+#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#~ msgstr "Из %{ipaddr?:любой хост} %{port?с источником %{port}}"
+
+#~ msgid "IP"
+#~ msgstr "IP-адрес"
+
+#~ msgid "IP range"
+#~ msgstr "Диапазон IP-адресов"
+
+#~ msgid "IPs"
+#~ msgstr "IP-адреса"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC-адреса"
+
+#~ msgid ""
+#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
+#~ msgstr ""
+#~ "Соответствует %{protocol?%{family} %{protocol} трафику:любому %{family} "
+#~ "трафику} %{mark?с меткой брандмауэра %{mark}}"
+
+#~ msgid "Network"
+#~ msgstr "Сеть"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Сбрасывать перенаправляемый трафик"
+
+#~ msgid "Refuse input"
+#~ msgstr "Сбрасывать входящий трафик"
+
+#~ msgid "Refuse output"
+#~ msgstr "Сбрасывать исходящий трафик"
+
+#~ msgid "Rewrite to"
+#~ msgstr "Перезаписать"
+
+#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+#~ msgstr ""
+#~ "Перезаписать на %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+
+#~ msgid "Rewrite to outbound device IP"
+#~ msgstr "Перезаписать на IP-адрес исходящего устройства"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "К %s, %s на <var>этом устройстве</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "К %s в %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "К %s на <var>этом устройстве</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "К %s, %s в %s"
+
+#~ msgid ""
+#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+#~ "%{device?egress device %{device}}"
+#~ msgstr ""
+#~ "На %{ipaddr?:любой адрес назначения} %{port?порт %{port}} %{zone?через "
+#~ "зону %{zone}} %{device?исходящее устройство %{device}}"
+
+#~ msgid "Via %s"
+#~ msgstr "Через %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Через %s, %s"
+
+#~ msgid "any host"
+#~ msgstr "любого хоста"
+
+#~ msgid "any router IP"
+#~ msgstr "любой IP-адрес маршрутизатора"
+
+#~ msgid "not"
+#~ msgstr "нет"
+
+#~ msgid "port"
+#~ msgstr "порт"
+
+#~ msgid "ports"
+#~ msgstr "порты"
+
+#~ msgid "type"
+#~ msgstr "тип"
+
+#~ msgid "types"
+#~ msgstr "типы"
+
#~ msgid "Force connection tracking"
#~ msgstr "Принудительно включать отслеживание соединений"
diff --git a/applications/luci-app-firewall/po/sk/firewall.po b/applications/luci-app-firewall/po/sk/firewall.po
index d7f2664659..a0b0bd965a 100644
--- a/applications/luci-app-firewall/po/sk/firewall.po
+++ b/applications/luci-app-firewall/po/sk/firewall.po
@@ -12,129 +12,178 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Akcia"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -142,15 +191,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -165,130 +218,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -300,336 +322,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -638,190 +651,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -831,7 +826,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -840,61 +835,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -902,215 +901,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po
index 1319bdfafe..9af0519af7 100644
--- a/applications/luci-app-firewall/po/sv/firewall.po
+++ b/applications/luci-app-firewall/po/sv/firewall.po
@@ -12,129 +12,178 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s i %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s med %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%2, %s i %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> pkt. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> pkt. per <var>%s</var>, brustna <var>%d</var> pkt."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> och gränsen till %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Åtgärd"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Avancerade inställningar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Tillåt vidarebefordring från <em>källzonerna</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Till vidarebefordring till <em>destinationszonerna:</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Något"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -142,15 +191,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr "Innehåll har sparats."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Nätverk som omfattas"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -165,130 +218,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "Destinationens IP-adress"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Destinationens adress"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Destinationsport"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Destinationens zon"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "Skriv inte om igen"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Släpp ogiltiga paket"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Aktivera"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Aktivera loggning i den här zonen"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Extern IP-adress"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Extern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Extra argument"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -300,233 +322,228 @@ msgstr "Brandvägg"
msgid "Firewall - Custom Rules"
msgstr "Brandvägg - Anpassade regler"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Brandvägg - Vidarebefordring av port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Brandvägg - Trafikregler"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Brandvägg - Zoninställningar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Vidarebefordra"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "Vidarebefordra till"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "Fredag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Från %s i %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Från %s i %s med källa %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Från %s i %s med källa %s och %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Generella inställningar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 och IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Endast IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Endast IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Inmatning"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Intern IP-adress"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Intern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Intern zon"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Begränsa loggmeddelanden"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Maskering"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Matcha"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Matchar ICMP-typ"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -534,105 +551,101 @@ msgstr ""
"Matcha inkommande trafik dirigerad till den angivna destinationsporten eller "
"portens räckvidd på den här värden"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Måndag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Dagar i månaden"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Namn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Nätverk"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
"Matcha endast inkommande trafik från den här IP-adressen eller räckvidden."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Utmatning"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -641,190 +654,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Vidarebefordringar av port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Protokoll"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Begränsa till adressfamilj"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Lördag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "IP-adress för källa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "MAC-adress för källa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Adress för källkod"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Startdatum (åååå-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Stopptid (åååå-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Söndag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -834,7 +829,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -843,61 +838,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Torsdag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Tid enligt UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "Till %s vid %s på <var>den här enheten</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "Till %s i %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "Till %s på <var>den här enheten</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "Till %s, %s i %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Trafikregler"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Tisdag"
@@ -905,219 +904,276 @@ msgstr "Tisdag"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Via %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Onsdag"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Veckodagar"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zoner"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "acceptera"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "något"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "alla värdar"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "alla zoner"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "spåra inte"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "släpp"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "port"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "portar"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "neka"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "typ"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s i %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s med %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%2, %s i %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> pkt. per <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> pkt. per <var>%s</var>, brustna <var>%d</var> pkt."
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> och gränsen till %s"
+
+#~ msgid "Destination IP address"
+#~ msgstr "Destinationens IP-adress"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Skriv inte om igen"
+
+#~ msgid "Forward to"
+#~ msgstr "Vidarebefordra till"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Från %s i %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Från %s i %s med källa %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Från %s i %s med källa %s och %s"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "Network"
+#~ msgstr "Nätverk"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "Till %s vid %s på <var>den här enheten</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "Till %s i %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "Till %s på <var>den här enheten</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "Till %s, %s i %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Via %s"
+
+#~ msgid "any host"
+#~ msgstr "alla värdar"
+
+#~ msgid "port"
+#~ msgstr "port"
+
+#~ msgid "ports"
+#~ msgstr "portar"
+
+#~ msgid "type"
+#~ msgstr "typ"
+
#~ msgid "Disable"
#~ msgstr "Inaktivera"
diff --git a/applications/luci-app-firewall/po/templates/firewall.pot b/applications/luci-app-firewall/po/templates/firewall.pot
index f11d72686e..da5325b252 100644
--- a/applications/luci-app-firewall/po/templates/firewall.pot
+++ b/applications/luci-app-firewall/po/templates/firewall.pot
@@ -1,129 +1,178 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -131,15 +180,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -154,130 +207,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -289,336 +311,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -627,190 +640,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -820,7 +815,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -829,61 +824,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -891,215 +890,197 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
diff --git a/applications/luci-app-firewall/po/tr/firewall.po b/applications/luci-app-firewall/po/tr/firewall.po
index 71604217cb..b0c77fee96 100644
--- a/applications/luci-app-firewall/po/tr/firewall.po
+++ b/applications/luci-app-firewall/po/tr/firewall.po
@@ -12,129 +12,178 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Eylem"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -142,15 +191,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -165,130 +218,99 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -300,336 +322,327 @@ msgstr ""
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -638,190 +651,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -831,7 +826,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -840,61 +835,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -902,215 +901,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po
index 209bfbfabc..98c4481b30 100644
--- a/applications/luci-app-firewall/po/uk/firewall.po
+++ b/applications/luci-app-firewall/po/uk/firewall.po
@@ -13,57 +13,107 @@ msgstr ""
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s у %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s із %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s у %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> пакетів за <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> пакетів за <var>%s</var>, підряд <var>%d</var> пакетів"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> з лімітом %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "Приймати переспрямовування"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Приймати вхідний"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Приймати вихідний"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Дія"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -73,7 +123,7 @@ msgstr ""
"призначення зони, наприклад, <code>-p tcp --dport 443</code>, щоб зіставляти "
"лише вихідний трафік HTTPS."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -82,57 +132,56 @@ msgstr ""
"зони, наприклад, <code>-p tcp --sport 443</code>, щоб зіставляти лише "
"вхідний трафік HTTPS."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "Додаткові параметри"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "Дозволити \"неправильний\" трафік"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "Дозволити переспрямовування від <em>зон джерела</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Дозволити переспрямовування до <em>зон призначення</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "Будь-який"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "Будь-який день"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "Автоматичне призначення помічника"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
@@ -140,13 +189,13 @@ msgstr ""
"\"Connection tracking\">Conntrack</abbr>) на підставі протоколу та порту "
"трафіку"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
"Параметри відслідковування з'єднань (<abbr title=\"Connection tracking"
"\">Conntrack</abbr>)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
"Помічники відслідковування з'єднань (<abbr title=\"Connection tracking"
@@ -156,15 +205,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr "Вміст збережено."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "Охоплені пристрої"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "Охоплені мережі"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "Охоплені підмережі"
@@ -183,52 +236,37 @@ msgstr ""
"виконуються після кожного перезавантаження брандмауера, відразу після "
"завантаження типового набору правил."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Адреса призначення"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Порт призначення"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "Зона призначення"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Відкидати переспрямовування"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Відкидати вхідний"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Відкидати вихідний"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -237,81 +275,65 @@ msgstr ""
"зі станом відслідковування з'єднань <em>invalid</em>. Це може знадобитися "
"для складних налаштувань асиметричного маршруту."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Не відслідковувати переспрямовування"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Не відслідковувати вхідний"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Не відслідковувати вихідний"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Відкидати помилкові пакети"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Увімкнути"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "Увімкнути NAT Loopback"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "Увімкнути захист від SYN-flood"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "Увімкнути реєстрування у цій зоні"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "Експериментальна функція. Не повністю сумісно з QoS / SQM."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
"В явному вигляді дозволені помічники відслідковування з'єднань для трафіку "
"зони"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "Зовнішня IP-адреса"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "Зовнішній порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "Додаткові аргументи"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "Додаткові аргументи для призначення"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "Додаткові аргументи iptables"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "Додаткові аргументи для джерела"
@@ -323,233 +345,228 @@ msgstr "Брандмауер"
msgid "Firewall - Custom Rules"
msgstr "Брандмауер — Настроювані правила"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "Брандмауер — Переспрямовування портів"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "Брандмауер — Правила трафіка"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "Брандмауер — Параметри зон"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "Переспрямовування"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "переспрямовування до"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "П'ятниця"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "%s у %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "%s у %s з джерелом %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "%s у %s з джерелом %s та %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Від %s на <var>цьому пристрої</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Від %s на <var>цьому пристрої</var> з джерелом %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "Від %s на <var>цьому пристрої</var> з джерелом %s та %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "Загальні параметри"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "Апаратні засоби розвантаження потоку"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP-адреса"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Діапазон IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP-адреси"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 та IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "Лише IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "Лише IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Вхідний"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "Внутрішня IP-адреса"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "Внутрішній порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "Внутрішня зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "Обмеження повідомлень журналу"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC-адреса"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC-адреси"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "Затискання MSS"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "Підміна"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "Зіставляти"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "Зіставляти ICMP типу"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
@@ -557,78 +574,74 @@ msgstr ""
"Зіставляти вхідний трафік, спрямований на заданий порт призначення або "
"діапазон портів цього вузла"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "Понеділок"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "Дні місяця"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "Ім'я"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Мережа"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "Зіставляти тільки вхідний трафік, спрямований на задану IP-адресу."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "Зіставляти тільки вхідний трафік від цих MAC-адрес."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "Зіставляти тільки вхідний трафік від цього IP чи діапазону."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
@@ -636,28 +649,28 @@ msgstr ""
"Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або "
"діапазоні портів вузла клієнта"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Вихідний"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Передача додаткових аргументів для IPTables. Використовуйте з обережністю!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -671,12 +684,12 @@ msgstr ""
"особливою обережністю, оскільки невірні значення можуть призвести до "
"порушення набору правил брандмауера, повністю відкриваючи всі служби."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "Переспрямовування портів"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
@@ -684,173 +697,155 @@ msgstr ""
"Переспрямовування портів дозволяє віддаленим комп'ютерам з Інтернету "
"підключатися до певного комп'ютера або служби у приватній мережі."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Протокол"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
"Переспрямувати відповідний вхідний трафік на заданий порт внутрішнього вузла"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Переспрямувати відповідний вхідний трафік на заданий внутрішній вузол"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Відхиляти переспрямовування"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Відхиляти вхідний"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Відхиляти вихідний"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Необхідна апаратна підтримка NAT. Упроваджено принаймні для mt7621"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "Обмежити підміну заданими підмережами призначення"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "Обмежити підміну заданими підмережами джерела"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "Обмежити сімейство протоколів"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Розвантаження маршрутизації/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "Субота"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "Програмне розвантаження для маршрутизації/NAT"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "Програмне розвантаження потоку"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "IP-адреса джерела"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "MAC-адреса джерела"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "Адреса джерела"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Порт джерела"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "Зона джерела"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "Дата початку (рррр-мм-дд)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "Час початку (гг:хх:сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "Дата зупинки (рррр-мм-дд)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "Час зупинки (гг:хх:сс)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "Неділя"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -858,8 +853,8 @@ msgstr ""
"Брандмауер створює зони поверх ваших мережевих інтерфейсів для управління "
"потоком мережевого трафіку."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -876,7 +871,7 @@ msgstr ""
"від LAN до WAN <em>не</em> означає, що є також дозвіл спрямовувати від WAN "
"до LAN."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -890,53 +885,57 @@ msgstr ""
"спрямовування трафіку між різними мережами в межах зони. Пункт <em>Покриті "
"мережі</em> визначає, які доступні мережі є членами цієї зони."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "Четвер"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "Часові обмеження"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "Час в UTC"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "%s на %s <var>цього пристрою</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "%s у %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "%s на <var>цього пристрою</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "%s, %s у %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "Правила трафіка"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -946,8 +945,8 @@ msgstr ""
"різними зонами, наприклад, відхиляти трафік між певними вузлами або відкрити "
"порти WAN на маршрутизаторі."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "Вівторок"
@@ -955,39 +954,50 @@ msgstr "Вівторок"
msgid "Unable to save contents: %s"
msgstr "Не вдалося зберегти вміст: %s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "Переспрямовування без назви"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "Правило без назви"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "Зона без назви"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
@@ -995,7 +1005,7 @@ msgstr ""
"Використовуйте цей параметр для класифікації трафіку зон за мережевими "
"пристроями <em>raw</em>, які не управляються через <em>uci</em>."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
@@ -1003,175 +1013,285 @@ msgstr ""
"Використовуйте цей параметр для класифікації трафіку зон за підмережею "
"джерела чи призначення замість мереж або пристроїв."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "Через %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Через %s на %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "Середа"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "Дні тижня"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "Зона ⇒ Переспрямовування"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Зони"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "приймати"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "будь-який"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "будь-який вузол"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "будь-який IP роутера"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "будь-якій зоні"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "день"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "не відстеж."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "опускати"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "година"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "хвилина"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "не"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "порт"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "порти"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "відкидати"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "секунду"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "ця нова зона"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "типом"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "типами"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s у %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s із %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s у %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> пакетів за <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr ""
+#~ "<var>%d</var> пакетів за <var>%s</var>, підряд <var>%d</var> пакетів"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> з лімітом %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Приймати переспрямовування"
+
+#~ msgid "Accept input"
+#~ msgstr "Приймати вхідний"
+
+#~ msgid "Accept output"
+#~ msgstr "Приймати вихідний"
+
+#~ msgid "Discard forward"
+#~ msgstr "Відкидати переспрямовування"
+
+#~ msgid "Discard input"
+#~ msgstr "Відкидати вхідний"
+
+#~ msgid "Discard output"
+#~ msgstr "Відкидати вихідний"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Не відслідковувати переспрямовування"
+
+#~ msgid "Do not track input"
+#~ msgstr "Не відслідковувати вхідний"
+
+#~ msgid "Do not track output"
+#~ msgstr "Не відслідковувати вихідний"
+
+#~ msgid "Forward to"
+#~ msgstr "переспрямовування до"
+
+#~ msgid "From %s in %s"
+#~ msgstr "%s у %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "%s у %s з джерелом %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "%s у %s з джерелом %s та %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Від %s на <var>цьому пристрої</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Від %s на <var>цьому пристрої</var> з джерелом %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "Від %s на <var>цьому пристрої</var> з джерелом %s та %s"
+
+#~ msgid "IP"
+#~ msgstr "IP-адреса"
+
+#~ msgid "IP range"
+#~ msgstr "Діапазон IP"
+
+#~ msgid "IPs"
+#~ msgstr "IP-адреси"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC-адреса"
+
+#~ msgid "MACs"
+#~ msgstr "MAC-адреси"
+
+#~ msgid "Network"
+#~ msgstr "Мережа"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Відхиляти переспрямовування"
+
+#~ msgid "Refuse input"
+#~ msgstr "Відхиляти вхідний"
+
+#~ msgid "Refuse output"
+#~ msgstr "Відхиляти вихідний"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "%s на %s <var>цього пристрою</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "%s у %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "%s на <var>цього пристрою</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "%s, %s у %s"
+
+#~ msgid "Via %s"
+#~ msgstr "Через %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Через %s на %s"
+
+#~ msgid "any host"
+#~ msgstr "будь-який вузол"
+
+#~ msgid "any router IP"
+#~ msgstr "будь-який IP роутера"
+
+#~ msgid "not"
+#~ msgstr "не"
+
+#~ msgid "port"
+#~ msgstr "порт"
+
+#~ msgid "ports"
+#~ msgstr "порти"
+
+#~ msgid "type"
+#~ msgstr "типом"
+
+#~ msgid "types"
+#~ msgstr "типами"
+
#~ msgid "Force connection tracking"
#~ msgstr "Примусове відслідковування з'єднань"
diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po
index 39a6ce0874..569e014d8a 100644
--- a/applications/luci-app-firewall/po/vi/firewall.po
+++ b/applications/luci-app-firewall/po/vi/firewall.po
@@ -16,129 +16,178 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "Hành động"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -146,15 +195,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -169,132 +222,101 @@ msgid ""
"each firewall restart, right after the default ruleset has been loaded."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "Địa chỉ điểm đến"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "Cổng điểm đến"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
#, fuzzy
msgid "Destination zone"
msgstr "Điểm đến"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "Bỏ qua nhưng gói không hợp lý"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "Kích hoạt"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
#, fuzzy
msgid "Enable SYN-flood protection"
msgstr "SYN-flood bảo vệ "
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -306,339 +328,330 @@ msgstr "Firewall"
msgid "Firewall - Custom Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
-msgid "Forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
-msgid "Friday"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
+msgid "Forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
+msgid "Friday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "Input"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
#, fuzzy
msgid "Internal IP address"
msgstr "Internal address"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
#, fuzzy
msgid "Internal port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
-msgid "Limits traffic matching to the specified rate."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
-msgid "Loopback source IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
#, fuzzy
msgid "MSS clamping"
msgstr "MSS Clamping"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "Output"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -647,186 +660,168 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "Giao thức"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
#, fuzzy
msgid "Source IP address"
msgstr "Đỉa chỉ MAC nguồn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
#, fuzzy
msgid "Source address"
msgstr "Đỉa chỉ MAC nguồn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "Cổng nguồn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
#, fuzzy
msgid "Source zone"
msgstr "Cổng nguồn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
@@ -834,8 +829,8 @@ msgstr ""
"The firewall tạo zones trên giao diện mạng lưới để điều triển sự dòng lưu "
"thông của mạng."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -845,7 +840,7 @@ msgid ""
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -854,61 +849,65 @@ msgid ""
"networks</em> specifies which available networks are members of this zone."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
"the router."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr ""
@@ -916,215 +915,203 @@ msgstr ""
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "Zones"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "chấp nhận"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "drop"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "Không chấp nhận"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
diff --git a/applications/luci-app-firewall/po/zh-cn/firewall.po b/applications/luci-app-firewall/po/zh-cn/firewall.po
index 9270c8f660..29223446ea 100644
--- a/applications/luci-app-firewall/po/zh-cn/firewall.po
+++ b/applications/luci-app-firewall/po/zh-cn/firewall.po
@@ -16,57 +16,107 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s 位于 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s 和 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s 位于 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> 数据包/<var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> 数据包/<var>%s</var>,突发 <var>%d</var> 数据包。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> 并限制到 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "接受转发"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "接受入站"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "接受出站"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "动作"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -75,7 +125,7 @@ msgstr ""
"附加 <em>iptables</em> 参数对区域出流量分类。如:<code>-p tcp --dport 443</"
"code> 仅匹配出站 HTTPS 流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -83,66 +133,65 @@ msgstr ""
"附加 <em>iptables</em> 参数对区域入流量分类。如:<code>-p tcp --sport 443</"
"code> 仅匹配入站 HTTPS 流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "高级设置"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr "允许“无效”流量"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "允许来自<em>源区域</em>的转发:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "允许转发到<em>目标区域</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "任何"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr "每天"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr "自动助手分配"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr "根据流量协议和端口自动分配 conntrack 助手"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr "Conntrack 设置"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr "Conntrack 助手"
@@ -150,15 +199,19 @@ msgstr "Conntrack 助手"
msgid "Contents have been saved."
msgstr "内容已保存。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr "涵盖的设备"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "涵盖的网络"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr "涵盖的子网"
@@ -175,52 +228,37 @@ msgstr ""
"自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时,"
"在默认的规则运行后这些命令将立即执行。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "目标 IP 地址"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "目标地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "目标端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "目标区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "丢弃转发"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "丢弃入站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "丢弃出站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -228,79 +266,63 @@ msgstr ""
"不安装额外的规则以拒绝 conntrack 状态为<em>无效</em>的转发流量。对复杂的非对"
"称路由这可能是必需的设置。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "不重写"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "不跟踪转发"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "不跟踪入站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "不跟踪出站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "丢弃无效数据包"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "启用"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "启用 NAT 环回"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "启用 SYN-flood 防御"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "启用此区域的日志记录"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "实验特性。与 QoS/SQM 不完全兼容。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr "为区域流量明确选择允许的连接跟踪助手"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "外部 IP 地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "外部端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "额外参数"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr "额外的目标参数"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr "额外的 iptables 参数"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr "额外的源参数"
@@ -312,336 +334,327 @@ msgstr "防火墙"
msgid "Firewall - Custom Rules"
msgstr "防火墙 - 自定义规则"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "防火墙 - 端口转发"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "防火墙 - 通信规则"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "防火墙 - 区域设置"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "转发"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "转发到"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "星期五"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "来自 %s 位于 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "来自 %s 位于 %s 源于 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "来自 %s 位于 %s 源端口 %s 源 MAC %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "来自 %s 位于<var>本设备</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "来自 %s 位于<var>本设备</var>源于 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "来自 %s 位于<var>本设备</var>源端口 %s 源 MAC %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "基本设置"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "硬件流量分载"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "IP 范围"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 和 IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "仅 IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "仅 IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "入站数据"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "内部 IP 地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "内部端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "内部区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "限制日志信息"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS 钳制"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "IP 动态伪装"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "匹配规则"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "匹配 ICMP 类型"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "星期一"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "日期"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "名称"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "网络"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "仅匹配指定目的 IP 地址的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "仅匹配来自这些 MAC 的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "仅匹配来自此 IP 或 IP 范围的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "出站数据"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "传递到 iptables 的额外参数。小心使用!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -653,191 +666,173 @@ msgstr ""
"他条件来匹配数据包。使用这些选项应格外小心,因为无效值可能会破坏防火墙规则集"
"而对外暴露所有服务。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "端口转发"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
"端口转发允许 Internet 上的远程计算机连接到内部网络中的特定计算机或服务。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "协议"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr "重定向匹配的入站流量到内部主机的端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "重定向匹配的入站流量到指定的内部主机"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "拒绝转发"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "拒绝入站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "拒绝出站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "需要硬件 NAT 支持。目前 mt7621 已实现"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "要限制 IP 动态伪装的目标子网"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "要限制 IP 动态伪装的源子网"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "限制地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Routing/NAT 分载"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "星期六"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "基于软件的 Routing/NAT 分载"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "软件流量分载"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "源 IP 地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "源 MAC 地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "源地址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "源端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "源区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "开始日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr "开始时间(hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "停止日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr "停止时间(hh.mm.ss)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "星期日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr "防火墙通过在网络接口上创建区域来控制网络流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -851,7 +846,7 @@ msgstr ""
"%q</strong> 的其它区域。转发规则的作用是<em>单向</em>的,例如:转发从 lan 到 "
"wan 的流量并<em>不</em>意味着允许反向转发从 wan 到 lan 的流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -863,53 +858,57 @@ msgstr ""
"域入站和出站流量的默认策略,<em>转发</em>选项描述该区域内不同网络之间的流量转"
"发策略。<em>涵盖的网络</em>指定从属于这个区域的网络。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "星期四"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr "时间限制"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "UTC 时间"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "到 %s 在 %s 位于<var>本设备</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "到 %s 位于 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "到 %s 位于<var>本设备</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "到 %s, %s 位于 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "通信规则"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -918,8 +917,8 @@ msgstr ""
"通信规则定义了不同区域间的数据包传输策略,例如:拒绝一些主机之间的通信,开放"
"路由器 WAN 上的端口。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "星期二"
@@ -927,219 +926,345 @@ msgstr "星期二"
msgid "Unable to save contents: %s"
msgstr "无法保存内容:%s"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "未命名转发"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "未命名规则"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr "未命名区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr "此选项可对原始的、非 <em>uci</em> 托管的网络设备进行区域流量分类。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr "此选项可对源或目标子网而非网络或设备进行区域流量分类。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "通过 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "通过 %s 在 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "星期三"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "星期"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "区域 ⇒ 转发"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "接受"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "任意"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "所有主机"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "所有路由 IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "所有区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "不跟踪"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "丢弃"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "小时"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "分钟"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "非"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "端口"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "端口"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "拒绝"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "秒"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
msgid "this new zone"
msgstr "此新区域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "类型"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "类型"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s 位于 %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s 和 %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s 位于 %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> 数据包/<var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> 数据包/<var>%s</var>,突发 <var>%d</var> 数据包。"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> 并限制到 %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "接受转发"
+
+#~ msgid "Accept input"
+#~ msgstr "接受入站"
+
+#~ msgid "Accept output"
+#~ msgstr "接受出站"
+
+#~ msgid "Destination IP address"
+#~ msgstr "目标 IP 地址"
+
+#~ msgid "Discard forward"
+#~ msgstr "丢弃转发"
+
+#~ msgid "Discard input"
+#~ msgstr "丢弃入站"
+
+#~ msgid "Discard output"
+#~ msgstr "丢弃出站"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "不重写"
+
+#~ msgid "Do not track forward"
+#~ msgstr "不跟踪转发"
+
+#~ msgid "Do not track input"
+#~ msgstr "不跟踪入站"
+
+#~ msgid "Do not track output"
+#~ msgstr "不跟踪出站"
+
+#~ msgid "Forward to"
+#~ msgstr "转发到"
+
+#~ msgid "From %s in %s"
+#~ msgstr "来自 %s 位于 %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "来自 %s 位于 %s 源于 %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "来自 %s 位于 %s 源端口 %s 源 MAC %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "来自 %s 位于<var>本设备</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "来自 %s 位于<var>本设备</var>源于 %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "来自 %s 位于<var>本设备</var>源端口 %s 源 MAC %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "IP 范围"
+
+#~ msgid "IPs"
+#~ msgstr "IP"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC"
+
+#~ msgid "Network"
+#~ msgstr "网络"
+
+#~ msgid "Refuse forward"
+#~ msgstr "拒绝转发"
+
+#~ msgid "Refuse input"
+#~ msgstr "拒绝入站"
+
+#~ msgid "Refuse output"
+#~ msgstr "拒绝出站"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "到 %s 在 %s 位于<var>本设备</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "到 %s 位于 %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "到 %s 位于<var>本设备</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "到 %s, %s 位于 %s"
+
+#~ msgid "Via %s"
+#~ msgstr "通过 %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "通过 %s 在 %s"
+
+#~ msgid "any host"
+#~ msgstr "所有主机"
+
+#~ msgid "any router IP"
+#~ msgstr "所有路由 IP"
+
+#~ msgid "not"
+#~ msgstr "非"
+
+#~ msgid "port"
+#~ msgstr "端口"
+
+#~ msgid "ports"
+#~ msgstr "端口"
+
+#~ msgid "type"
+#~ msgstr "类型"
+
+#~ msgid "types"
+#~ msgstr "类型"
+
#~ msgid "Force connection tracking"
#~ msgstr "强制连接追踪"
diff --git a/applications/luci-app-firewall/po/zh-tw/firewall.po b/applications/luci-app-firewall/po/zh-tw/firewall.po
index 9d35ee5ebf..aac3a6b205 100644
--- a/applications/luci-app-firewall/po/zh-tw/firewall.po
+++ b/applications/luci-app-firewall/po/zh-tw/firewall.po
@@ -13,129 +13,178 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-msgid "%s in %s"
-msgstr "%s 位於 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s 和 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
-msgid "%s, %s in %s"
-msgstr "%s, %s 位於 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> 資料包/<var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> 資料包/<var>%s</var>,突發 <var>%d</var> 資料包。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> 並限制到 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
-msgid "A rewrite IP must be specified!"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:267
-msgid "ACCEPT - Disable address rewriting"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-msgstr "接受轉發"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "接受入站"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "接受出站"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:224
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
msgid "Action"
msgstr "行動"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone destination "
"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
"traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid ""
"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:86
msgid "Advanced Settings"
msgstr "高階設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid "Allow \"invalid\" traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:319
msgid "Allow forward from <em>source zones</em>:"
msgstr "允許從<em>源區域</em>轉發:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:278
msgid "Allow forward to <em>destination zones</em>:"
msgstr "允許轉發到<em>目標區域</em>:"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
msgid "Any"
msgstr "任何"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:454
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:470
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:329
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:429
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
msgid "Any day"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
msgid ""
"Apply a bitwise XOR of the given value and the existing mark value on "
"established connections. Format is value[/mask]. If a mask is specified then "
"those bits set in the mask are zeroed out."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Apply the given DSCP class or value to established connections."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Assign the specified connection tracking helper to matched traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid "Automatic helper assignment"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
msgid "Conntrack Settings"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Conntrack helpers"
msgstr ""
@@ -143,15 +192,19 @@ msgstr ""
msgid "Contents have been saved."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:650
+msgid "Continue"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid "Covered devices"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
msgid "Covered networks"
msgstr "覆蓋網路"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid "Covered subnets"
msgstr ""
@@ -168,130 +221,99 @@ msgstr ""
"自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在"
"預設的規則執行後這些指令將立即執行。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
msgid "DSCP classification"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
msgid "DSCP mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
-msgid "Destination IP address"
-msgstr "目標 IP 位址"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:193
msgid "Destination address"
msgstr "目標位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:198
msgid "Destination port"
msgstr "目標埠"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
msgid "Destination zone"
msgstr "目標區域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
msgid "Device name"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "丟棄轉發"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "丟棄入站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "丟棄出站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
msgid ""
"Do not install extra rules to reject forwarded traffic with conntrack state "
"<em>invalid</em>. This may be required for complex asymmetric route setups."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:125
-msgid "Do not rewrite"
-msgstr "不重寫"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "不跟蹤轉發"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "不跟蹤入站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "不跟蹤出站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
msgid "Drop invalid packets"
msgstr "丟棄無效資料包"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
msgid "Enable"
msgstr "啟用"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
msgid "Enable NAT Loopback"
msgstr "啟用 NAT 環回"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:43
msgid "Enable SYN-flood protection"
msgstr "啟用 SYN-flood 防禦"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:232
msgid "Enable logging on this zone"
msgstr "啟用此區域的日誌記錄"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "Expecting: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
msgid "Experimental feature. Not fully compatible with QoS/SQM."
msgstr "實驗特性。與 QoS/SQM 不完全相容。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:226
msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:214
msgid "External IP address"
msgstr "外部 IP 位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
msgid "External port"
msgstr "外部埠"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:306
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:320
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:283
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:248
msgid "Extra arguments"
msgstr "附加引數"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:257
msgid "Extra destination arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
msgid "Extra iptables arguments"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:247
msgid "Extra source arguments"
msgstr ""
@@ -303,336 +325,327 @@ msgstr "防火牆"
msgid "Firewall - Custom Rules"
msgstr "防火牆 - 自訂規則"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
msgid "Firewall - NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
msgid "Firewall - Port Forwards"
msgstr "防火牆 - 埠轉發"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
msgid "Firewall - Traffic Rules"
msgstr "防火牆 - 通訊規則"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
msgid "Firewall - Zone Settings"
msgstr "防火牆 - 區域設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:643
+msgid "Firewall configuration migration"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:125
msgid "Forward"
msgstr "轉發"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
-msgid "Forward to"
-msgstr "轉發到"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
msgid "Friday"
msgstr "星期五"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "來自 %s 位於 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "來自 %s 位於 %s 源於 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "來自 %s 位於 %s 源埠 %s 源 MAC %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "來自 %s 位於<var>本裝置</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "來自 %s 位於<var>本裝置</var>源於 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "來自 %s 位於<var>本裝置</var>源埠 %s 源 MAC %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
-msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:180
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:85
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
msgid "General Settings"
msgstr "基本設定"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:73
msgid "Hardware flow offloading"
msgstr "硬體流量分載"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "IP 範圍"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:271
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:200
msgid "IPv4 and IPv6"
msgstr "IPv4 和 IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
msgid "IPv4 only"
msgstr "僅 IPv4"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
msgid "IPv6 only"
msgstr "僅 IPv6"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
msgid "Inbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
msgid "Input"
msgstr "入站資料"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
msgid "Internal IP address"
msgstr "內部 IP 位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:238
msgid "Internal port"
msgstr "內部埠"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:227
msgid "Internal zone"
msgstr "內部區域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
msgid "Invalid DSCP mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
msgid "Invalid limit value"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
msgid "Limit burst"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:235
msgid "Limit log messages"
msgstr "限制日誌資訊"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
msgid "Limit matching"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:402
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
msgid "Limits traffic matching to the specified rate."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid "Loopback source IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:142
msgid "MSS clamping"
msgstr "MSS 鉗制"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:139
msgid "Masquerading"
msgstr "IP 動態偽裝"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:217
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:146
msgid "Match"
msgstr "匹配規則"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
-msgid ""
-"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
-"with firewall mark %{mark}} %{limit?limited to %{limit}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
msgid "Match DSCP"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:284
msgid "Match ICMP type"
msgstr "匹配 ICMP 型別"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
msgid "Match device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
msgid "Match forwarded traffic directed at the given IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
msgid ""
"Match forwarded traffic directed at the given destination port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
msgid "Match forwarded traffic from this IP or range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:228
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
msgid ""
"Match forwarded traffic originating from the given source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
msgid ""
"Match incoming traffic directed at the given destination port or port range "
"on this host"
msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:398
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
msgid "Matches a specific firewall mark or a range of different marks."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
msgid "Matches forwarded traffic using the specified outbound network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
msgid "Matches traffic carrying the specified DSCP marking."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
msgid ""
"Maximum initial number of packets to match: this number gets recharged by "
"one every time the limit specified above is not reached, up to this number."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
msgid "Monday"
msgstr "星期一"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:466
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:441
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
msgid "Month Days"
msgstr "日期"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:129
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
msgid "NAT Rules"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
msgid ""
"NAT rules allow fine grained control over the source IP to use for outbound "
"or forwarded traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:213
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:142
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:101
msgid "Name"
msgstr "名字"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
msgid "Only match incoming traffic directed at the given IP address."
msgstr "僅匹配指定目的 IP 位址的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
msgid "Only match incoming traffic from these MACs."
msgstr "僅匹配來自這些 MAC 的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
msgid "Only match incoming traffic from this IP or range."
msgstr "僅匹配來自此 IP 或 IP 範圍的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
msgid ""
"Only match incoming traffic originating from the given source port or port "
"range on the client host"
msgstr "僅匹配源自客戶端主機上給定源埠或源埠範圍的入站流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
msgid "Outbound device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
msgid "Outbound zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:124
msgid "Output"
msgstr "出站資料"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:307
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:447
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:321
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
msgid "Passes additional arguments to iptables. Use with care!"
msgstr "傳遞到 iptables 的額外引數。小心使用!"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
msgid ""
"Passing raw iptables arguments to source and destination traffic "
"classification rules allows to match packets based on other criteria than "
@@ -641,190 +654,172 @@ msgid ""
"all services."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:131
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
msgid "Port Forwards"
msgstr "埠轉發"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr "埠轉發允許 Internet 上的遠端計算機連線到內部網路中的特定計算機或服務。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:280
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:168
msgid "Protocol"
msgstr "協議"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
msgid ""
"Redirect matched incoming traffic to the given port on the internal host"
msgstr "重定向匹配的入站流量到內部主機的埠"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "重定向匹配的入站流量到指定的內部主機"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "拒絕轉發"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "拒絕入站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "拒絕出站"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:74
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "需要硬體 NAT 支援。目前 mt7621 已實現"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:212
msgid "Restrict Masquerading to given destination subnets"
msgstr "要限制 IP 動態偽裝的目標子網"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:205
msgid "Restrict Masquerading to given source subnets"
msgstr "要限制 IP 動態偽裝的源子網"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:199
msgid "Restrict to address family"
msgstr "限制位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
msgid "Rewrite IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
msgid "Rewrite matched traffic to the specified source IP address."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:300
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
msgid "Rewrite matched traffic to the specified source port or port range."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:229
msgid "Rewrite port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
-msgid "Rewrite to"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:116
-msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:122
-msgid "Rewrite to outbound device IP"
-msgstr ""
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
msgid "Routing/NAT Offloading"
msgstr "Routing/NAT 分載"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:210
msgid "SNAT - Rewrite to specific source IP or port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
msgid "Saturday"
msgstr "星期六"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "Set mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
msgid ""
"Set the given mark value on established connections. Format is value[/mask]. "
"If a mask is specified then only those bits set in the mask are modified."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
msgid "Software based offloading for routing/NAT"
msgstr "基於軟體的 Routing/NAT 分載"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
msgid "Software flow offloading"
msgstr "軟體流量分載"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
msgid "Source IP address"
msgstr "源 IP 位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:338
msgid "Source MAC address"
msgstr "源 MAC 位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:179
msgid "Source address"
msgstr "源位址"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:184
msgid "Source port"
msgstr "源埠"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:332
msgid "Source zone"
msgstr "源區域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
msgid ""
"Specifies whether to tie this traffic rule to a specific inbound or outbound "
"network device."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
msgid ""
"Specifies whether to use the external or the internal IP address for "
"reflected traffic."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:485
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
msgid "Start Date (yyyy-mm-dd)"
msgstr "開始日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:477
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
msgid "Start Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:489
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:464
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:292
msgid "Stop Date (yyyy-mm-dd)"
msgstr "停止日期(yyyy-mm-dd)"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:481
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
msgid "Stop Time (hh.mm.ss)"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:455
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:330
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
msgid "Sunday"
msgstr "星期日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:644
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
msgid ""
"The firewall creates zones over your network interfaces to control network "
"traffic flow."
msgstr "防火牆通過在網路介面上建立區域來控制網路流量。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:185
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
msgid ""
"The options below control the forwarding policies between this zone (%s) and "
"other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -838,7 +833,7 @@ msgstr ""
"strong> 的區域的需轉發流量。轉發規則的作用是<em>單向</em>的,例如:一條允許"
"從 lan 到 wan 的轉發規則並不隱含有允許相反方向從 wan 到 lan 的流量轉發。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:97
msgid ""
"This section defines common properties of %q. The <em>input</em> and "
"<em>output</em> options set the default policies for traffic entering and "
@@ -850,53 +845,57 @@ msgstr ""
"域入站和出站流量的預設策略,<em>轉發</em>選項描述該區域內不同網路之間的流量轉"
"發策略。<em>覆蓋網路</em>指定從屬於這個區域的網路。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:459
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:334
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
msgid "Thursday"
msgstr "星期四"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
msgid "Time Restrictions"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:493
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:468
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:296
msgid "Time in UTC"
msgstr "UTC 時間"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "到 %s 在 %s 位於<var>本裝置</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "到 %s 位於 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "到 %s 位於<var>本裝置</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:87
-msgid "To %s, %s in %s"
-msgstr "到 %s, %s 位於 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:103
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
msgid ""
-"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
-"%{device?egress device %{device}}"
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:416
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
msgid "Tracking helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:175
#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
msgid "Traffic Rules"
msgstr "通訊規則"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
msgid ""
"Traffic rules define policies for packets traveling between different zones, "
"for example to reject traffic between certain hosts or to open WAN ports on "
@@ -905,8 +904,8 @@ msgstr ""
"通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放"
"路由器 WAN 上的埠。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
msgid "Tuesday"
msgstr "星期二"
@@ -914,219 +913,342 @@ msgstr "星期二"
msgid "Unable to save contents: %s"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
msgid "Unnamed NAT"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
msgid "Unnamed forward"
msgstr "未命名轉發"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
msgid "Unnamed rule"
msgstr "未命名規則"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:102
msgid "Unnamed zone"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:645
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
msgid "Use external IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
msgid "Use internal IP address"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:189
msgid ""
"Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
"network devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
msgid ""
"Use this option to classify zone traffic by source or destination subnet "
"instead of networks or devices."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
msgid "Valid firewall mark required"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "通過 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "通過 %s 在 %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:458
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
msgid "Wednesday"
msgstr "星期三"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:450
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:325
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
msgid "Week Days"
msgstr "星期"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
msgid "XOR firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
msgid "XOR mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
msgid "Zone ⇒ Forwardings"
msgstr "區域 ⇒ 轉發"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
msgid "Zones"
msgstr "區域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:55
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
msgid "accept"
msgstr "接受"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:320
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:242
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:289
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:418
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:219
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:232
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:243
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:400
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
msgid "any"
msgstr "所有"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "所有主機"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "所有路由 IP"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
msgid "any zone"
msgstr "所有區域"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:396
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
msgid "apply firewall mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
msgid "assign conntrack helper"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "day"
msgstr "日"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:273
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:303
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:233
msgid "do not rewrite"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
msgid "don't track"
msgstr "不跟蹤"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:130
msgid "drop"
msgstr "丟棄"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "hour"
msgstr "小時"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "minute"
msgstr "分鐘"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "非"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "埠"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "埠"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:129
msgid "reject"
msgstr "拒絕"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
msgid "second"
msgstr "秒"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
-msgid "this new zone"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "型別"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "型別"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:184
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:273
+msgid "this new zone"
+msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:406
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
msgid "unlimited"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:242
msgid "unspecified"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:391
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
msgid "valid firewall mark"
msgstr ""
+#~ msgid "%s in %s"
+#~ msgstr "%s 位於 %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s 和 %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s 位於 %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> 資料包/<var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> 資料包/<var>%s</var>,突發 <var>%d</var> 資料包。"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> 並限制到 %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "接受轉發"
+
+#~ msgid "Accept input"
+#~ msgstr "接受入站"
+
+#~ msgid "Accept output"
+#~ msgstr "接受出站"
+
+#~ msgid "Destination IP address"
+#~ msgstr "目標 IP 位址"
+
+#~ msgid "Discard forward"
+#~ msgstr "丟棄轉發"
+
+#~ msgid "Discard input"
+#~ msgstr "丟棄入站"
+
+#~ msgid "Discard output"
+#~ msgstr "丟棄出站"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "不重寫"
+
+#~ msgid "Do not track forward"
+#~ msgstr "不跟蹤轉發"
+
+#~ msgid "Do not track input"
+#~ msgstr "不跟蹤入站"
+
+#~ msgid "Do not track output"
+#~ msgstr "不跟蹤出站"
+
+#~ msgid "Forward to"
+#~ msgstr "轉發到"
+
+#~ msgid "From %s in %s"
+#~ msgstr "來自 %s 位於 %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "來自 %s 位於 %s 源於 %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "來自 %s 位於 %s 源埠 %s 源 MAC %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "來自 %s 位於<var>本裝置</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "來自 %s 位於<var>本裝置</var>源於 %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "來自 %s 位於<var>本裝置</var>源埠 %s 源 MAC %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "IP 範圍"
+
+#~ msgid "IPs"
+#~ msgstr "IP"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC"
+
+#~ msgid "Refuse forward"
+#~ msgstr "拒絕轉發"
+
+#~ msgid "Refuse input"
+#~ msgstr "拒絕入站"
+
+#~ msgid "Refuse output"
+#~ msgstr "拒絕出站"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "到 %s 在 %s 位於<var>本裝置</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "到 %s 位於 %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "到 %s 位於<var>本裝置</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "到 %s, %s 位於 %s"
+
+#~ msgid "Via %s"
+#~ msgstr "通過 %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "通過 %s 在 %s"
+
+#~ msgid "any host"
+#~ msgstr "所有主機"
+
+#~ msgid "any router IP"
+#~ msgstr "所有路由 IP"
+
+#~ msgid "not"
+#~ msgstr "非"
+
+#~ msgid "port"
+#~ msgstr "埠"
+
+#~ msgid "ports"
+#~ msgstr "埠"
+
+#~ msgid "type"
+#~ msgstr "型別"
+
+#~ msgid "types"
+#~ msgstr "型別"
+
#~ msgid "Force connection tracking"
#~ msgstr "強制連線追蹤"
diff --git a/applications/luci-app-https-dns-proxy/po/de/https-dns-proxy.po b/applications/luci-app-https-dns-proxy/po/de/https-dns-proxy.po
index 1c4230d68d..e480793fbe 100644
--- a/applications/luci-app-https-dns-proxy/po/de/https-dns-proxy.po
+++ b/applications/luci-app-https-dns-proxy/po/de/https-dns-proxy.po
@@ -1,14 +1,14 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2019-12-12 15:06+0000\n"
+"PO-Revision-Date: 2020-01-18 13:41+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
-"luciapplicationshttps_dns_proxy/de/>\n"
+"luciapplicationshttps-dns-proxy/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-https-dns-proxy/luasrc/https-dns-proxy/providers/com.adguard.dns-family.lua:3
msgid "AdGuard (Family Protection)"
@@ -40,7 +40,7 @@ msgstr "DHCP und DNS"
#: applications/luci-app-https-dns-proxy/luasrc/controller/https-dns-proxy.lua:4
msgid "DNS Over HTTPS Proxy"
-msgstr ""
+msgstr "DNS über HTTPS Proxy"
#: applications/luci-app-https-dns-proxy/luasrc/model/cbi/https-dns-proxy.lua:64
msgid "DNS Over HTTPS Proxy Settings"
diff --git a/applications/luci-app-olsr/po/ru/olsr.po b/applications/luci-app-olsr/po/ru/olsr.po
index 316924efec..f78272dd34 100644
--- a/applications/luci-app-olsr/po/ru/olsr.po
+++ b/applications/luci-app-olsr/po/ru/olsr.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: olsr\n"
"POT-Creation-Date: 2013-09-06 09:58+0200\n"
-"PO-Revision-Date: 2020-01-11 18:23+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsolsr/ru/>\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
@@ -912,7 +912,7 @@ msgstr "Вторичные OLSR интерфейсы"
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:56
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:108
msgid "Selected"
-msgstr ""
+msgstr "Выбрано"
#: applications/luci-app-olsr/luasrc/model/cbi/olsr/olsrd.lua:133
msgid ""
@@ -1213,7 +1213,7 @@ msgstr "вниз"
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:30
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:134
msgid "infinite"
-msgstr ""
+msgstr "бесконечно"
#: applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm:40
#: applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm:29
diff --git a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
index 87b50510d2..cce850fe0b 100644
--- a/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
+++ b/applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua
@@ -497,7 +497,7 @@ local knownParams = {
{ DynamicList,
"remote",
"1.2.3.4",
- translate("Remote host name or ip address") },
+ translate("Remote host name or IP address") },
{ Flag,
"remote_random",
0,
diff --git a/applications/luci-app-openvpn/po/bg/openvpn.po b/applications/luci-app-openvpn/po/bg/openvpn.po
index 6bd74e7e23..a312759d57 100644
--- a/applications/luci-app-openvpn/po/bg/openvpn.po
+++ b/applications/luci-app-openvpn/po/bg/openvpn.po
@@ -489,14 +489,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/ca/openvpn.po b/applications/luci-app-openvpn/po/ca/openvpn.po
index 10963a04b0..ac3ed1060f 100644
--- a/applications/luci-app-openvpn/po/ca/openvpn.po
+++ b/applications/luci-app-openvpn/po/ca/openvpn.po
@@ -492,14 +492,11 @@ msgstr "Refusa la connexió si no hi ha configuració de client personalitzada"
msgid "Remap SIGUSR1 signals"
msgstr "Remapeja senyals SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Nom de màquina remot o adreça IP"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Temps d'espera màxim de ping remot"
diff --git a/applications/luci-app-openvpn/po/cs/openvpn.po b/applications/luci-app-openvpn/po/cs/openvpn.po
index d32928f639..8574d47547 100644
--- a/applications/luci-app-openvpn/po/cs/openvpn.po
+++ b/applications/luci-app-openvpn/po/cs/openvpn.po
@@ -498,14 +498,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr "Přemapovat signály SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Název vzdáleného hostitele nebo adresa IP"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Časový limit pingu protistrany"
diff --git a/applications/luci-app-openvpn/po/de/openvpn.po b/applications/luci-app-openvpn/po/de/openvpn.po
index e600a1f74f..148e555120 100644
--- a/applications/luci-app-openvpn/po/de/openvpn.po
+++ b/applications/luci-app-openvpn/po/de/openvpn.po
@@ -500,14 +500,11 @@ msgstr "Teilnehmer-Verbindung verweigern wenn Teilnehmer-Konfiguration fehlt"
msgid "Remap SIGUSR1 signals"
msgstr "\"USR1\" Systemsignal umleiten"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Entfernter Rechnername oder IP-Adresse"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Ping-Timeout für Gegenstellen"
diff --git a/applications/luci-app-openvpn/po/el/openvpn.po b/applications/luci-app-openvpn/po/el/openvpn.po
index 3e82797ec4..1ae5fa2b1d 100644
--- a/applications/luci-app-openvpn/po/el/openvpn.po
+++ b/applications/luci-app-openvpn/po/el/openvpn.po
@@ -491,14 +491,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Όνομα απομακρυσμένου μηχανήματος ή διεύθυνση IP"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/en/openvpn.po b/applications/luci-app-openvpn/po/en/openvpn.po
index 2ce6521b85..0dcb31b44c 100644
--- a/applications/luci-app-openvpn/po/en/openvpn.po
+++ b/applications/luci-app-openvpn/po/en/openvpn.po
@@ -489,14 +489,11 @@ msgstr "Refuse connection if no custom client config"
msgid "Remap SIGUSR1 signals"
msgstr "Remap SIGUSR1 signals"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Remote host name or IP address"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Remote ping timeout"
diff --git a/applications/luci-app-openvpn/po/es/openvpn.po b/applications/luci-app-openvpn/po/es/openvpn.po
index 48919afa36..7627f30cd9 100644
--- a/applications/luci-app-openvpn/po/es/openvpn.po
+++ b/applications/luci-app-openvpn/po/es/openvpn.po
@@ -499,14 +499,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr "Redirigir señales SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Nombre de máquina remota o dirección IP"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr "Nombre de host remoto o dirección IP"
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Tiempo de espera de ping remoto"
@@ -849,5 +846,8 @@ msgstr "Espera de inactividad tun/tap"
msgid "yes (%i)"
msgstr "sí (%i)"
+#~ msgid "Remote host name or ip address"
+#~ msgstr "Nombre de host remoto o dirección IP"
+
#~ msgid "Invalid"
#~ msgstr "No válido"
diff --git a/applications/luci-app-openvpn/po/fr/openvpn.po b/applications/luci-app-openvpn/po/fr/openvpn.po
index 1c6a5958bc..6e65364942 100644
--- a/applications/luci-app-openvpn/po/fr/openvpn.po
+++ b/applications/luci-app-openvpn/po/fr/openvpn.po
@@ -512,14 +512,11 @@ msgstr "Refuser la connexion en l'absence de config client spécifique"
msgid "Remap SIGUSR1 signals"
msgstr "Rediriger les signaux SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Nom ou adresse IP de l'hôte distant"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Délai de ping du distant"
diff --git a/applications/luci-app-openvpn/po/he/openvpn.po b/applications/luci-app-openvpn/po/he/openvpn.po
index d8987eae66..989fe1971c 100644
--- a/applications/luci-app-openvpn/po/he/openvpn.po
+++ b/applications/luci-app-openvpn/po/he/openvpn.po
@@ -484,14 +484,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/hi/openvpn.po b/applications/luci-app-openvpn/po/hi/openvpn.po
index 24569feda2..81f083a4b4 100644
--- a/applications/luci-app-openvpn/po/hi/openvpn.po
+++ b/applications/luci-app-openvpn/po/hi/openvpn.po
@@ -489,14 +489,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/hu/openvpn.po b/applications/luci-app-openvpn/po/hu/openvpn.po
index b0a6abcc63..c6c823e35e 100644
--- a/applications/luci-app-openvpn/po/hu/openvpn.po
+++ b/applications/luci-app-openvpn/po/hu/openvpn.po
@@ -501,14 +501,11 @@ msgstr "Kapcsolat visszautasítása, ha nincs egyéni ügyfélbeállítás"
msgid "Remap SIGUSR1 signals"
msgstr "SIGUSR1 szignálok újraleképezése"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Távoli gépnév vagy IP-cím"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Távoli ping időkorlátja"
diff --git a/applications/luci-app-openvpn/po/it/openvpn.po b/applications/luci-app-openvpn/po/it/openvpn.po
index 996aa09539..fe6e1fcacc 100644
--- a/applications/luci-app-openvpn/po/it/openvpn.po
+++ b/applications/luci-app-openvpn/po/it/openvpn.po
@@ -491,14 +491,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/ja/openvpn.po b/applications/luci-app-openvpn/po/ja/openvpn.po
index 3c2cf13a5e..1fd6581320 100644
--- a/applications/luci-app-openvpn/po/ja/openvpn.po
+++ b/applications/luci-app-openvpn/po/ja/openvpn.po
@@ -488,14 +488,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/ko/openvpn.po b/applications/luci-app-openvpn/po/ko/openvpn.po
index 9a5abedf0b..c40bedd5b1 100644
--- a/applications/luci-app-openvpn/po/ko/openvpn.po
+++ b/applications/luci-app-openvpn/po/ko/openvpn.po
@@ -489,14 +489,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/mr/openvpn.po b/applications/luci-app-openvpn/po/mr/openvpn.po
index 78efd23b18..522f646789 100644
--- a/applications/luci-app-openvpn/po/mr/openvpn.po
+++ b/applications/luci-app-openvpn/po/mr/openvpn.po
@@ -489,14 +489,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/ms/openvpn.po b/applications/luci-app-openvpn/po/ms/openvpn.po
index 9b1ae7e5b7..6fb05b158a 100644
--- a/applications/luci-app-openvpn/po/ms/openvpn.po
+++ b/applications/luci-app-openvpn/po/ms/openvpn.po
@@ -487,14 +487,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/no/openvpn.po b/applications/luci-app-openvpn/po/no/openvpn.po
index eb428abe3c..1caccaccc6 100644
--- a/applications/luci-app-openvpn/po/no/openvpn.po
+++ b/applications/luci-app-openvpn/po/no/openvpn.po
@@ -487,14 +487,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/pl/openvpn.po b/applications/luci-app-openvpn/po/pl/openvpn.po
index 055727a9ce..82957cefa2 100644
--- a/applications/luci-app-openvpn/po/pl/openvpn.po
+++ b/applications/luci-app-openvpn/po/pl/openvpn.po
@@ -499,14 +499,11 @@ msgstr "Odmów połączenie gdy nie standardowy klient konfiguracja"
msgid "Remap SIGUSR1 signals"
msgstr "Przemapuj SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Nazwa lub IP zdalnego hosta"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr "Zdalna nazwa hosta lub adres IP"
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Limit czasu zdalnego pingowania"
@@ -849,5 +846,8 @@ msgstr "czas bezczynności tun/tap"
msgid "yes (%i)"
msgstr "tak (%i)"
+#~ msgid "Remote host name or ip address"
+#~ msgstr "Zdalna nazwa hosta lub adres IP"
+
#~ msgid "Invalid"
#~ msgstr "Nieprawidłowe"
diff --git a/applications/luci-app-openvpn/po/pt-br/openvpn.po b/applications/luci-app-openvpn/po/pt-br/openvpn.po
index 0ee8159680..0135395aa3 100644
--- a/applications/luci-app-openvpn/po/pt-br/openvpn.po
+++ b/applications/luci-app-openvpn/po/pt-br/openvpn.po
@@ -497,14 +497,11 @@ msgstr "Recusar conexões de clientes que não tenham configuração personaliza
msgid "Remap SIGUSR1 signals"
msgstr "Remapear os sinais SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Nome do equipamento ou endereço IP remoto"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Tempo limite do ping remoto"
diff --git a/applications/luci-app-openvpn/po/pt/openvpn.po b/applications/luci-app-openvpn/po/pt/openvpn.po
index a539f90d2f..cecced396a 100644
--- a/applications/luci-app-openvpn/po/pt/openvpn.po
+++ b/applications/luci-app-openvpn/po/pt/openvpn.po
@@ -501,14 +501,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr "Mapear os sinais SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Hostname ou endereço IP remoto"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr "Hostname ou endereço IP remoto"
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Timeout do ping remoto"
@@ -850,5 +847,8 @@ msgstr "Timeout de inactividade tun/tap"
msgid "yes (%i)"
msgstr "sim (%i)"
+#~ msgid "Remote host name or ip address"
+#~ msgstr "Hostname ou endereço IP remoto"
+
#~ msgid "Invalid"
#~ msgstr "Inválido"
diff --git a/applications/luci-app-openvpn/po/ro/openvpn.po b/applications/luci-app-openvpn/po/ro/openvpn.po
index 909524b1d7..cf965089e4 100644
--- a/applications/luci-app-openvpn/po/ro/openvpn.po
+++ b/applications/luci-app-openvpn/po/ro/openvpn.po
@@ -488,14 +488,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/ru/openvpn.po b/applications/luci-app-openvpn/po/ru/openvpn.po
index cd0c7b50bd..64a65ffb45 100644
--- a/applications/luci-app-openvpn/po/ru/openvpn.po
+++ b/applications/luci-app-openvpn/po/ru/openvpn.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: openvpn\n"
"POT-Creation-Date: 2013-09-06 10:01+0200\n"
-"PO-Revision-Date: 2020-01-11 18:22+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsopenvpn/ru/>\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
@@ -547,14 +547,11 @@ msgstr ""
"Управление внутренними или внешними сигналами генерируемыми 'SIGUSR1' и "
"переназначаемыми 'SIGHUP'"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Имя удалённого хоста или IP-адрес"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "Время ожидания удаленного пинг-запроса"
@@ -799,7 +796,7 @@ msgstr "Номер удалённого TCP/UDP порта (1194 по умолч
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:709
msgid "TLS 1.3 or newer cipher"
-msgstr ""
+msgstr "Шифр TLS 1.3 или выше"
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:701
msgid "TLS cipher"
diff --git a/applications/luci-app-openvpn/po/sk/openvpn.po b/applications/luci-app-openvpn/po/sk/openvpn.po
index b01a9ce7ba..11c5d3cad9 100644
--- a/applications/luci-app-openvpn/po/sk/openvpn.po
+++ b/applications/luci-app-openvpn/po/sk/openvpn.po
@@ -487,14 +487,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/sv/openvpn.po b/applications/luci-app-openvpn/po/sv/openvpn.po
index 830ef7bba9..ef2995dedb 100644
--- a/applications/luci-app-openvpn/po/sv/openvpn.po
+++ b/applications/luci-app-openvpn/po/sv/openvpn.po
@@ -487,14 +487,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/templates/openvpn.pot b/applications/luci-app-openvpn/po/templates/openvpn.pot
index ffed3556ae..f55873927a 100644
--- a/applications/luci-app-openvpn/po/templates/openvpn.pot
+++ b/applications/luci-app-openvpn/po/templates/openvpn.pot
@@ -476,14 +476,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/tr/openvpn.po b/applications/luci-app-openvpn/po/tr/openvpn.po
index 44c4c522af..0ef8aae192 100644
--- a/applications/luci-app-openvpn/po/tr/openvpn.po
+++ b/applications/luci-app-openvpn/po/tr/openvpn.po
@@ -487,14 +487,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/uk/openvpn.po b/applications/luci-app-openvpn/po/uk/openvpn.po
index 22a36087ea..ca6fc71c99 100644
--- a/applications/luci-app-openvpn/po/uk/openvpn.po
+++ b/applications/luci-app-openvpn/po/uk/openvpn.po
@@ -488,14 +488,11 @@ msgstr ""
msgid "Remap SIGUSR1 signals"
msgstr ""
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr ""
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr ""
diff --git a/applications/luci-app-openvpn/po/vi/openvpn.po b/applications/luci-app-openvpn/po/vi/openvpn.po
index 367edf79a6..a256895911 100644
--- a/applications/luci-app-openvpn/po/vi/openvpn.po
+++ b/applications/luci-app-openvpn/po/vi/openvpn.po
@@ -491,14 +491,11 @@ msgstr "Từ chối kết nối nêu không có config đối tượng tùy ch
msgid "Remap SIGUSR1 signals"
msgstr "Remap tín hiệu SIGUSR1"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "Tên host ngoài vùng và địa chỉ IP"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "PING timeout từ xa"
diff --git a/applications/luci-app-openvpn/po/zh-cn/openvpn.po b/applications/luci-app-openvpn/po/zh-cn/openvpn.po
index bd0aa22837..0e62074e81 100644
--- a/applications/luci-app-openvpn/po/zh-cn/openvpn.po
+++ b/applications/luci-app-openvpn/po/zh-cn/openvpn.po
@@ -493,14 +493,11 @@ msgstr "拒接没有自定义客户端配置的连接"
msgid "Remap SIGUSR1 signals"
msgstr "重映射 SIGUSR1 信号"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "远程主机名或 IP 地址"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "远程 ping 超时"
diff --git a/applications/luci-app-openvpn/po/zh-tw/openvpn.po b/applications/luci-app-openvpn/po/zh-tw/openvpn.po
index 39585f32af..0fea9ec928 100644
--- a/applications/luci-app-openvpn/po/zh-tw/openvpn.po
+++ b/applications/luci-app-openvpn/po/zh-tw/openvpn.po
@@ -492,14 +492,11 @@ msgstr "拒接沒有自訂客戶端配置的連線"
msgid "Remap SIGUSR1 signals"
msgstr "重對映 SIGUSR1 訊號"
+#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-basic.lua:61
msgid "Remote host name or IP address"
msgstr "遠端主機名或 IP 位址"
-#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:500
-msgid "Remote host name or ip address"
-msgstr ""
-
#: applications/luci-app-openvpn/luasrc/model/cbi/openvpn-advanced.lua:315
msgid "Remote ping timeout"
msgstr "遠端 ping 超時"
diff --git a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua
index b352bb46aa..19a7f0c753 100644
--- a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua
+++ b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua
@@ -152,7 +152,7 @@ pass.formvalue = function(self, section)
end
else
-local pass = s:option(Value, "password", translate("Encrypted Password"), translate("Generate this field using an generator for Apache htpasswd-style authentication files (for the hash format you have chosen above), or install python3-passlib to enable the ability to create the hash by entering the plaintext in a field that will appear on this page if python3-passlib is installed."))
+local pass = s:option(Value, "password", translate("Encrypted Password"), translate("Generate this field using a generator for Apache htpasswd-style authentication files (for the hash format you have chosen above), or install python3-passlib to enable the ability to create the hash by entering the plaintext in a field that will appear on this page if python3-passlib is installed."))
pass.password = true
pass.rmempty = false
diff --git a/applications/luci-app-radicale2/po/bg/radicale2.po b/applications/luci-app-radicale2/po/bg/radicale2.po
index b9b91cd7f8..635ee6823a 100644
--- a/applications/luci-app-radicale2/po/bg/radicale2.po
+++ b/applications/luci-app-radicale2/po/bg/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/ca/radicale2.po b/applications/luci-app-radicale2/po/ca/radicale2.po
index e9001159ad..fb1a53a9d7 100644
--- a/applications/luci-app-radicale2/po/ca/radicale2.po
+++ b/applications/luci-app-radicale2/po/ca/radicale2.po
@@ -146,7 +146,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/cs/radicale2.po b/applications/luci-app-radicale2/po/cs/radicale2.po
index 5ba5e1ab3f..36441e8c1b 100644
--- a/applications/luci-app-radicale2/po/cs/radicale2.po
+++ b/applications/luci-app-radicale2/po/cs/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Obecné nastavení"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/de/radicale2.po b/applications/luci-app-radicale2/po/de/radicale2.po
index 7ad8d87445..3530d12ba0 100644
--- a/applications/luci-app-radicale2/po/de/radicale2.po
+++ b/applications/luci-app-radicale2/po/de/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Allgemeine Einstellungen"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/el/radicale2.po b/applications/luci-app-radicale2/po/el/radicale2.po
index b94bcea242..8bcf0daa64 100644
--- a/applications/luci-app-radicale2/po/el/radicale2.po
+++ b/applications/luci-app-radicale2/po/el/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/en/radicale2.po b/applications/luci-app-radicale2/po/en/radicale2.po
index fa7d88559d..3f873944c1 100644
--- a/applications/luci-app-radicale2/po/en/radicale2.po
+++ b/applications/luci-app-radicale2/po/en/radicale2.po
@@ -144,13 +144,13 @@ msgstr "General Settings"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
"installed."
msgstr ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/es/radicale2.po b/applications/luci-app-radicale2/po/es/radicale2.po
index 5e9ad45155..1bf8e437f9 100644
--- a/applications/luci-app-radicale2/po/es/radicale2.po
+++ b/applications/luci-app-radicale2/po/es/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Configuración general"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/fr/radicale2.po b/applications/luci-app-radicale2/po/fr/radicale2.po
index a6c1ecc979..8709a5e511 100644
--- a/applications/luci-app-radicale2/po/fr/radicale2.po
+++ b/applications/luci-app-radicale2/po/fr/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Paramètres généraux"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/he/radicale2.po b/applications/luci-app-radicale2/po/he/radicale2.po
index 97296358c7..1b93b97e62 100644
--- a/applications/luci-app-radicale2/po/he/radicale2.po
+++ b/applications/luci-app-radicale2/po/he/radicale2.po
@@ -145,7 +145,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/hi/radicale2.po b/applications/luci-app-radicale2/po/hi/radicale2.po
index 6cebed1255..7eea5d7544 100644
--- a/applications/luci-app-radicale2/po/hi/radicale2.po
+++ b/applications/luci-app-radicale2/po/hi/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/hu/radicale2.po b/applications/luci-app-radicale2/po/hu/radicale2.po
index 14df3e1ffd..c27e828c3e 100644
--- a/applications/luci-app-radicale2/po/hu/radicale2.po
+++ b/applications/luci-app-radicale2/po/hu/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Általános beállítások"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/it/radicale2.po b/applications/luci-app-radicale2/po/it/radicale2.po
index 39c3c9faaa..7ee59b78b4 100644
--- a/applications/luci-app-radicale2/po/it/radicale2.po
+++ b/applications/luci-app-radicale2/po/it/radicale2.po
@@ -146,7 +146,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/ja/radicale2.po b/applications/luci-app-radicale2/po/ja/radicale2.po
index 8079b6115e..2245adf0ef 100644
--- a/applications/luci-app-radicale2/po/ja/radicale2.po
+++ b/applications/luci-app-radicale2/po/ja/radicale2.po
@@ -146,7 +146,7 @@ msgstr "一般設定"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/ko/radicale2.po b/applications/luci-app-radicale2/po/ko/radicale2.po
index 191b4be6e6..708944e43d 100644
--- a/applications/luci-app-radicale2/po/ko/radicale2.po
+++ b/applications/luci-app-radicale2/po/ko/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/mr/radicale2.po b/applications/luci-app-radicale2/po/mr/radicale2.po
index 28d00e90a5..48ba574210 100644
--- a/applications/luci-app-radicale2/po/mr/radicale2.po
+++ b/applications/luci-app-radicale2/po/mr/radicale2.po
@@ -146,7 +146,7 @@ msgstr "सामान्य सेटिंग्ज"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/ms/radicale2.po b/applications/luci-app-radicale2/po/ms/radicale2.po
index 36fc3ed31f..622fa6409d 100644
--- a/applications/luci-app-radicale2/po/ms/radicale2.po
+++ b/applications/luci-app-radicale2/po/ms/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/nb_NO/radicale2.po b/applications/luci-app-radicale2/po/nb_NO/radicale2.po
index a0a56a692c..20d4985c88 100644
--- a/applications/luci-app-radicale2/po/nb_NO/radicale2.po
+++ b/applications/luci-app-radicale2/po/nb_NO/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/pl/radicale2.po b/applications/luci-app-radicale2/po/pl/radicale2.po
index 40348aca5b..d75c2364c1 100644
--- a/applications/luci-app-radicale2/po/pl/radicale2.po
+++ b/applications/luci-app-radicale2/po/pl/radicale2.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: luci-app-radicale 2\n"
-"PO-Revision-Date: 2020-01-16 21:23+0000\n"
+"PO-Revision-Date: 2020-01-19 06:04+0000\n"
"Last-Translator: Marcin Net <marcin.net@linux.pl>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsradicale2/pl/>\n"
@@ -11,7 +11,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.2-dev\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:8
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/logging.lua:4
@@ -147,7 +147,7 @@ msgstr "Ustawienia główne"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
@@ -250,9 +250,8 @@ msgid "Maximum number of simultaneous connections"
msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/server.lua:42
-#, fuzzy
msgid "Maximum size of request body (bytes)"
-msgstr "Maksymalny rozmiar treści zapytania (w bajtach)"
+msgstr "Maksymalny rozmiar treści żądania (bajty)"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/storage.lua:15
msgid "Multiple files on filesystem"
diff --git a/applications/luci-app-radicale2/po/pt/radicale2.po b/applications/luci-app-radicale2/po/pt/radicale2.po
index a55ce156a6..1fe158265f 100644
--- a/applications/luci-app-radicale2/po/pt/radicale2.po
+++ b/applications/luci-app-radicale2/po/pt/radicale2.po
@@ -147,7 +147,7 @@ msgstr "Configurações Gerais"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/pt_BR/radicale2.po b/applications/luci-app-radicale2/po/pt_BR/radicale2.po
index 9661d127c2..3de318731a 100644
--- a/applications/luci-app-radicale2/po/pt_BR/radicale2.po
+++ b/applications/luci-app-radicale2/po/pt_BR/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Configurações Gerais"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/ro/radicale2.po b/applications/luci-app-radicale2/po/ro/radicale2.po
index 66bc69bc29..680c82d84c 100644
--- a/applications/luci-app-radicale2/po/ro/radicale2.po
+++ b/applications/luci-app-radicale2/po/ro/radicale2.po
@@ -147,7 +147,7 @@ msgstr "Setări principale"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/ru/radicale2.po b/applications/luci-app-radicale2/po/ru/radicale2.po
index 2ad745208a..d3b9377ef9 100644
--- a/applications/luci-app-radicale2/po/ru/radicale2.po
+++ b/applications/luci-app-radicale2/po/ru/radicale2.po
@@ -147,7 +147,7 @@ msgstr "Основные настройки"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/sk/radicale2.po b/applications/luci-app-radicale2/po/sk/radicale2.po
index c12dbf0790..b9f8bb6cf6 100644
--- a/applications/luci-app-radicale2/po/sk/radicale2.po
+++ b/applications/luci-app-radicale2/po/sk/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/sv/radicale2.po b/applications/luci-app-radicale2/po/sv/radicale2.po
index 13df0699b4..5e94a70885 100644
--- a/applications/luci-app-radicale2/po/sv/radicale2.po
+++ b/applications/luci-app-radicale2/po/sv/radicale2.po
@@ -146,7 +146,7 @@ msgstr "Generella inställningar"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/templates/radicale2.pot b/applications/luci-app-radicale2/po/templates/radicale2.pot
index 40789b0ca0..f6f3d1254c 100644
--- a/applications/luci-app-radicale2/po/templates/radicale2.pot
+++ b/applications/luci-app-radicale2/po/templates/radicale2.pot
@@ -135,7 +135,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/tr/radicale2.po b/applications/luci-app-radicale2/po/tr/radicale2.po
index 371aa15b2c..a4ae34ef01 100644
--- a/applications/luci-app-radicale2/po/tr/radicale2.po
+++ b/applications/luci-app-radicale2/po/tr/radicale2.po
@@ -146,7 +146,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/uk/radicale2.po b/applications/luci-app-radicale2/po/uk/radicale2.po
index 41f8770cf9..0f95583110 100644
--- a/applications/luci-app-radicale2/po/uk/radicale2.po
+++ b/applications/luci-app-radicale2/po/uk/radicale2.po
@@ -147,7 +147,7 @@ msgstr "Загальні параметри"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/vi/radicale2.po b/applications/luci-app-radicale2/po/vi/radicale2.po
index 3237023390..01995c493d 100644
--- a/applications/luci-app-radicale2/po/vi/radicale2.po
+++ b/applications/luci-app-radicale2/po/vi/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/zh-cn/radicale2.po b/applications/luci-app-radicale2/po/zh-cn/radicale2.po
index ff8a1918ef..b09c9fc681 100644
--- a/applications/luci-app-radicale2/po/zh-cn/radicale2.po
+++ b/applications/luci-app-radicale2/po/zh-cn/radicale2.po
@@ -146,7 +146,7 @@ msgstr "基本设置"
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-radicale2/po/zh-tw/radicale2.po b/applications/luci-app-radicale2/po/zh-tw/radicale2.po
index 083bc94d24..cc1bda1adb 100644
--- a/applications/luci-app-radicale2/po/zh-tw/radicale2.po
+++ b/applications/luci-app-radicale2/po/zh-tw/radicale2.po
@@ -144,7 +144,7 @@ msgstr ""
#: applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua:155
msgid ""
-"Generate this field using an generator for Apache htpasswd-style "
+"Generate this field using a generator for Apache htpasswd-style "
"authentication files (for the hash format you have chosen above), or install "
"python3-passlib to enable the ability to create the hash by entering the "
"plaintext in a field that will appear on this page if python3-passlib is "
diff --git a/applications/luci-app-samba/po/ru/samba.po b/applications/luci-app-samba/po/ru/samba.po
index 65c029cee1..9bd1b9ddbe 100644
--- a/applications/luci-app-samba/po/ru/samba.po
+++ b/applications/luci-app-samba/po/ru/samba.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: samba\n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2020-01-13 14:26+0000\n"
-"Last-Translator: Nazym Bavbekov <joker2000joker@list.ru>\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
+"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssamba/ru/>\n"
"Language: ru\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
@@ -24,7 +24,7 @@ msgstr "Разрешить гостевой вход"
msgid "Allow system users to reach their home directories via network shares"
msgstr ""
"Разрешить пользователям получать доступ к их домашним папкам, через "
-"локальную сеть."
+"локальную сеть"
#: applications/luci-app-samba/luasrc/model/cbi/samba.lua:51
msgid "Allowed users"
@@ -51,9 +51,10 @@ msgid "Edit Template"
msgstr "Настройка шаблона"
#: applications/luci-app-samba/luasrc/model/cbi/samba.lua:22
-#, fuzzy
msgid "Edit the template that is used for generating the samba configuration."
-msgstr "Настройка config<br />файла samba"
+msgstr ""
+"Редактирование шаблона, который используется для генерации конфигурации "
+"Samba."
#: applications/luci-app-samba/luasrc/model/cbi/samba.lua:10
msgid "General Settings"
diff --git a/applications/luci-app-samba4/po/ru/samba4.po b/applications/luci-app-samba4/po/ru/samba4.po
index 1e6d76f067..b675cca314 100644
--- a/applications/luci-app-samba4/po/ru/samba4.po
+++ b/applications/luci-app-samba4/po/ru/samba4.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: samba\n"
"POT-Creation-Date: 2009-05-19 19:36+0200\n"
-"PO-Revision-Date: 2020-01-13 14:26+0000\n"
-"Last-Translator: Nazym Bavbekov <joker2000joker@list.ru>\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
+"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssamba4/ru/>\n"
"Language: ru\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
@@ -61,9 +61,10 @@ msgid "Edit Template"
msgstr "Настройка шаблона"
#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:58
-#, fuzzy
msgid "Edit the template that is used for generating the samba configuration."
-msgstr "Настройка config<br />файла samba"
+msgstr ""
+"Редактирование шаблона, который используется для генерации конфигурации "
+"Samba."
#: applications/luci-app-samba4/htdocs/luci-static/resources/view/samba4.js:44
msgid "Enable macOS compatible shares"
diff --git a/applications/luci-app-simple-adblock/po/ru/simple-adblock.po b/applications/luci-app-simple-adblock/po/ru/simple-adblock.po
index a8ef188f43..2d4a63e082 100644
--- a/applications/luci-app-simple-adblock/po/ru/simple-adblock.po
+++ b/applications/luci-app-simple-adblock/po/ru/simple-adblock.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: simple-adblock\n"
"POT-Creation-Date: 2017-12-07 14:00+0300\n"
-"PO-Revision-Date: 2020-01-11 18:23+0000\n"
-"Last-Translator: Khomyak-sibiryak <owalski@protonmail.com>\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
+"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationssimple-adblock/ru/>\n"
"Language: ru\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
@@ -200,7 +200,7 @@ msgstr ""
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:187
msgid "README"
-msgstr ""
+msgstr "Описание"
#: applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua:125
msgid "Reload"
diff --git a/applications/luci-app-transmission/Makefile b/applications/luci-app-transmission/Makefile
index 1a1166f2d5..668c73185b 100644
--- a/applications/luci-app-transmission/Makefile
+++ b/applications/luci-app-transmission/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
LUCI_TITLE:=LuCI Support for Transmission
-LUCI_DEPENDS:=+luci-compat +luci-lib-ipkg
+LUCI_DEPENDS:=
include ../../luci.mk
diff --git a/applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js b/applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js
new file mode 100644
index 0000000000..dfbd9af6cb
--- /dev/null
+++ b/applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js
@@ -0,0 +1,303 @@
+'use strict';
+'require fs';
+'require uci';
+'require rpc';
+'require form';
+'require tools.widgets as widgets';
+
+var callServiceList = rpc.declare({
+ object: 'service',
+ method: 'list',
+ params: [ 'name' ],
+ expect: { '': {} }
+});
+
+function setFlagBool(o) {
+ o.enabled = 'true';
+ o.disabled = 'false';
+}
+
+return L.view.extend({
+ load: function() {
+ return Promise.all([
+ L.resolveDefault(callServiceList('transmission')),
+ L.resolveDefault(fs.stat('/usr/share/transmission/web/index.html')),
+ uci.load('transmission')
+ ]);
+ },
+ render: function(res) {
+ var port = uci.get_first('transmission', 'transmission', 'rpc_port') || '9091';
+
+ var instances = {};
+ try {
+ instances = res[0]['transmission']['instances'];
+ } catch (e) {}
+ var running = instances.length > 0;
+
+ var webinstalled = res[1] || !!uci.get_first('transmission', 'transmission', 'web_home');
+
+ var button = '';
+ if (running && webinstalled)
+ button = '&nbsp;<a class="btn" href="http://' + window.location.hostname + ':' + port + '" target="_blank" rel="noreferrer noopener">' + _('Open Web Interface') + '</a>';
+
+ var m, s, o;
+
+ m = new form.Map('transmission', 'Transmission', _('Transmission daemon is a simple bittorrent client, here you can configure the settings.') + button);
+
+ s = m.section(form.TypedSection, 'transmission', _('Global settings'));
+ s.anonymous = true;
+
+ o = s.option(form.Flag, 'enabled', _('Enabled'));
+ o.rmempty = false;
+
+ o = s.option(form.Value, 'config_dir', _('Config file directory'));
+ o = s.option(widgets.UserSelect, 'user', _('Run daemon as user'));
+ o = s.option(widgets.GroupSelect, 'group', _('Run daemon as group'));
+ o = s.option(form.Value, 'web_home', _('Custom Web UI directory'));
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Bandwidth settings'));
+ s.anonymous = true;
+
+ o = s.option(form.Flag, 'alt_speed_enabled', _('Alternative speed enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'alt_speed_up', _('Alternative upload speed'), 'KB/s');
+ o.depends('alt_speed_enabled', 'true');
+
+ o = s.option(form.Value, 'alt_speed_down', _('Alternative download speed'), 'KB/s');
+ o.depends('alt_speed_enabled', 'true');
+
+ o = s.option(form.Flag, 'speed_limit_down_enabled', _('Speed limit down enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'speed_limit_down', _('Speed limit down'), 'KB/s');
+ o.depends('speed_limit_down_enabled', 'true');
+
+ o = s.option(form.Flag, 'speed_limit_up_enabled', _('Speed limit up enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'speed_limit_up', _('Speed limit up'), 'KB/s');
+ o.depends('speed_limit_up_enabled', 'true');
+
+ o = s.option(form.Value, 'upload_slots_per_torrent', _('Upload slots per torrent'));
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Blocklists'));
+ s.anonymous = true;
+
+ o = s.option(form.Flag, 'blocklist_enabled', _('Block list enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'blocklist_url', _('Blocklist URL'));
+ o.depends('blocklist_enabled', 'true');
+ o.placeholder = 'http://www.example.com/blocklist';
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Files and Locations'));
+ s.anonymous = true;
+
+ s.option(form.Value, 'download_dir', _('Download directory'));
+
+ o = s.option(form.Flag, 'incomplete_dir_enabled', _('Incomplete directory enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'incomplete_dir', _('Incomplete directory'));
+ o.depends('incomplete_dir_enabled', 'true');
+
+ o = s.option(form.ListValue, 'preallocation', _('Preallocation'));
+ o.value('0', _('Off'));
+ o.value('1', _('Fast'));
+ o.value('2', _('Full'));
+
+ o = s.option(form.Flag, 'rename_partial_files', _('Rename partial files'));
+ setFlagBool(o);
+
+ o = s.option(form.Flag, 'start_added_torrents', _('Automatically start added torrents'));
+ setFlagBool(o);
+
+ o = s.option(form.Flag, 'trash_original_torrent_files', _('Trash original torrent files'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'umask', 'umask');
+
+ o = s.option(form.Flag, 'watch_dir_enabled', _('Enable watch directory'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'watch_dir', _('Watch directory'));
+ o.depends('watch_dir_enabled', 'true');
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Miscellaneous'));
+ s.anonymous = true;
+
+ o = s.option(form.Value, 'cache_size_mb', _('Cache size in MB'));
+
+ o = s.option(form.Flag, 'dht_enabled', _('DHT enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.ListValue, 'encryption', _('Encryption'));
+ o.value('0', _('Prefer unencrypted'));
+ o.value('1', _('Prefer encrypted'));
+ o.value('2', _('Require encrypted'));
+
+ o = s.option(form.Flag, 'lazy_bitfield_enabled', _('Lazy bitfield enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Flag, 'lpd_enabled', _('LPD enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.ListValue, 'message_level', _('Message level'));
+ o.value('0', _('None'));
+ o.value('1', _('Error'));
+ o.value('2', _('Info'));
+ o.value('3', _('Debug'));
+
+ o = s.option(form.Flag, 'pex_enabled', _('PEX enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Flag, 'prefetch_enabled', _('Prefetch enabled'));
+
+ o = s.option(form.Flag, 'scrape_paused_torrents_enabled', _('Scrape paused torrents enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Flag, 'script_torrent_done_enabled', _('Script torrent done enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'script_torrent_done_filename', _('Script torrent done filename'));
+ o.depends('script_torrent_done_enabled', 'true');
+
+ o = s.option(form.Flag, 'utp_enabled', _('uTP enabled'));
+ setFlagBool(o);
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Peer settings'));
+ s.anonymous = true;
+
+ o = s.option(form.Value, 'bind_address_ipv4', _('Binding address IPv4'));
+
+ o = s.option(form.Value, 'bind_address_ipv6', _('Binding address IPv6'));
+
+ o = s.option(form.Value, 'peer_congestion_algorithm', _('Peer congestion algorithm'),
+ _('This is documented on <a href="https://www.irif.fr/~jch/software/bittorrent/tcp-congestion-control.html" target="_blank" rel="noreferrer noopener">tcp-congestion-control</a>.'));
+
+ o = s.option(form.Value, 'peer_id_ttl_hours', _('Recycle peer id after'), _('hours'));
+
+ o = s.option(form.Value, 'peer_limit_global', _('Global peer limit'));
+
+ o = s.option(form.Value, 'peer_limit_per_torrent', _('Peer limit per torrent'));
+
+ o = s.option(form.Value, 'peer_socket_tos', _('Peer socket <abbr title="Type of Service">TOS</abbr>'));
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Peer Port settings'));
+ s.anonymous = true;
+
+ o = s.option(form.Value, 'peer_port', _('Peer port'));
+
+ o = s.option(form.Flag, 'peer_port_random_on_start', _('Peer port random on start'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'peer_port_random_high', _('Peer port random high'));
+ o.depends('peer_port_random_on_start', 'true');
+
+ o = s.option(form.Value, 'peer_port_random_low', _('Peer port random low'));
+ o.depends('peer_port_random_on_start', 'true');
+
+ o = s.option(form.Flag, 'port_forwarding_enabled', _('Port forwarding enabled'));
+ setFlagBool(o);
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Queueing'));
+ s.anonymous = true;
+
+ o = s.option(form.Flag, 'download_queue_enabled', _('Download queue enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Flag, 'queue_stalled_enabled', _('Queue stalled enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'download_queue_size', _('Download queue size'));
+ o.depends('download_queue_enabled', 'true');
+
+ o = s.option(form.Flag, 'seed_queue_enabled', _('Seed queue enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'queue_stalled_minutes', _('Queue stalled minutes'));
+ o.depends('queue_stalled_enabled', 'true');
+
+ o = s.option(form.Value, 'seed_queue_size', _('Seed queue size'));
+ o.depends('seed_queue_enabled', 'true');
+
+
+ s = m.section(form.TypedSection, 'transmission', _('RPC settings'));
+ s.anonymous = true;
+
+ o = s.option(form.Flag, 'rpc_enabled', _('RPC enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'rpc_bind_address', _('RPC bind address'));
+ o.depends('rpc_enabled', 'true');
+
+ o = s.option(form.Value, 'rpc_port', _('RPC port'));
+ o.depends('rpc_enabled', 'true');
+
+ o = s.option(form.Value, 'rpc_url', _('RPC URL'));
+ o.depends('rpc_enabled', 'true');
+
+ o = s.option(form.Flag, 'rpc_host_whitelist_enabled', _('RPC host whitelist enabled'));
+ setFlagBool(o);
+ o.depends('rpc_enabled', 'true');
+
+ o = s.option(form.Value, 'rpc_host_whitelist', _('RPC host whitelist'));
+ o.depends('rpc_host_whitelist_enabled', 'true');
+
+ o = s.option(form.Flag, 'rpc_whitelist_enabled', _('RPC whitelist enabled'));
+ setFlagBool(o);
+ o.depends('rpc_enabled', 'true');
+
+ o = s.option(form.Value, 'rpc_whitelist', _('RPC whitelist'));
+ o.depends('rpc_whitelist_enabled', 'true');
+
+ o = s.option(form.Flag, 'rpc_authentication_required', _('RPC authentication required'));
+ setFlagBool(o);
+ o.depends('rpc_enabled', 'true');
+
+ o = s.option(form.Value, 'rpc_username', _('RPC username'));
+ o.depends('rpc_authentication_required', 'true');
+
+ o = s.option(form.Value, 'rpc_password', _('RPC password'));
+ o.depends('rpc_authentication_required', 'true');
+ o.password = true;
+
+
+ s = m.section(form.TypedSection, 'transmission', _('Scheduling'));
+ s.anonymous = true;
+
+ o = s.option(form.Flag, 'alt_speed_time_enabled', _('Alternative speed timing enabled'), _('When enabled, this will toggle the <b>alt-speed-enabled</b> setting'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'alt_speed_time_begin', _('Alternative speed time begin'), _('in minutes from midnight'));
+ o.depends('alt_speed_time_enabled', 'true');
+
+ o = s.option(form.Value, 'alt_speed_time_end', _('Alternative speed time end'), _('in minutes from midnight'));
+ o.depends('alt_speed_time_enabled', 'true');
+
+ o = s.option(form.Value, 'alt_speed_time_day', _('Alternative speed time day'), _('Number/bitfield. Start with 0, then for each day you want the scheduler enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - 8, Thursday - 16, Friday - 32, Saturday - 64'));
+ o.depends('alt_speed_time_enabled', 'true');
+
+ o = s.option(form.Flag, 'idle_seeding_limit_enabled', _('Idle seeding limit enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'idle_seeding_limit', _('Idle seeding limit'));
+ o.depends('idle_seeding_limit_enabled', 'true');
+
+ o = s.option(form.Flag, 'ratio_limit_enabled', _('Ratio limit enabled'));
+ setFlagBool(o);
+
+ o = s.option(form.Value, 'ratio_limit', _('Ratio limit'));
+ o.depends('ratio_limit_enabled', 'true');
+
+ return m.render();
+ }
+});
diff --git a/applications/luci-app-transmission/luasrc/controller/transmission.lua b/applications/luci-app-transmission/luasrc/controller/transmission.lua
deleted file mode 100644
index b54b92b04b..0000000000
--- a/applications/luci-app-transmission/luasrc/controller/transmission.lua
+++ /dev/null
@@ -1,14 +0,0 @@
--- Copyright 2012 Gabor Varga <vargagab@gmail.com>
--- Licensed to the public under the Apache License 2.0.
-
-module("luci.controller.transmission", package.seeall)
-
-function index()
- if not nixio.fs.access("/etc/config/transmission") then
- return
- end
-
- local page = entry({"admin", "services", "transmission"}, cbi("transmission"), _("Transmission"))
- page.dependent = true
-
-end
diff --git a/applications/luci-app-transmission/luasrc/model/cbi/transmission.lua b/applications/luci-app-transmission/luasrc/model/cbi/transmission.lua
deleted file mode 100644
index fd4deba97f..0000000000
--- a/applications/luci-app-transmission/luasrc/model/cbi/transmission.lua
+++ /dev/null
@@ -1,221 +0,0 @@
--- Copyright 2012 Gabor Varga <vargagab@gmail.com>
--- Licensed to the public under the Apache License 2.0.
-
-require("luci.sys")
-require("luci.util")
-require("luci.model.ipkg")
-
-local uci = require "luci.model.uci".cursor()
-local trport = uci:get_first("transmission", "transmission", "rpc_port") or 9091
-local running = (luci.sys.call("pidof transmission-daemon > /dev/null") == 0)
-local webinstalled = luci.model.ipkg.installed("transmission-web") or uci:get_first("transmission", "transmission", "web_home")
-local button = ""
-if running and webinstalled then
- button = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"button\" value=\" " .. translate("Open Web Interface") .. " \" onclick=\"window.open('http://'+window.location.hostname+':" .. trport .. "')\"/>"
-end
-
-m = Map("transmission", "Transmission", translate("Transmission daemon is a simple bittorrent client, here you can configure the settings.") .. button)
-
-s=m:section(TypedSection, "transmission", translate("Global settings"))
-s.addremove=false
-s.anonymous=true
-
-enable=s:option(Flag, "enabled", translate("Enabled"))
-enable.rmempty=false
-config_dir=s:option(Value, "config_dir", translate("Config file directory"))
-user=s:option(ListValue, "user", translate("Run daemon as user"))
-local p_user
-for _, p_user in luci.util.vspairs(luci.util.split(luci.sys.exec("cat /etc/passwd | cut -f 1 -d :"))) do
- user:value(p_user)
-end
-cache_size_mb=s:option(Value, "cache_size_mb", translate("Cache size in MB"))
-web_home=s:option(Value, "web_home", translate("Custom WEB UI directory"))
-
-bandwidth=m:section(TypedSection, "transmission", translate("Bandwidth settings"))
-bandwidth.anonymous=true
-alt_speed_enabled=bandwidth:option(Flag, "alt_speed_enabled", translate("Alternative speed enabled"))
-alt_speed_enabled.enabled="true"
-alt_speed_enabled.disabled="false"
-alt_speed_down=bandwidth:option(Value, "alt_speed_down", translate("Alternative download speed"), "KB/s")
-alt_speed_down:depends("alt_speed_enabled", "true")
-alt_speed_up=bandwidth:option(Value, "alt_speed_up", translate("Alternative upload speed"), "KB/s")
-alt_speed_up:depends("alt_speed_enabled", "true")
-speed_limit_down_enabled=bandwidth:option(Flag, "speed_limit_down_enabled", translate("Speed limit down enabled"))
-speed_limit_down_enabled.enabled="true"
-speed_limit_down_enabled.disabled="false"
-speed_limit_down=bandwidth:option(Value, "speed_limit_down", translate("Speed limit down"), "KB/s")
-speed_limit_down:depends("speed_limit_down_enabled", "true")
-speed_limit_up_enabled=bandwidth:option(Flag, "speed_limit_up_enabled", translate("Speed limit up enabled"))
-speed_limit_up_enabled.enabled="true"
-speed_limit_up_enabled.disabled="false"
-speed_limit_up=bandwidth:option(Value, "speed_limit_up", translate("Speed limit up"), "KB/s")
-speed_limit_up:depends("speed_limit_up_enabled", "true")
-upload_slots_per_torrent=bandwidth:option(Value, "upload_slots_per_torrent", translate("Upload slots per torrent"))
-
-blocklists=m:section(TypedSection, "transmission", translate("Blocklists"))
-blocklists.anonymous=true
-blocklist_enabled=blocklists:option(Flag, "blocklist_enabled", translate("Block list enabled"))
-blocklist_enabled.enabled="true"
-blocklist_enabled.disabled="false"
-blocklist_url=blocklists:option(Value, "blocklist_url", translate("Blocklist URL"))
-blocklist_url:depends("blocklist_enabled", "true")
-
-fileslocations=m:section(TypedSection, "transmission", translate("Files and Locations"))
-fileslocations.anonymous=true
-download_dir=fileslocations:option(Value, "download_dir", translate("Download directory"))
-incomplete_dir_enabled=fileslocations:option(Flag, "incomplete_dir_enabled", translate("Incomplete directory enabled"))
-incomplete_dir_enabled.enabled="true"
-incomplete_dir_enabled.disabled="false"
-incomplete_dir=fileslocations:option(Value, "incomplete_dir", translate("Incomplete directory"))
-incomplete_dir:depends("incomplete_dir_enabled", "true")
-preallocation=fileslocations:option(ListValue, "preallocation", translate("preallocation"))
-preallocation:value("0", translate("Off"))
-preallocation:value("1", translate("Fast"))
-preallocation:value("2", translate("Full"))
-prefetch_enabled=fileslocations:option(Flag, "prefetch_enabled", translate("Prefetch enabled"))
-rename_partial_files=fileslocations:option(Flag, "rename_partial_files", translate("Rename partial files"))
-rename_partial_files.enableid="true"
-rename_partial_files.disabled="false"
-start_added_torrents=fileslocations:option(Flag, "start_added_torrents", translate("Automatically start added torrents"))
-start_added_torrents.enabled="true"
-start_added_torrents.disabled="false"
-trash_original_torrent_files=fileslocations:option(Flag, "trash_original_torrent_files", translate("Trash original torrent files"))
-trash_original_torrent_files.enabled="true"
-trash_original_torrent_files.disabled="false"
-umask=fileslocations:option(Value, "umask", "umask")
-watch_dir_enabled=fileslocations:option(Flag, "watch_dir_enabled", translate("Enable watch directory"))
-watch_dir_enabled.enabled="true"
-watch_dir_enabled.disabled="false"
-watch_dir=fileslocations:option(Value, "watch_dir", translate("Watch directory"))
-watch_dir:depends("watch_dir_enabled", "true")
-
-misc=m:section(TypedSection, "transmission", translate("Miscellaneous"))
-misc.anonymous=true
-dht_enabled=misc:option(Flag, "dht_enabled", translate("DHT enabled"))
-dht_enabled.enabled="true"
-dht_enabled.disabled="false"
-encryption=misc:option(ListValue, "encryption", translate("Encryption"))
-encryption:value("0", translate("Off"))
-encryption:value("1", translate("Preferred"))
-encryption:value("2", translate("Forced"))
-lazy_bitfield_enabled=misc:option(Flag, "lazy_bitfield_enabled", translate("Lazy bitfield enabled"))
-lazy_bitfield_enabled.enabled="true"
-lazy_bitfield_enabled.disabled="false"
-lpd_enabled=misc:option(Flag, "lpd_enabled", translate("LPD enabled"))
-lpd_enabled.enabled="true"
-lpd_enabled.disabled="false"
-message_level=misc:option(ListValue, "message_level", translate("Message level"))
-message_level:value("0", translate("None"))
-message_level:value("1", translate("Error"))
-message_level:value("2", translate("Info"))
-message_level:value("3", translate("Debug"))
-pex_enabled=misc:option(Flag, "pex_enabled", translate("PEX enabled"))
-pex_enabled.enabled="true"
-pex_enabled.disabled="false"
-script_torrent_done_enabled=misc:option(Flag, "script_torrent_done_enabled", translate("Script torrent done enabled"))
-script_torrent_done_enabled.enabled="true"
-script_torrent_done_enabled.disabled="false"
-script_torrent_done_filename=misc:option(Value, "script_torrent_done_filename", translate("Script torrent done filename"))
-script_torrent_done_filename:depends("script_torrent_done_enabled", "true")
-idle_seeding_limit_enabled=misc:option(Flag, "idle_seeding_limit_enabled", translate("Idle seeding limit enabled"))
-idle_seeding_limit_enabled.enabled="true"
-idle_seeding_limit_enabled.disabled="false"
-idle_seeding_limit=misc:option(Value, "idle_seeding_limit", translate("Idle seeding limit"))
-idle_seeding_limit:depends("idle_seeding_limit_enabled", "true")
-utp_enabled=misc:option(Flag, "utp_enabled", translate("uTP enabled"))
-utp_enabled.enabled="true"
-utp_enabled.disabled="false"
-
-peers=m:section(TypedSection, "transmission", translate("Peer settings"))
-peers.anonymous=true
-bind_address_ipv4=peers:option(Value, "bind_address_ipv4", translate("Binding address IPv4"))
-bind_address_ipv4.default="0.0.0.0"
-bind_address_ipv6=peers:option(Value, "bind_address_ipv6", translate("Binding address IPv6"))
-bind_address_ipv6.default="::"
-peer_congestion_algorithm=peers:option(Value, "peer_congestion_algorithm", translate("Peer congestion algorithm"))
-peer_limit_global=peers:option(Value, "peer_limit_global", translate("Global peer limit"))
-peer_limit_per_torrent=peers:option(Value, "peer_limit_per_torrent", translate("Peer limit per torrent"))
-peer_socket_tos=peers:option(Value, "peer_socket_tos", translate("Peer socket tos"))
-
-peerport=m:section(TypedSection, "transmission", translate("Peer Port settings"))
-peerport.anonymous=true
-peer_port=peerport:option(Value, "peer_port", translate("Peer port"))
-peer_port_random_on_start=peerport:option(Flag, "peer_port_random_on_start", translate("Peer port random on start"))
-peer_port_random_on_start.enabled="true"
-peer_port_random_on_start.disabled="false"
-peer_port_random_high=peerport:option(Value, "peer_port_random_high", translate("Peer port random high"))
-peer_port_random_high:depends("peer_port_random_on_start", "true")
-peer_port_random_low=peerport:option(Value, "peer_port_random_low", translate("Peer port random low"))
-peer_port_random_low:depends("peer_port_random_on_start", "true")
-port_forwarding_enabled=peerport:option(Flag, "port_forwarding_enabled", translate("Port forwarding enabled"))
-port_forwarding_enabled.enabled="true"
-port_forwarding_enabled.disabled="false"
-
-rpc=m:section(TypedSection, "transmission", translate("RPC settings"))
-rpc.anonymous=true
-rpc_enabled=rpc:option(Flag, "rpc_enabled", translate("RPC enabled"))
-rpc_enabled.enabled="true"
-rpc_enabled.disabled="false"
-rpc_port=rpc:option(Value, "rpc_port", translate("RPC port"))
-rpc_port:depends("rpc_enabled", "true")
-rpc_bind_address=rpc:option(Value, "rpc_bind_address", translate("RPC bind address"))
-rpc_bind_address:depends("rpc_enabled", "true")
-rpc_url=rpc:option(Value, "rpc_url", translate("RPC URL"))
-rpc_url:depends("rpc_enabled", "true")
-rpc_whitelist_enabled=rpc:option(Flag, "rpc_whitelist_enabled", translate("RPC whitelist enabled"))
-rpc_whitelist_enabled.enabled="true"
-rpc_whitelist_enabled.disabled="false"
-rpc_whitelist_enabled:depends("rpc_enabled", "true")
-rpc_whitelist=rpc:option(Value, "rpc_whitelist", translate("RPC whitelist"))
-rpc_whitelist:depends("rpc_whitelist_enabled", "true")
-rpc_authentication_required=rpc:option(Flag, "rpc_authentication_required", translate("RPC authentication required"))
-rpc_authentication_required.enabled="true"
-rpc_authentication_required.disabled="false"
-rpc_authentication_required:depends("rpc_enabled", "true")
-rpc_username=rpc:option(Value, "rpc_username", translate("RPC username"))
-rpc_username:depends("rpc_authentication_required", "true")
-rpc_password=rpc:option(Value, "rpc_password", translate("RPC password"))
-rpc_password:depends("rpc_authentication_required", "true")
-rpc_password.password = true
-
-scheduling=m:section(TypedSection, "transmission", translate("Scheduling"))
-scheduling.anonymous=true
-alt_speed_time_enabled=scheduling:option(Flag, "alt_speed_time_enabled", translate("Alternative speed timing enabled"))
-alt_speed_time_enabled.enabled="true"
-alt_speed_time_enabled.disabled="false"
-alt_speed_time_enabled.default="false"
-alt_speed_time_enabled:depends("alt_speed_enabled", "true")
-alt_speed_time_day=scheduling:option(Value, "alt_speed_time_day", translate("Alternative speed time day"), translate("Number/bitfield. Start with 0, then for each day you want the scheduler enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - 8, Thursday - 16, Friday - 32, Saturday - 64"))
-alt_speed_time_day:depends("alt_speed_time_enabled", "true")
-alt_speed_time_begin=scheduling:option(Value, "alt_speed_time_begin", translate("Alternative speed time begin"), translate("in minutes from midnight"))
-alt_speed_time_begin:depends("alt_speed_time_enabled", "true")
-alt_speed_time_end=scheduling:option(Value, "alt_speed_time_end", translate("Alternative speed time end"), translate("in minutes from midnight"))
-alt_speed_time_end:depends("alt_speed_time_enabled", "true")
-ratio_limit_enabled=scheduling:option(Flag, "ratio_limit_enabled", translate("Ratio limit enabled"))
-ratio_limit_enabled.enabled="true"
-ratio_limit_enabled.disabled="false"
-ratio_limit=scheduling:option(Value, "ratio_limit", translate("Ratio limit"))
-ratio_limit:depends("ratio_limit_enabled", "true")
-
-queueing=m:section(TypedSection, "transmission", translate("Queueing"))
-queueing.anonymous=true
-download_queue_enabled=queueing:option(Flag, "download_queue_enabled", translate("Download queue enabled"))
-download_queue_enabled.enabled="true"
-download_queue_enabled.disabled="false"
-download_queue_size=queueing:option(Value, "download_queue_size", translate("Download queue size"))
-download_queue_size:depends("download_queue_enabled", "true")
-queue_stalled_enabled=queueing:option(Flag, "queue_stalled_enabled", translate("Queue stalled enabled"))
-queue_stalled_enabled.enabled="true"
-queue_stalled_enabled.disabled="false"
-queue_stalled_minutes=queueing:option(Value, "queue_stalled_minutes", translate("Queue stalled minutes"))
-queue_stalled_minutes:depends("queue_stalled_enabled", "true")
-seed_queue_enabled=queueing:option(Flag, "seed_queue_enabled", translate("Seed queue enabled"))
-seed_queue_enabled.enabled="true"
-seed_queue_enabled.disabled="false"
-seed_queue_size=queueing:option(Value, "seed_queue_size", translate("Seed queue size"))
-seed_queue_size:depends("seed_queue_enabled", "true")
-scrape_paused_torrents_enabled=queueing:option(Flag, "scrape_paused_torrents_enabled", translate("Scrape paused torrents enabled"))
-scrape_paused_torrents_enabled.enabled="true"
-scrape_paused_torrents_enabled.disabled="false"
-
-return m
diff --git a/applications/luci-app-transmission/po/bg/transmission.po b/applications/luci-app-transmission/po/bg/transmission.po
index b691102a62..e27b5e263c 100644
--- a/applications/luci-app-transmission/po/bg/transmission.po
+++ b/applications/luci-app-transmission/po/bg/transmission.po
@@ -12,381 +12,415 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 2.4.0\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/ca/transmission.po b/applications/luci-app-transmission/po/ca/transmission.po
index 08d9faba77..a8ad9a7b27 100644
--- a/applications/luci-app-transmission/po/ca/transmission.po
+++ b/applications/luci-app-transmission/po/ca/transmission.po
@@ -14,355 +14,392 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Velocitat de baixada alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Velocitat alternativa habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Hora inicial de velocitat alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Dia de velocitat alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Hora final de velocitat alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Temporització de velocitat alternativa habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Velocitat de pujada alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Comença automàticament els torrents afegits"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Ajusts d'amplada de banda"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Llista de bloqueig habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Llistes de bloqueig"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Directori de fitxer de configuració"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "Directori de fitxer de configuració"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT habilitat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Depuració"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Directori de baixada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Cua de baixada habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Mida de cua de baixada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Activat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Xifratge"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Error"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Ràpid"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Fitxers i ubicacions"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Forçat"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Ple"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Ajusts globals"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Directori incomplet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Directori incomplet habilitat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Informació"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD habilitat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Miscel·lani"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Cap"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Desactivat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX habilitat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "preassignació"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "Preferit"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "Preferit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Precarrega habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "Autenticació RPC requerida"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC habilitat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "Llista blanca RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Llista blanca RPC habilitada"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Contrasenya RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Port RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Ajusts RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Nom d'usuari RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Llista blanca RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Llista blanca RPC habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Límit de ràtio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Límit de ràtio habilitat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Executa el dimoni com l'usuari"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Executa el dimoni com l'usuari"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Programació"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -370,27 +407,34 @@ msgstr ""
"El dimoni Transmission és un client de bittorrent senzill, aquí podeu "
"configurar els ajusts."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Suprimeix els fitxers de torrent originals"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Directori que vigilar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "en minuts des de la mitjanit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "preassignació"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP habilitat"
+
+#~ msgid "Forced"
+#~ msgstr "Forçat"
diff --git a/applications/luci-app-transmission/po/cs/transmission.po b/applications/luci-app-transmission/po/cs/transmission.po
index 6a3ad58f3a..95bc832c03 100644
--- a/applications/luci-app-transmission/po/cs/transmission.po
+++ b/applications/luci-app-transmission/po/cs/transmission.po
@@ -12,362 +12,397 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.10\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Alternativní rychlost download"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Povolit alternativní rychlost"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Začátek doby alternativní rychlosti"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Dny alternativní rychlosti"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Konec doby alternativní rychlosti"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Časování alternativní rychlosti povoleno"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Alternativní rychlost uploadu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Automaticky začít stahovat nové torrenty"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Nastavení přenosové rychlosti"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Svázání s IPv4 adresou"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Svázání s IPv6 adresou"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Povolit černou listinu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL černé listiny"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Černé listiny"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Velikost mezipaměti v MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Adresář pro uložení konfiguračního souboru"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "Vlastní adresář WEB UI"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "Povolit DHT"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Ladění"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Adresář pro stahované"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Povolit stahovací frontu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Velikost stahovací fronty"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Povolit sledování složky"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Povoleno"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Šifrování"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Chyba"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Rychlá"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Soubory a umístění"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Vynucené"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Plná"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Globální peer limit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Globální nastavení"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Limit nečinnosti pro seeding"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Limit nečinnosti pro seeding povolen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Složka pro nedokončená stahování"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Povolit složku pro nedokončená stahování"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Informace"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "Povolit LPD"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Povolit lazy bitfield"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Úroveň logování"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Ostatní"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Žádný"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
"Číslo/bitové pole. Začněte 0, potom pro každý den, kdy má být plánovač "
-"aktivován, přidejte hodnotu. Pro Neděli - 1, Pondělí - 2, Úterý - 4, Středa -"
-" 8, Čtvrtek - 16, Pátek - 32, Sobota - 64"
+"aktivován, přidejte hodnotu. Pro Neděli - 1, Pondělí - 2, Úterý - 4, Středa "
+"- 8, Čtvrtek - 16, Pátek - 32, Sobota - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Vypnuto"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Otevřít webové rozhraní"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "Povolit PEX"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Nastavení peer portu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
#, fuzzy
msgid "Peer congestion algorithm"
msgstr "Algoritmus proti zahlcení"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Peer limit na torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Peer port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Peer port náhodný nejvyšší"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Peer port náhodný nejnižší"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Náhodný peer port při startu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Nastavení peer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-#, fuzzy
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-"Typ <abbr title=\"Type-Of-Service v TCP\">TOS</abbr> socketu protistrany"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Povolit port forwarding"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "prealokace"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "Preferované"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "Preferované"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Povolit přednačítání"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
#, fuzzy
msgid "Queue stalled enabled"
msgstr "Povolit pozastavené sdílení"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Počet minut pro pozastavení"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Řízení front"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC ověřování vyžadováno"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "Povolit RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "RPC whitelist"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Povolit RPC whitelist"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC heslo"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Nastavení RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Uživatelské jméno RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "RPC whitelist"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Povolit RPC whitelist"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Ratio limit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Povolit ratio limit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Přejmenovat dílčí soubory"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Spustit démona pod uživatelskými oprávněními"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Spustit démona pod uživatelskými oprávněními"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Plánování"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Povolit seed frontu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Velikost seed fronty"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Rychlostní limit downloadu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Povolit rychlostní limit downloadu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Rychlostní limit uploadu"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Povolit rychlostní limit uploadu"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -375,27 +410,39 @@ msgstr ""
"Transmission daemon je jednoduchý BitTorrent klient, zde můžete provést jeho "
"nastavení."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Odstranit původní torrent soubory"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Upload sloty na torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "v minutách od půlnoci"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "prealokace"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "Povolit uTP"
+
+#~ msgid "Forced"
+#~ msgstr "Vynucené"
+
+#, fuzzy
+#~ msgid "Peer socket tos"
+#~ msgstr ""
+#~ "Typ <abbr title=\"Type-Of-Service v TCP\">TOS</abbr> socketu protistrany"
diff --git a/applications/luci-app-transmission/po/de/transmission.po b/applications/luci-app-transmission/po/de/transmission.po
index 901b32294a..ac04d3633c 100644
--- a/applications/luci-app-transmission/po/de/transmission.po
+++ b/applications/luci-app-transmission/po/de/transmission.po
@@ -14,175 +14,172 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Alternative Download-Geschwindigkeit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Alternative Geschwindigkeit aktivieren"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Zeit für Beginn der alternativen Geschwindigkeit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Tag für alternative Geschwindigkeit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Zeit für Ende der alternativen Geschwindigkeit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Zeiteinstellung für alternative Geschwindigkeit eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Alternative Upload-Geschwindigkeit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Hinzugefügte Torrents automatisch starten"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Bandbreiten-Einstellungen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "IPv4-Adressbindung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "IPv6-Adressbindung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Blockier-Liste eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL für Blockier-Liste"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Blockier-Listen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Cache-Größe in MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Verzeichnis der Konfigurationsdatei"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "Benutzerdefiniertes WEB UI-Verzeichnis"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Debug"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Download-Verzeichnis"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Download-Warteschlange eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Größe der Download-Warteschlange"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Verzeichnisüberprüfung eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Aktiviert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Verschlüsselung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Fehler"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Schnell"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Dateien und Orte"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Erzwungen"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Voll"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Allgemeines Peer-Limit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Allgemeine Einstellungen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Begrenzung für Seeding im Idle-Zustand"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Begrenzung für Seeding im Idle-Zustand eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "unvollständiges Verzeichnis"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "unvollständiges Verzeichnis eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Info"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy-Bitfield eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Nachrichten-Ebene"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Verschiedenes"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Keine"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -192,180 +189,220 @@ msgstr ""
"soll, füge einen Wert hinzu. Sonntag - 1, Montag - 2, Dienstag - 4, Mittwoch "
"- 8, Donnerstag - 16, Freitag - 32, Samstag - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Aus"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Offenes Web-Interface"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Einstellungen für Peer-Port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Algorithmus für Peer-Überlastungen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Peer-Begrenzung pro Torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Peer-Port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Peer-Port: hohe Zufallszahl"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Peer-Port: niedrige Zufallszahl"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Zufälliger Peer-Port beim Start"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Peer-Einstellungen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Peer-Socket-TOS"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Port-Weiterleitung aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "Vorbelegung"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
msgstr "Bevorzugt"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
+msgstr "Bevorzugt"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Prefetch aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Warteschlangen-Halt aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Warteschlangen-Halt in Minuten"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "in Warteschlange stellen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC-URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC-Anmeldung erforderlich"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "RPC-Adressbindung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC eingeschaltet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "RPC-Einschlussliste"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "RPC-Einschlussliste aktiv"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC-Passwort"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC-Port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "RPC-Einstellungen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "RPC Benutzername"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "RPC-Einschlussliste"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "RPC-Einschlussliste aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Ratio-Begrenzung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Ratio-Begrenzung aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Teildateien umbenennen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Daemon als Benutzer ausführen"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Daemon als Benutzer ausführen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Zeitplanung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Pausierte Torrents beschneiden"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Skript nach Abschluss eines Torrents aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Skript nach Abschluss eines Torrents: Dateiname"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Seed-Warteschlange aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Größe der Seed-Warteschlange"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Geschwindigkeitsbegrenzung Down"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Geschwindigkeitsbegrenzung Down aktiv"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Geschwindigkeitsbegrenzung Up"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Geschwindigkeitsbegrenzung Up aktiv"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Übertragung"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -373,27 +410,37 @@ msgstr ""
"Der Transmission-Daemon ist ein einfacher Bittorent-Client. Hier können Sie "
"ihn einstellen."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Originale Torrent-Dateien verwerfen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Upload-Plätze pro Torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Überwachtes Verzeichnis"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "in Minuten ab Mitternacht"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "Vorbelegung"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP eingeschaltet"
+
+#~ msgid "Forced"
+#~ msgstr "Erzwungen"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Peer-Socket-TOS"
diff --git a/applications/luci-app-transmission/po/el/transmission.po b/applications/luci-app-transmission/po/el/transmission.po
index dedfa90627..a2066fb724 100644
--- a/applications/luci-app-transmission/po/el/transmission.po
+++ b/applications/luci-app-transmission/po/el/transmission.po
@@ -1,378 +1,412 @@
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/en/transmission.po b/applications/luci-app-transmission/po/en/transmission.po
index dedfa90627..a2066fb724 100644
--- a/applications/luci-app-transmission/po/en/transmission.po
+++ b/applications/luci-app-transmission/po/en/transmission.po
@@ -1,378 +1,412 @@
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/es/transmission.po b/applications/luci-app-transmission/po/es/transmission.po
index eabb956257..02259f7e9e 100644
--- a/applications/luci-app-transmission/po/es/transmission.po
+++ b/applications/luci-app-transmission/po/es/transmission.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-21 22:06+0200\n"
-"PO-Revision-Date: 2019-11-16 09:05+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationstransmission/es/>\n"
@@ -12,177 +12,174 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.10-dev\n"
+"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Velocidad de descarga alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Activar velocidad alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Hora de inicio de la velocidad alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Día de la velocidad alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Hora de fin de la velocidad alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Activar temporización alternativa de la velocidad"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Velocidad de subida alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Iniciar automáticamente los torrents al añadirlos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Configuración del ancho de banda"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Dirección IPv4 a asociar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Dirección IPv6 a asociar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Activar lista de bloques"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL de la lista de bloques"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Listas de bloques"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Tamaño de la antememoria en MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Directorio de archivos de configuración"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "Directorio personalizado de WEB UI"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "Activar DHT"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Depurar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Directorio de descarga"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Activar cola de descargas"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Tamaño de la cola de descargas"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Activar carpeta a observar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Activado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Encriptación"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Error"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Rápido"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Archivos y posiciones"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Forzado"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Lleno"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Límite global de pares"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Configuración global"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Límite de sembrado en vacío"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Activar límite de sembrado en vacío"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Carpeta incompleta"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Activar carpeta incompleta"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Info"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "Activar LPD"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Activar Lazy bitfield"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Nivel de mensajes"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Varios"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Ninguno"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -192,207 +189,257 @@ msgstr ""
"programador, agregue un valor. Para el domingo - 1, lunes - 2, martes - 4, "
"miércoles - 8, jueves - 16, viernes - 32, sábado - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Apagado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Interfaz de red abierta"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "Activar PEX"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Configuración de puertos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Algoritmo de congestión"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Límite por torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Puerto"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Puerto más alto"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Puerto más bajo"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Puerto aleatorio al arrancar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Configuración de peer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Par socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Activar reenvío de puertos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "Precolocación"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "Preferido"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "Preferido"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Activar prefetch"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Activar bloqueo de cola"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Minutos de bloqueo de cola"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Colas"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "URL RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "Autentificación RPC obligatoria"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "Dirección de asociación RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "Activar RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "Lista blanca RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Activar listas blancas RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Contraseña RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Puerto RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Configuración RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Nombre de usuario RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Lista blanca RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Activar listas blancas RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Límite de proporción"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Activar límite de proporción"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr "Reciclar identificación del par después"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Renombrar archivos parciales"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr "Requiere encriptación"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Ejecutar demonio como usuario"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Ejecutar demonio como usuario"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Programación"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Activar scrape de torrents en pausa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Activar script de fin de torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Nombre de archivo del script"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Activar cola de sembrado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Tamaño máximo de la cola de sembrado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Velocidad mínima"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Activar velocidad mínima"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Velocidad máxima"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Activar velocidad máxima"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
"Configuración. El demonio Transmission es un cliente de BitTorrent simple."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Eliminar los archivos torrents originales"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Ranuras de subida por torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Carpeta a vigilar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr "horas"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "en minutos para la media noche"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "Precolocación"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "Activar uTP"
+
+#~ msgid "Forced"
+#~ msgstr "Forzado"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Par socket tos"
diff --git a/applications/luci-app-transmission/po/fr/transmission.po b/applications/luci-app-transmission/po/fr/transmission.po
index fcec9ad0d3..50cd307f13 100644
--- a/applications/luci-app-transmission/po/fr/transmission.po
+++ b/applications/luci-app-transmission/po/fr/transmission.po
@@ -14,381 +14,416 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.10\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Dossier du fichier de configuration"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "Dossier du fichier de configuration"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Débogage"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Télécharger un dossier"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Activé"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Chiffrement"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Erreur"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Infos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Aucun"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Mot de passe RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Port RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Nom d'utilisateur RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/he/transmission.po b/applications/luci-app-transmission/po/he/transmission.po
index dedfa90627..a2066fb724 100644
--- a/applications/luci-app-transmission/po/he/transmission.po
+++ b/applications/luci-app-transmission/po/he/transmission.po
@@ -1,378 +1,412 @@
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/hi/transmission.po b/applications/luci-app-transmission/po/hi/transmission.po
index 8256f0b14b..7d9b389ff1 100644
--- a/applications/luci-app-transmission/po/hi/transmission.po
+++ b/applications/luci-app-transmission/po/hi/transmission.po
@@ -12,381 +12,415 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 2.4.0\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/hu/transmission.po b/applications/luci-app-transmission/po/hu/transmission.po
index f5c543fdfe..0669fd3f88 100644
--- a/applications/luci-app-transmission/po/hu/transmission.po
+++ b/applications/luci-app-transmission/po/hu/transmission.po
@@ -14,175 +14,172 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10.1-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Alternatív letöltési sebesség"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Alternatív sebesség engedélyezve"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Alternatív sebesség kezdő időpont"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Alternatív sebesség napok"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Alternatív sebesség záró időpont"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Alternatív sebesség időzítés engedélyezve"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Alternatív feltöltési sebesség"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Hozzáadott torrentek automatikus indítása"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Sávszélesség beállítások"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Rögzített IPv4 cím"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Rögzített IPv6 cím"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Tiltólista engedélyezés"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "Tiltólista URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Tiltólista"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Puffer méret (MB)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Beállítófájl könyvtára"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "Beállítófájl könyvtára"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT engedélyezve"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Hibakeresés"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Letöltési könyvtár"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Letöltési sor engedélyezve"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Letöltési sor mérete"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Figyelt könyvtár(aut. indítás)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Engedélyezve"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Titkosítás"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Hiba"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Gyors"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Fájlok és helyek"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Erőltetve"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Teljes"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Globális partnerkorlát"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Globális beállítások"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Üresjárati seedkorlát"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Üresjárati seedkorlát engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Befejezetlen fájlok mappája"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Befejezetlen fájlok mappájának engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Információ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy bitfield engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Naplózási szint"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Egyebek"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Nincs"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -192,180 +189,220 @@ msgstr ""
"kapcsolni, adj hozzá egy értéket. Vasárnap - 1, Hétfő - 2, Kedd - 4, Szerda "
"- 8, Csütörtök - 16, Péntek - 32, Szombat - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Ki"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Webes felület megnyitása"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Partner port beállítások"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Partner torlódási algoritmus"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Torrentenkénti partnerkorlát"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Partner port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Véletlenszerű magas partner port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Véletlenszerű alacsony partner port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Véletlenszerű partner port induláskor"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Partner beállítások"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Partner szolgáltatás típus"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Portátirányítás engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "előre lefoglalás"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "Előnyben részesített"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "Előnyben részesített"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Előtöltés engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Elakadt sor engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Elakadás időtartama"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Sorbaállítás"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC azonosítás megkövetelése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "RPC cím rögzítése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "RPC fehérlista"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "RPC fehérlista engedélyezése"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC jelszó"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "RPC beállítások"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "RPC felhasználónév"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "RPC fehérlista"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "RPC fehérlista engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Aránykorlát"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Aránykorlát engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Félkész fájlok átnevezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Démon futtatása felhasználóként"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Démon futtatása felhasználóként"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Ütemezés"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Álló torrentek adatainak lekérdezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Letöltés utáni script engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Letöltés utáni script fájlneve"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Feltöltési sor engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Feltöltési sor mérete"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Letöltési korlát"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Letöltési korlát engedélyezése"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Feltöltési korlát"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Feltöltési korlát engedélyezése"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -373,27 +410,37 @@ msgstr ""
"A Transmission daemon egy egyszerű bittorrent kliens, itt módosíthatod a "
"beállításait."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Eredeti torrent fájlok eldobása"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Feltöltési szálak torrentenként"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Figyelt könyvtár"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "percek száma éjféltől"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "előre lefoglalás"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP engedélyezése"
+
+#~ msgid "Forced"
+#~ msgstr "Erőltetve"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Partner szolgáltatás típus"
diff --git a/applications/luci-app-transmission/po/it/transmission.po b/applications/luci-app-transmission/po/it/transmission.po
index 8bf17026a1..77348e54bb 100644
--- a/applications/luci-app-transmission/po/it/transmission.po
+++ b/applications/luci-app-transmission/po/it/transmission.po
@@ -14,381 +14,415 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Velocità di download alternativo"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Velocità alternativa attivata"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Tempo di velocità alternativa inizio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Tempo di velocità alternativa giorno"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Tempo di velocità alternativa fine"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Periodo di velocità alternativa attiva"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Velocità alternativa di upload"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Avvia automaticamente i torrent aggiunti"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Impostazioni larghezza della banda"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Abilitato"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Informazioni"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/ja/transmission.po b/applications/luci-app-transmission/po/ja/transmission.po
index 5129bf92f1..b8e2a6469e 100644
--- a/applications/luci-app-transmission/po/ja/transmission.po
+++ b/applications/luci-app-transmission/po/ja/transmission.po
@@ -14,381 +14,427 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "一時的な下り速度制限"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "一時的な速度制限機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "一時的な速度制限 開始時間"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "一時的な速度制限 制限日"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "一時的な速度制限 終了時間"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "一時的な速度制限のスケジューリング機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "一時的な上り速度制限"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "追加されたtorrent は自動的に開始する"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "帯域設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "バインドするIPv4 アドレス"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "バインドするIPv6 アドレス"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "ブロックリストを有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "ブロックリスト URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "ブロックリスト"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "キャッシュサイズ (MB)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "コンフィグファイル・ディレクトリ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "コンフィグファイル・ディレクトリ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHTを有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "デバッグ情報"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "ダウンロード先のディレクトリ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "ダウンロード・キュー機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "ダウンロード・キューのサイズ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "ディレクトリ監視機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "サービスを有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "暗号化"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "エラー情報"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "ファイルおよびロケーション設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "強制する"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "全体の最大ピア数"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "グローバル設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "情報"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy bitfield を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "メッセージレベル"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "詳細設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "なし"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "オフ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "WEBブラウザで開く"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "ピアポート設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "torrent 毎の最大ピア数"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "ピアポート"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "ポートをランダムに選択する際の上限値"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "ポートをランダムに選択する際の下限値"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "サービススタート時にポートをランダムに選択する"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "ピア設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "ピアソケットのTOS"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "ポート転送を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "優先する"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "優先する"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "キューイング設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC 認証機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "RPC バインドアドレス"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "RPC ホワイトリスト"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "RPC ホワイトリスト機能を有効にする"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC パスワード"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC ポート"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "RPC 設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "RPC ユーザー名"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "RPC ホワイトリスト"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "RPC ホワイトリスト機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "デーモンのユーザー権限設定"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "デーモンのユーザー権限設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "スケジューラ設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "torrent 完了時にスクリプトを実行する"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "torrent 完了時に実行するスクリプト・ファイルパス"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "下り速度制限"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "下り速度制限機能を有効にする"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "上り速度制限"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "上り速度制限機能を有効にする"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr "Transmissionは、シンプルなbittorrentクライアントです。"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "オリジナルのtorrent ファイルをゴミ箱に移動する"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "監視するディレクトリ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP を有効にする"
+
+#~ msgid "Forced"
+#~ msgstr "強制する"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "ピアソケットのTOS"
diff --git a/applications/luci-app-transmission/po/ko/transmission.po b/applications/luci-app-transmission/po/ko/transmission.po
index 6d0526fadf..8fc4d7ef8a 100644
--- a/applications/luci-app-transmission/po/ko/transmission.po
+++ b/applications/luci-app-transmission/po/ko/transmission.po
@@ -12,381 +12,415 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 2.4.0\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/mr/transmission.po b/applications/luci-app-transmission/po/mr/transmission.po
index 4356e67408..b4ae68c35f 100644
--- a/applications/luci-app-transmission/po/mr/transmission.po
+++ b/applications/luci-app-transmission/po/mr/transmission.po
@@ -14,381 +14,415 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.10.1\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "सक्षम केले"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/ms/transmission.po b/applications/luci-app-transmission/po/ms/transmission.po
index dedfa90627..a2066fb724 100644
--- a/applications/luci-app-transmission/po/ms/transmission.po
+++ b/applications/luci-app-transmission/po/ms/transmission.po
@@ -1,378 +1,412 @@
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/no/transmission.po b/applications/luci-app-transmission/po/no/transmission.po
index 2ae07439bf..5e0d984f5f 100644
--- a/applications/luci-app-transmission/po/no/transmission.po
+++ b/applications/luci-app-transmission/po/no/transmission.po
@@ -14,175 +14,172 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Alternativ nedlastingshastighet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Alternativ hastighet aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Alternativ hastighet start tid"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Alternativ hastighet tid på dagen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Alternativ hastighet tid når ferdig"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Alternativ hastighet tidspunkt aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Alternativ opplastingshastighet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Start automatisk torrents som legges til"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Båndbredde innstillinger"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Bindinger IPv4 adresse"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Bindinger IPv6 adresse"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Blokkeringsliste aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "Blokkeringsliste URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Blokkeringsliste"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Bufferstørrelse i MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Mappe for konfigurasjonsfil"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "Mappe for konfigurasjonsfil"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Feilsøking"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Nedlastingsmappe"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Nedlastingkø aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Nedlastingkø størrelse"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Aktiver overvåking av torrent mappe"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Kryptering"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Feil"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Rask"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Filer og plasseringer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Tvunget"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Full"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Global peer grense"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Globale innstillinger"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Inaktiv seeding grense"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Inaktiv seeding grense aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Ufullstendig mappe"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Ufullstendig mappe aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Info"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy bitfield aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Nivå for meldinger"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Diverse"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Ingen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -192,206 +189,253 @@ msgstr ""
"være aktivert legger en til en verdi. For Søndag - 1, Mandag - 2, Tirsdag - "
"4, Onsdag - 8, Torsdag - 16, Fredag - 32, Lørdag - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Av"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Åpne webgrensesnitt"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Peer port innstillinger"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Peer congestion algoritme"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Peer grense per torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Peer port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Peer port tilfeldig høy"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Peer port tilfeldig lav"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Peer port tilfeldig ved start"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Peer innstillinger"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Peer tilslutning tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Port videresending aktivert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "Prioritert"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "Prioritert"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Blokkeringsliste aktivert"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
+
+#~ msgid "Forced"
+#~ msgstr "Tvunget"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Peer tilslutning tos"
diff --git a/applications/luci-app-transmission/po/pl/transmission.po b/applications/luci-app-transmission/po/pl/transmission.po
index 05e800fc0f..d789c81b0a 100644
--- a/applications/luci-app-transmission/po/pl/transmission.po
+++ b/applications/luci-app-transmission/po/pl/transmission.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-04-19 21:20+0200\n"
-"PO-Revision-Date: 2020-01-13 14:26+0000\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
"Last-Translator: Marcin Net <marcin.net@linux.pl>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationstransmission/pl/>\n"
@@ -13,177 +13,173 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Alternatywna prędkość pobierania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Prędkość alternatywna włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Godzina włączenia prędkości alternatywnej"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Dzień prędkości alternatywnej"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Godzina wyłączenia prędkości alternatywnej"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Włączanie prędkości alternatywnej w podanym czasie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Alternatywna prędkość wysyłania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Automatyczne rozpoczęcie pobierania nowych torrentów"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Ustawienia przepustowości"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Przypisanie adresu IPv4"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Przypisanie adresu IPv6"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Lista blokowania włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "Adres URL listy blokowania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Listy blokowania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Rozmiar pamięci podręcznej w MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Katalog plików konfiguracyjnych"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr "Własny katalog WEB UI"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Debugowanie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Katalog pobierania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Kolejka pobierania włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Rozmiar kolejki pobierania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Włącz folder obserwowany"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Szyfrowanie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Błąd"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Szybko"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Pliki i położenia"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Wymuszone"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Pełne"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Globalny limit peerów"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Ustawienia globalne"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Limit przesyłu w bezczynności"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Włączony limit transferu podczas bezczynności"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Niekompletny katalog"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Opcja \"Niekompletny katalog\" włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Informacja"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy bitfield włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Poziom komunikatów"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Różne"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Brak"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -191,183 +187,217 @@ msgid ""
msgstr ""
"Liczba/pole bitowe. Zaczyna się od 0, następnie dla każdego dnia dla jakiego "
"chcesz włączyć harmonogram dodaj odpowiednią wartość. Niedziela - 1, "
-"Poniedziałek - 2, Wtorek - 4, Środa - 8, Czwartek - 16, Piątek - 32, Sobota -"
-" 64"
+"Poniedziałek - 2, Wtorek - 4, Środa - 8, Czwartek - 16, Piątek - 32, Sobota "
+"- 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Wyłączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Otwórz interfejs Web"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX włączony"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Ustawienia portu peer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Algorytm przeciążenia peer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Limit peer'a dla torrenta"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Port peer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Maksymalny port peer`a"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Minimalny port peer`a"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Losowy port peer`a przy starcie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Ustawienia peer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Typ gniazda <abbr title=\"Type-Of-Service w TCP\">TOS</abbr> peer`a"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Przekazywanie portów włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
-msgstr "Preferowany"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr "Wstępna alokacja"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr "Preferuj szyfrowanie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
+msgstr "Preferuj nieszyfrowane"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Pobieranie wstępne włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Blokada kolejki włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Blokada kolejki w minutach"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Kolejkowanie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "Adres URL RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "Wymagana autoryzacja RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "Adres węzła RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr "Biała lista hostów RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr "Biała lista hostów RPC włączona"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Hasło RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Port RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Ustawienia RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Nazwa użytkownika RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Biała lista RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Biała lista RPC włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Dopuszczalna wartość"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Dopuszczalna wartość włączona"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Zmień nazwy plików częściowych"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr "Uruchom demona jako grupę"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Uruchom daemona jako użytkownik"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Harmonogramowanie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Zdzieranie wstrzymanych torentów włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Włączenie wykonywania skryptu po zakończeniu pobierania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Nazwa skryptu wykonywanego po zakończeniu pobierania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Kolejkowanie Seed'ów włączone"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Rozmiar kolejki Seed'ów"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Limit prędkości pobierania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Limit prędkości pobierania włączony"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Limit prędkości wysyłania"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Limit prędkości wysyłania włączony"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -375,27 +405,37 @@ msgstr ""
"Demon Transmission jest prostym klientem BitTorrent. Tutaj możesz zmienić "
"jego ustawienia."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Usuń oryginalne pliki torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Liczba połączeń na plik torrent - wysyłanie"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Obserwowany folder"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr "godzin"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "w minutach od północy"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "prealokacja"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP włączone"
+
+#~ msgid "Forced"
+#~ msgstr "Wymuszone"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Typ gniazda <abbr title=\"Type-Of-Service w TCP\">TOS</abbr> peer`a"
diff --git a/applications/luci-app-transmission/po/pt-br/transmission.po b/applications/luci-app-transmission/po/pt-br/transmission.po
index 94d57fe06f..ed831e3566 100644
--- a/applications/luci-app-transmission/po/pt-br/transmission.po
+++ b/applications/luci-app-transmission/po/pt-br/transmission.po
@@ -14,175 +14,172 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Velocidade alternativa para download"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Velocidade alternativa ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Hora de início da velocidade alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Dia da velocidade alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Hora final da velocidade alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Temporização da velocidade alternativa habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Velocidade de upload alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Iniciar automaticamente os torrents adicionados"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Configurações de largura de banda"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Endereço de escuta IPv4"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Endereço de escuta IPv6"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Lista de Bloqueios Ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL da lista de Bloqueio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Lista de Bloqueio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Tamanho do cache em MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Diretório dos arquivos de configuração"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "Diretório da interface WEB personalizado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Depuração"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Diretório dos arquivos baixados"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Fila de download ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Tamanho da fila de download"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Habilitar um diretório de monitoramento"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Criptografia"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Erro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Rápido"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Arquivos e Locais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Forçado"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Cheio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Limite global de pares conectados"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Configurações Globais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Limite para parar de semear se ocioso"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Limite para parar de semear se ocioso ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Diretório de incompletos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Ativado diretório para arquivos incompletos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Informação"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Envio de campo de bits incompletos habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Nível de mensagens"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Diversos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Nenhum"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -193,207 +190,257 @@ msgstr ""
"2, terça-feira - 4, quarta-feira - 8, quinta-feira - 16, sexta-feira - 32, "
"Sábado - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Desligado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Abrir interface Web"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Configuração de porta do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Algoritmo de congestionamento dos parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Limite de torrents por parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Porta do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Limite superior da porta aleatória do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Limite inferior da porta aleatória do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Porta aleatória inicial do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Configuração do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "TOS da conexão do parceiro"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Encaminhamento de porta ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "pré-alocação"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
msgstr "Preferencial"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
+msgstr "Preferencial"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Adiantamento de leitura de disco habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Parada de fila habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Parada de fila em minutos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Filas"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC requer autenticação"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "Endereço de escuta do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "Lista branca do RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Lista branca do RPC habilitada"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Senha do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Porta do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Configuração do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Nome de usuário do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Lista branca do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Lista branca do RPC habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Limite da relação"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Limite da relação habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Renomear arquivos parciais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Executar serviço como usuário"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Executar serviço como usuário"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Agendamento"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Ativar a eliminação de torrents pausados"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Script de conclusão de torrent habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Nome do arquivo do script de conclusão de torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Fila de semeadura habilitada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Tamanho da fila de semeadura"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Limite inferior de velocidade"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Limite inferior de velocidade habilitado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Limite superior de velocidade"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Limite superior de velocidade habilitado"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
"O Transmission é um cliente BitTorrent simples, aqui você pode configurá-lo."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Apague os arquivos torrent originais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Vagas para conexão de envio por torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Monitorar diretório"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "em minutos a partir da meia-noite"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "pré-alocação"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP habilitado"
+
+#~ msgid "Forced"
+#~ msgstr "Forçado"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "TOS da conexão do parceiro"
diff --git a/applications/luci-app-transmission/po/pt/transmission.po b/applications/luci-app-transmission/po/pt/transmission.po
index 2f282f7ce9..0759542eeb 100644
--- a/applications/luci-app-transmission/po/pt/transmission.po
+++ b/applications/luci-app-transmission/po/pt/transmission.po
@@ -14,175 +14,172 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Velocidade de download alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Velocidade alternativa activada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Hora de início da velocidade alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Dia da velocidade alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Hora final da velocidade alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Temporização da velocidade alternativa ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Velocidade de subida alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Iniciar automaticamente os torrents adicionados"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Definições de largura de banda"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Endereço de escuta IPv4"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Endereço de escuta IPv6"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Lista de Bloqueios ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL da lista de bloqueio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Lista de Bloqueio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Tamanho em MB do cache"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Diretório do ficheiro de configuração"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "Diretório da interface WEB personalizado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Depurar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Descarregar directório"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Fila para descarregarr ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Tamanho da fila para descarregar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Ativar monitoramento de diretório"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Encriptação"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Erro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Rápido"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Ficheiros e Localizações"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Forçado"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Cheio"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Limite global de parceiros conectados"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Configurações Globais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Limite para parar de semear se ocioso"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Ativar limite para parar de semear se ocioso"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Diretório de incompletos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Ativado diretório incompletos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Info"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Envio de campo de bits incompletos ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Nível de mensagens"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Diversos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Nenhum"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -193,180 +190,220 @@ msgstr ""
"terça-feira - 4, quarta-feira - 8, quinta-feira - 16, sexta-feira - 32, "
"Sábado - 64"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Desligado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Abrir Interface Web"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Configuração de porta do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Algoritmo de congestionamento dos parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Limite de torrents por parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Porta do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Limite superior da porta aleatória do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Limite inferior da porta aleatória do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Porta aleatória inicial do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Configuração do parceiro"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "TOS da conexão do parceiro"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Encaminhamento de porta ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "pré-alocação"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
msgstr "Preferencial"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
+msgstr "Preferencial"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Adiantamento de leitura de disco ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Parada de fila ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Parada de fila em minutos"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Filas"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "URL RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC requer autenticação"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "Endereço de escuta do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "Lista branca do RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Lista branca do RPC ativada"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Palavra-passe de RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Porta RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Definições RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Nome do utilizador RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Lista branca do RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Lista branca do RPC ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Limite da relação"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Limite da relação ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Renomear ficheiros parciais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Executar serviço como utilizador"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Executar serviço como utilizador"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Agendamento"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Busca de informações de torrents pausados ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Script de conclusão de torrent ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Nome do ficheiro do script de conclusão de torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Fila de semeadura ativada"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Tamanho da fila de semeadura"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Limite inferior de velocidade"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Limite inferior de velocidade ativado"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Limite superior de velocidade"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Limite superior de velocidade ativado"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -374,27 +411,37 @@ msgstr ""
"Transmission é um client simples de bittorrent, aqui pode configurar as "
"definições."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Apague os ficheiros torrent originais"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Vagas para conexão de envio por torrent"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Monitorar diretório"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "em minutos a partir da meia-noite"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "pré-alocação"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP ativado"
+
+#~ msgid "Forced"
+#~ msgstr "Forçado"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "TOS da conexão do parceiro"
diff --git a/applications/luci-app-transmission/po/ro/transmission.po b/applications/luci-app-transmission/po/ro/transmission.po
index fa7da2b3eb..2aaa4676d1 100644
--- a/applications/luci-app-transmission/po/ro/transmission.po
+++ b/applications/luci-app-transmission/po/ro/transmission.po
@@ -15,381 +15,420 @@ msgstr ""
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 3.10.1\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Viteză de download alternativă"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Viteză alternativă activată"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Viteza de upload alternativa"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Setari latime de banda"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Activat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Criptare"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Eroare"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Rapid"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Fişiere şi Locaţii"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Forţat"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Setari globale"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Informatii"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Oprit"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
msgstr "Preferat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
+msgstr "Preferat"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
+
+#~ msgid "Forced"
+#~ msgstr "Forţat"
diff --git a/applications/luci-app-transmission/po/ru/transmission.po b/applications/luci-app-transmission/po/ru/transmission.po
index c9622f80f4..6ef26c5676 100644
--- a/applications/luci-app-transmission/po/ru/transmission.po
+++ b/applications/luci-app-transmission/po/ru/transmission.po
@@ -1,189 +1,186 @@
msgid ""
msgstr ""
-"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: LuCI: transmission\n"
"POT-Creation-Date: 2012-08-15 17:35+0300\n"
-"PO-Revision-Date: 2018-02-06 23:49+0300\n"
-"Language-Team: http://cyber-place.ru\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
+"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationstransmission/ru/>\n"
+"Language: ru\n"
"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.7.1\n"
-"Last-Translator: Vladimir aka sunny <picfun@ya.ru>\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"Language: ru\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
+"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Альтернативное ограничение скорости загрузки"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Альтернативное ограничение скорости включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "Время запуска альтернативного ограничения скорости"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "Время суток альтернативного ограничения скорости"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "Время окончания альтернативного ограничения скорости"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "Время запуска альтернативного ограничения скорости"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Альтернативное ограничение скорости раздачи"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Автоматический старт при добавлении торрент файлов"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Настройка скорости"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Используемый IPv4-адрес"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Используемый IPv6-адрес"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Черный список включен"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL ссылка для<br />загрузки Черного списка"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Черный список"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Размер кэша в МБ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Папка расположения<br />сonfig файла"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
+msgstr "Папка расположения пользовательского веб-интерфейса"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT включен"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Отладка"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Папка для загрузки"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Очередь загрузок включена"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Размер очереди загрузок"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Включить папку<br />для торрент файлов"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Шифрование"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Ошибка"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Быстрое"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Файлы и папки"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Обязательно"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Полное"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "Общее ограничение кол-ва<br />пиров для демона"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Основные настройки"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "Приостановить раздачу"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "Приостановка раздачи включена"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Папка для не полностью загруженных файлов"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Папка для не полностью загруженных файлов включена"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Информация"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD включен"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy bitfield включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Запись сообщений в журнал"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Дополнительно"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Ничего"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -194,180 +191,219 @@ msgstr ""
"понедельника - 2, вторника - 4, среды - 8, четверга - 16, пятницы - 32, "
"субботы - 64."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Выключено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Открыть веб-интерфейс"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX включен"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Настройка порта для внешних соединений (пиров)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Алгоритм перегрузки пиров"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "Ограничение кол-ва<br />пиров на торрент файл"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Порт для пиров"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Наибольший случайный<br />порт для пиров"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Наименьший случайный<br />порт для пиров"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Случайный порт для пиров при запуске демона"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Настройка внешних соединений (пиров)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Значение ToS сокета пира"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr "<abbr title=\"Type of Service\">TOS</abbr> сокета пира"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "Перенаправление портов включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
-msgstr "Желательно"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr "Предварительное выделение места для данных"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr "Предпочтительно с шифрованием"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
+msgstr "Предпочтительно без шифрования"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "Включен предварительный<br />резерв места на носителе"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "Приостановка очереди включена"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "Приостановка очереди в минутах"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Формирование очереди"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "URL ссылка для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "Требуется аутентификация для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "Адрес для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "Удаленное управление<br />(RPC) включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "Белый список IP-адресов для доступа к удаленному управлению (RPC)"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Белый список IP-адресов для удаленного управления (RPC) включен"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "Пароль для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "Порт для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Настройка доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "Логин для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Белый список IP-адресов для доступа к удаленному управлению (RPC)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Белый список IP-адресов для удаленного управления (RPC) включен"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "Ограничение отношения отданного к скачанному"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "Ограничение отношения отданного к скачанному включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Переименовывать незавершённые файлы"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr "Требуется шифрование"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr "Запуск демона от имени группы"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Запуск демона<br />от имени пользователя"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Планировщик"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "Выполнять scrape запросы для приостановленных торрентов (нежелательно)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "Запуск скрипта после загрузки торрента включён"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "Путь к скрипту<br />запускаемому по<br />завершении загрузки"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "Ограничение кол-ва<br />сидов включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "Ограничение кол-ва сидов"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "Ограничение скорости загрузки"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "Ограничение скорости загрузки включено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "Ограничение скорости раздачи"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "Ограничение скорости раздачи включено"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+"Это документировано на странице <a href=\"https://www.irif.fr/~jch/software/"
+"bittorrent/tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer "
+"noopener\">tcp-congestion-control</a>."
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -377,27 +413,38 @@ msgstr ""
"установите необходимый для работы пакет демона transmission-daemon-openssl "
"или transmission-daemon-mbedtls."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Удалить торрент файлы"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "Кол-во слотов раздачи на торрент файл"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Папка поиска демоном<br />торрент файлов"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+"Когда включено, переключается значение параметра <b>alt-speed-enabled</b>"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr "часа(ов)"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "в минутах от полуночи"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "Предварительное<br />распределение<br />места под файл"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP включен"
+
+#~ msgid "Forced"
+#~ msgstr "Обязательно"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Значение ToS сокета пира"
diff --git a/applications/luci-app-transmission/po/sk/transmission.po b/applications/luci-app-transmission/po/sk/transmission.po
index 303443d767..b288b99445 100644
--- a/applications/luci-app-transmission/po/sk/transmission.po
+++ b/applications/luci-app-transmission/po/sk/transmission.po
@@ -12,381 +12,415 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.10\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Zapnuté"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/sv/transmission.po b/applications/luci-app-transmission/po/sv/transmission.po
index 490d4e0849..0a8815ba6c 100644
--- a/applications/luci-app-transmission/po/sv/transmission.po
+++ b/applications/luci-app-transmission/po/sv/transmission.po
@@ -12,355 +12,391 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Alternativ nerladdningshastighet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Alternativ hastighet aktiverat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "Alternativ uppladdningshastighet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "Starta tillagda torrents automatiskt"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Inställningar för bandbredd"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Blockeringslista aktiverad"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "Blockeringslistans URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "Blockeringslistor"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Storlek på cache i MB"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Ställ in fil-mapp"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "Ställ in fil-mapp"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "DHT aktiverat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Felsök"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Nedladdningsmapp"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "Nerladdnings-kö aktiverad"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "Storlek på nerladdningskön"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "Aktivera övervakningsmapp"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Aktiverad"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Kryptering"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Fel"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "Snabb"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "Filer och Platser"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "Tvingad"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "Fullständig"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "Globala inställningar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "Ej komplett mapp"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "Ej komplett mapp aktiverad"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Info"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD aktiverat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "Lazy bitfield aktiverat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "Meddelandenivå"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "Diverse"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "Ingen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Av"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "Öppna webbgränssnittet"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX aktiverat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
+msgstr "Föredraget"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
msgstr "Föredraget"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "Köar"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "URL för RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC-autentisering krävs"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "Bindningsadress för RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC aktiverat"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "Vitlista för RPC"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Vitlistan för RPC aktiverad"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC-lösenord"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC-port"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "Inställningar för RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "RPC-användarnamn"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "Vitlista för RPC"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "Vitlistan för RPC aktiverad"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "Döp om icke fullständiga filer"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "Kör daemon som användare"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "Kör daemon som användare"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "Schemaläggning"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
@@ -368,27 +404,34 @@ msgstr ""
"Transmission-demonen är en enkel bittorrent-klient och här kan du ställa in "
"inställningarna."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "Släng de ordinarie torrent-filerna i papperskorgen"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "Övervaka mapp"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP aktiverat"
+
+#~ msgid "Forced"
+#~ msgstr "Tvingad"
diff --git a/applications/luci-app-transmission/po/templates/transmission.pot b/applications/luci-app-transmission/po/templates/transmission.pot
index a1456e8ffa..57671d14be 100644
--- a/applications/luci-app-transmission/po/templates/transmission.pot
+++ b/applications/luci-app-transmission/po/templates/transmission.pot
@@ -1,381 +1,415 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/tr/transmission.po b/applications/luci-app-transmission/po/tr/transmission.po
index e027e7c661..a22b0651eb 100644
--- a/applications/luci-app-transmission/po/tr/transmission.po
+++ b/applications/luci-app-transmission/po/tr/transmission.po
@@ -8,381 +8,415 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/uk/transmission.po b/applications/luci-app-transmission/po/uk/transmission.po
index 18951e203e..f14cb58090 100644
--- a/applications/luci-app-transmission/po/uk/transmission.po
+++ b/applications/luci-app-transmission/po/uk/transmission.po
@@ -15,381 +15,417 @@ msgstr ""
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "Альтернативна швидкість завантаження"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "Альтернативна швидкість увімкнути"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "Налаштування пропускної здатності"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "Прив’язка адреси IPv4"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "Прив’язка адреси IPv6"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "Список заблокованих увімкнено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "Розмір кешу в МБ"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "Каталог файлів конфігурації"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
-msgstr ""
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
+msgstr "Каталог файлів конфігурації"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "Зневаджування"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "Каталог завантажень"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "Увімкнено"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "Шифрування"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "Помилка"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "Інформація"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "Вимк."
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "Список заблокованих увімкнено"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/vi/transmission.po b/applications/luci-app-transmission/po/vi/transmission.po
index dedfa90627..a2066fb724 100644
--- a/applications/luci-app-transmission/po/vi/transmission.po
+++ b/applications/luci-app-transmission/po/vi/transmission.po
@@ -1,378 +1,412 @@
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+msgid "Custom Web UI directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr ""
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
"8, Thursday - 16, Friday - 32, Saturday - 64"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+msgid "Preallocation"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+msgid "Prefer encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+msgid "Prefer unencrypted"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+msgid "RPC host whitelist"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+msgid "RPC host whitelist enabled"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+msgid "Run daemon as group"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr ""
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
-msgid "in minutes from midnight"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
+msgid "in minutes from midnight"
msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr ""
diff --git a/applications/luci-app-transmission/po/zh-cn/transmission.po b/applications/luci-app-transmission/po/zh-cn/transmission.po
index da762dbc4c..9aafe698c0 100644
--- a/applications/luci-app-transmission/po/zh-cn/transmission.po
+++ b/applications/luci-app-transmission/po/zh-cn/transmission.po
@@ -17,175 +17,172 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.10-dev\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "临时下载限速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "临时限速已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "计划限速始于"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "计划限速日期"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "计划限速止于"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "计划限速已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "临时上传速度"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "种子自动下载"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "带宽配置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "绑定 IPv4 地址"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "绑定 IPv6 地址"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "阻止列表已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL阻止清单"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "阻止清单"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "缓存大小(MB)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "配置文件目录"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "自定义 WEB UI 目录"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "启用 DHT"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "调试"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "下载目录"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "下载队列已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "下载队列大小"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "启用种子轮询目录"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "加密"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "错误"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "快速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "文件和位置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "强制"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "全分配"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "全局 Peer 限制"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "全局设置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "空闲做种限时"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "空闲做种时间已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "未完成目录"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "未完成目录已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "信息"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD 已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "位段延迟已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "消息级别"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "杂项"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "空"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -194,206 +191,256 @@ msgstr ""
"生效日期是对应日期的算术加和值。对应关系:周日-1、周一-2、周二-4、周三-8、周"
"四-16、周五-32、周六-64。"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "关"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "打开 Web 管理界面"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX 已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Peer 端口设置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Peer 拥塞算法"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "每个种子 Peer 限制数"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Peer 端口"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Peer 随机端口最大值"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Peer 随机端口最小值"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Peer 端口随机"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Peer 设置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Peer 套接字 tos 值"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "端口转发已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "磁盘预分配策略"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
msgstr "优先"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
+msgstr "优先"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "预取缓存已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "队列暂停已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "队列暂停分钟"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "队列"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC 授权验证"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "RPC 绑定地址"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC 已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "RPC 白名单"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "RPC 白名单已启用"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC 密码"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC 端口"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "RPC 配置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "RPC 用户名"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "RPC 白名单"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "RPC 白名单已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "分享率限值"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "分享率限制已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "重命名未完成文件"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "以此用户权限运行"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "以此用户权限运行"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "计划任务"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "忽略暂停种子已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "种子完成时运行脚本已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "脚本文件名"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "做种队列已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "做种队列大小"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "下载限速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "下载限速已启用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "上传限速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "上传限速已启用"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr "Transmission 是一个简单的 bittorrent 客户端,在这里您可以配置其设置。"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "删除种子源文件"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "每个种子上传连接数"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "轮询种子目录"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "从晚上 00:00 起的分钟数,限速到临时速度"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "磁盘预分配策略"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP 已启用"
+
+#~ msgid "Forced"
+#~ msgstr "强制"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Peer 套接字 tos 值"
diff --git a/applications/luci-app-transmission/po/zh-tw/transmission.po b/applications/luci-app-transmission/po/zh-tw/transmission.po
index 40de4e42f4..39369d9ebc 100644
--- a/applications/luci-app-transmission/po/zh-tw/transmission.po
+++ b/applications/luci-app-transmission/po/zh-tw/transmission.po
@@ -16,175 +16,172 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:39
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:68
msgid "Alternative download speed"
msgstr "臨時下載限速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:36
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:62
msgid "Alternative speed enabled"
msgstr "臨時限速已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
msgid "Alternative speed time begin"
msgstr "計劃限速始於"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid "Alternative speed time day"
msgstr "計劃限速日期"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "Alternative speed time end"
msgstr "計劃限速止於"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:183
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
msgid "Alternative speed timing enabled"
msgstr "計劃限速已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:41
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:65
msgid "Alternative upload speed"
msgstr "臨時上傳速度"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:79
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:116
msgid "Automatically start added torrents"
msgstr "種子自動下載"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:34
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:59
msgid "Bandwidth settings"
msgstr "頻寬配置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:131
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:177
msgid "Binding address IPv4"
msgstr "繫結 IPv4 位址"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:133
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:179
msgid "Binding address IPv6"
msgstr "繫結 IPv6 位址"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:57
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:89
msgid "Block list enabled"
msgstr "阻止列表已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:60
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:92
msgid "Blocklist URL"
msgstr "URL阻止清單"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:55
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:86
msgid "Blocklists"
msgstr "阻止清單"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:31
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:134
msgid "Cache size in MB"
msgstr "快取大小(MB)"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:25
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:53
msgid "Config file directory"
msgstr "配置檔案的目錄"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:32
-msgid "Custom WEB UI directory"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:56
+#, fuzzy
+msgid "Custom Web UI directory"
msgstr "自訂 WEB UI 目錄"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:94
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:136
msgid "DHT enabled"
msgstr "啟用 DHT"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:111
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:154
msgid "Debug"
msgstr "除錯"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:65
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:100
msgid "Download directory"
msgstr "下載目錄"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:202
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:214
msgid "Download queue enabled"
msgstr "下載佇列已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:205
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:220
msgid "Download queue size"
msgstr "下載佇列大小"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:86
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:124
msgid "Enable watch directory"
msgstr "啟用種子輪詢目錄"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:23
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:50
msgid "Enabled"
msgstr "已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:97
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:139
msgid "Encryption"
msgstr "加密"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:109
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:152
msgid "Error"
msgstr "錯誤"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:73
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:110
msgid "Fast"
msgstr "快速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:63
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:97
msgid "Files and Locations"
msgstr "檔案和位置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:100
-msgid "Forced"
-msgstr "強制"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:74
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:111
msgid "Full"
msgstr "全分配"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:136
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:186
msgid "Global peer limit"
msgstr "全域性 Peer 限制"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:19
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:47
msgid "Global settings"
msgstr "全域性設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:123
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:292
msgid "Idle seeding limit"
msgstr "空閒做種限時"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:120
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:289
msgid "Idle seeding limit enabled"
msgstr "空閒做種時間已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:69
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:105
msgid "Incomplete directory"
msgstr "未完成目錄"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:66
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:102
msgid "Incomplete directory enabled"
msgstr "未完成目錄已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:110
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:153
msgid "Info"
msgstr "資訊"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:104
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:147
msgid "LPD enabled"
msgstr "LPD 已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:101
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:144
msgid "Lazy bitfield enabled"
msgstr "位段延遲已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:107
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:150
msgid "Message level"
msgstr "訊息級別"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:92
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:131
msgid "Miscellaneous"
msgstr "其他引數"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:108
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:151
msgid "None"
msgstr "空"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:188
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:286
msgid ""
"Number/bitfield. Start with 0, then for each day you want the scheduler "
"enabled, add a value. For Sunday - 1, Monday - 2, Tuesday - 4, Wednesday - "
@@ -193,206 +190,256 @@ msgstr ""
"生效日期是對應日期的算術加和值。對應關係:週日-1、週一-2、週二-4、週三-8、周"
"四-16、週五-32、週六-64。"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:72
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:98
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:109
msgid "Off"
msgstr "關閉"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:14
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:41
msgid "Open Web Interface"
msgstr "開啟 Web 管理介面"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:112
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:156
msgid "PEX enabled"
msgstr "PEX 已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:140
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:193
msgid "Peer Port settings"
msgstr "Peer 埠設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:135
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:181
msgid "Peer congestion algorithm"
msgstr "Peer 擁塞演算法"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:137
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:188
msgid "Peer limit per torrent"
msgstr "每個種子 Peer 限制數"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:142
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:196
msgid "Peer port"
msgstr "Peer 埠"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:146
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:201
msgid "Peer port random high"
msgstr "Peer 隨機埠最大值"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:148
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:204
msgid "Peer port random low"
msgstr "Peer 隨機埠最小值"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:143
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:198
msgid "Peer port random on start"
msgstr "Peer 埠隨機"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:129
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:174
msgid "Peer settings"
msgstr "Peer 設定"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:138
-msgid "Peer socket tos"
-msgstr "Peer 套接字 tos 值"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:190
+msgid "Peer socket <abbr title=\"Type of Service\">TOS</abbr>"
+msgstr ""
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:150
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:207
msgid "Port forwarding enabled"
msgstr "埠轉發已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:99
-msgid "Preferred"
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:108
+#, fuzzy
+msgid "Preallocation"
+msgstr "磁碟預分配策略"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:141
+#, fuzzy
+msgid "Prefer encrypted"
msgstr "優先"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:75
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:140
+#, fuzzy
+msgid "Prefer unencrypted"
+msgstr "優先"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:159
msgid "Prefetch enabled"
msgstr "預取快取已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:207
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:217
msgid "Queue stalled enabled"
msgstr "佇列暫停已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:210
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:226
msgid "Queue stalled minutes"
msgstr "佇列暫停分鐘"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:200
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:211
msgid "Queueing"
msgstr "佇列"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:163
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:245
msgid "RPC URL"
msgstr "RPC URL"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:171
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:262
msgid "RPC authentication required"
msgstr "RPC 授權驗證"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:161
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:239
msgid "RPC bind address"
msgstr "RPC 繫結位址"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:156
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:236
msgid "RPC enabled"
msgstr "RPC 已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:177
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:252
+#, fuzzy
+msgid "RPC host whitelist"
+msgstr "RPC 白名單"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:248
+#, fuzzy
+msgid "RPC host whitelist enabled"
+msgstr "RPC 白名單已啟用"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:269
msgid "RPC password"
msgstr "RPC 密碼"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:159
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:242
msgid "RPC port"
msgstr "RPC 埠"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:154
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:233
msgid "RPC settings"
msgstr "RPC 配置"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:175
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:266
msgid "RPC username"
msgstr "RPC 使用者名稱"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:169
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:259
msgid "RPC whitelist"
msgstr "RPC 白名單"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:165
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:255
msgid "RPC whitelist enabled"
msgstr "RPC 白名單已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:197
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:298
msgid "Ratio limit"
msgstr "分享率限值"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:194
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:295
msgid "Ratio limit enabled"
msgstr "分享率限制已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:76
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "Recycle peer id after"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:113
msgid "Rename partial files"
msgstr "重新命名未完成檔案"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:26
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:142
+msgid "Require encrypted"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:55
+#, fuzzy
+msgid "Run daemon as group"
+msgstr "使用者組"
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:54
msgid "Run daemon as user"
msgstr "使用者組"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:181
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:274
msgid "Scheduling"
msgstr "計劃任務"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:217
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:161
msgid "Scrape paused torrents enabled"
msgstr "忽略暫停種子已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:115
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:164
msgid "Script torrent done enabled"
msgstr "種子完成時執行指令碼已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:118
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:167
msgid "Script torrent done filename"
msgstr "指令碼檔名"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:212
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:223
msgid "Seed queue enabled"
msgstr "做種佇列已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:215
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:229
msgid "Seed queue size"
msgstr "做種佇列大小"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:46
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:74
msgid "Speed limit down"
msgstr "下載限速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:43
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:71
msgid "Speed limit down enabled"
msgstr "下載限速已啟用"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:51
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:80
msgid "Speed limit up"
msgstr "上傳限速"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:48
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:77
msgid "Speed limit up enabled"
msgstr "上傳限速已啟用"
-#: applications/luci-app-transmission/luasrc/controller/transmission.lua:11
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:182
+msgid ""
+"This is documented on <a href=\"https://www.irif.fr/~jch/software/bittorrent/"
+"tcp-congestion-control.html\" target=\"_blank\" rel=\"noreferrer noopener"
+"\">tcp-congestion-control</a>."
+msgstr ""
+
+#: applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json:3
msgid "Transmission"
msgstr "Transmission"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:17
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:45
msgid ""
"Transmission daemon is a simple bittorrent client, here you can configure "
"the settings."
msgstr "Transmission 是一個簡單的 bittorrent 客戶端,在這裡您可以配置其設定。"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:82
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:119
msgid "Trash original torrent files"
msgstr "刪除種子原始檔"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:53
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:83
msgid "Upload slots per torrent"
msgstr "每個種子上傳連線數"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:89
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:127
msgid "Watch directory"
msgstr "輪詢種子目錄"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:190
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:192
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:277
+msgid "When enabled, this will toggle the <b>alt-speed-enabled</b> setting"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:184
+msgid "hours"
+msgstr ""
+
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:280
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:283
msgid "in minutes from midnight"
msgstr "從晚上 00:00 起的分鐘數,限速到臨時速度"
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:71
-msgid "preallocation"
-msgstr "磁碟預分配策略"
-
-#: applications/luci-app-transmission/luasrc/model/cbi/transmission.lua:125
+#: applications/luci-app-transmission/htdocs/luci-static/resources/view/transmission.js:170
msgid "uTP enabled"
msgstr "uTP 已啟用"
+
+#~ msgid "Forced"
+#~ msgstr "強制"
+
+#~ msgid "Peer socket tos"
+#~ msgstr "Peer 套接字 tos 值"
diff --git a/applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission b/applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission
deleted file mode 100644
index 08dc719974..0000000000
--- a/applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-uci -q batch <<-EOF >/dev/null
- delete ucitrack.@transmission[-1]
- add ucitrack transmission
- set ucitrack.@transmission[-1].init=transmission
- commit ucitrack
-EOF
-
-rm -f /tmp/luci-indexcache
-exit 0
diff --git a/applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json b/applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json
new file mode 100644
index 0000000000..0eff2ad33e
--- /dev/null
+++ b/applications/luci-app-transmission/root/usr/share/luci/menu.d/luci-app-transmission.json
@@ -0,0 +1,9 @@
+{
+ "admin/services/transmission": {
+ "title": "Transmission",
+ "action": {
+ "type": "view",
+ "path": "transmission"
+ }
+ }
+}
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
index c93fdd2569..03c4f5bda2 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_add.lua
@@ -199,7 +199,7 @@ function wssid.write(self, section, value)
elseif encr:formvalue(section) ~= "owe" then
uci:set("wireless", newsection, "key", wkey:formvalue(section) or "")
end
- if ciph and ciph:formvalue(section) ~= "auto" then
+ if ciph and ciph:formvalue(section) and ciph:formvalue(section) ~= "auto" then
uci:set("wireless", newsection, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
else
uci:set("wireless", newsection, "encryption", encr:formvalue(section))
diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
index 6c0a3e186e..066dccacfd 100644
--- a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
+++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate/wifi_edit.lua
@@ -182,7 +182,7 @@ function wssid.write(self, section, value)
elseif encr:formvalue(section) ~= "owe" then
uci:set("wireless", m.hidden.cfg, "key", wkey:formvalue(section) or "")
end
- if ciph and ciph:formvalue(section) ~= "auto" then
+ if ciph and ciph:formvalue(section) and ciph:formvalue(section) ~= "auto" then
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section) .. "+" .. ciph:formvalue(section))
else
uci:set("wireless", m.hidden.cfg, "encryption", encr:formvalue(section))
diff --git a/applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po b/applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po
index 60092c1eba..8dfa02510a 100644
--- a/applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po
+++ b/applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po
@@ -1,14 +1,14 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2020-01-14 15:23+0000\n"
-"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"PO-Revision-Date: 2020-01-19 06:05+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsvpn-policy-routing/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 3.11-dev\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:46
msgid "(strict mode)"
@@ -84,7 +84,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:140
msgid "Configuration"
-msgstr ""
+msgstr "Konfiguration"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:147
msgid "Controls both system log and console output verbosity."
@@ -108,7 +108,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:52
msgid "Disable"
-msgstr ""
+msgstr "Deaktivieren"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:164
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:174
@@ -119,7 +119,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:250
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:254
msgid "Disabled"
-msgstr ""
+msgstr "Deaktiviert"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:246
msgid "Display these protocols in protocol column in Web UI."
@@ -131,7 +131,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:50
msgid "Enable"
-msgstr ""
+msgstr "Aktivieren"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:179
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:204
@@ -142,7 +142,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:271
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:369
msgid "Enabled"
-msgstr ""
+msgstr "Aktiviert"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:231
msgid ""
@@ -176,11 +176,11 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:335
msgid "Interface"
-msgstr ""
+msgstr "Schnittstelle"
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/js.htm:51
msgid "Loading"
-msgstr ""
+msgstr "Lade"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:282
msgid "Local addresses / devices"
@@ -192,7 +192,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:279
msgid "Name"
-msgstr ""
+msgstr "Name"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:207
msgid "No Change"
@@ -235,7 +235,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:42
msgid "Reload"
-msgstr ""
+msgstr "Neu laden"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:294
msgid "Remote addresses / domains"
@@ -254,7 +254,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:44
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:13
msgid "Running"
-msgstr ""
+msgstr "Laufend"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:153
msgid "See the"
@@ -280,7 +280,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:117
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:118
msgid "Service Status"
-msgstr ""
+msgstr "Dienststatus"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:132
msgid "Service Warnings"
@@ -342,7 +342,7 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:40
msgid "Start"
-msgstr ""
+msgstr "Start"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:226
msgid ""
@@ -356,12 +356,12 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:44
msgid "Stop"
-msgstr ""
+msgstr "Stoppen"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:42
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:11
msgid "Stopped"
-msgstr ""
+msgstr "Angehalten"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:153
msgid "Strict enforcement"
@@ -462,4 +462,4 @@ msgstr ""
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:38
msgid "is not installed or not found"
-msgstr ""
+msgstr "ist nicht installiert oder nicht gefunden"
diff --git a/applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po b/applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po
index 7fcd5e26df..93d9c6a6f0 100644
--- a/applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po
+++ b/applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2020-01-13 14:27+0000\n"
-"Last-Translator: Nazym Bavbekov <joker2000joker@list.ru>\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
+"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsvpn-policy-routing/ru/>\n"
"Language: ru\n"
@@ -9,7 +9,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:46
msgid "(strict mode)"
@@ -232,7 +232,7 @@ msgstr "Протокол"
#: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
msgid "README"
-msgstr ""
+msgstr "Описание"
#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/buttons.htm:42
msgid "Reload"
diff --git a/applications/luci-app-vpnbypass/po/ru/vpnbypass.po b/applications/luci-app-vpnbypass/po/ru/vpnbypass.po
index d464c915c1..c1007329c4 100644
--- a/applications/luci-app-vpnbypass/po/ru/vpnbypass.po
+++ b/applications/luci-app-vpnbypass/po/ru/vpnbypass.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: LuCI: vpnbypass\n"
"POT-Creation-Date: 2018-01-01 21:00+0300\n"
-"PO-Revision-Date: 2020-01-11 18:23+0000\n"
-"Last-Translator: Khomyak-sibiryak <owalski@protonmail.com>\n"
+"PO-Revision-Date: 2020-01-19 20:38+0000\n"
+"Last-Translator: Anton Kikin <a.a.kikin@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsvpnbypass/ru/>\n"
"Language: ru\n"
@@ -12,7 +12,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.11-dev\n"
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
@@ -45,8 +45,8 @@ msgid ""
"Local IP addresses or subnets with direct internet access (outside of the "
"VPN tunnel)"
msgstr ""
-"Локальные IP-адреса или подсети с прямым доступом в интернет (вне VPN-"
-"туннеля)."
+"Локальные IP-адреса или подсети с прямым доступом в интернет (вне "
+"VPN-туннеля)"
#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:31
msgid "Local Ports to Bypass"
@@ -74,7 +74,7 @@ msgid ""
"the VPN tunnel)"
msgstr ""
"Удаленные IP-адреса или подсети, которые будут доступны напрямую (вне "
-"туннеля VPN)."
+"туннеля VPN)"
#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:38
msgid "Remote Ports to Bypass"
@@ -103,7 +103,7 @@ msgstr "Обход VPN"
#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:29
msgid "VPN Bypass Rules"
-msgstr ""
+msgstr "Правила обхода VPN"
#: applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua:20
msgid "VPN Bypass Settings"
diff --git a/applications/luci-app-yggdrasil/po/de/yggdrasil.po b/applications/luci-app-yggdrasil/po/de/yggdrasil.po
index b01beb0969..c5018c4b29 100644
--- a/applications/luci-app-yggdrasil/po/de/yggdrasil.po
+++ b/applications/luci-app-yggdrasil/po/de/yggdrasil.po
@@ -1,8 +1,14 @@
msgid ""
msgstr ""
+"PO-Revision-Date: 2020-01-19 06:06+0000\n"
+"Last-Translator: ssantos <ssantos@web.de>\n"
+"Language-Team: German <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsyggdrasil/de/>\n"
"Language: de\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/status.js:32
msgid "Active peers"
@@ -79,7 +85,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:10
msgid "General settings"
-msgstr ""
+msgstr "Allgemeine Einstellungen"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:25
msgid "IPv4 local subnet"
@@ -131,11 +137,11 @@ msgstr ""
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:24
msgid "Interface"
-msgstr ""
+msgstr "Schnittstelle"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:45
msgid "Interface name"
-msgstr ""
+msgstr "Schnittstellenname"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:19
msgid "Interface peers"
@@ -149,7 +155,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:20
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:34
msgid "Key"
-msgstr ""
+msgstr "Schlüssel"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:14
msgid "Link-local TCP port"
@@ -203,7 +209,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/peers.js:10
#: applications/luci-app-yggdrasil/luasrc/controller/yggdrasil.lua:11
msgid "Peers"
-msgstr ""
+msgstr "Verbindungspartner"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:20
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:34
@@ -233,7 +239,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/luasrc/controller/yggdrasil.lua:12
msgid "Settings"
-msgstr ""
+msgstr "Einstellungen"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:17
msgid "Signing private key"
@@ -245,7 +251,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/luasrc/controller/yggdrasil.lua:9
msgid "Status"
-msgstr ""
+msgstr "Status"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:21
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:28
diff --git a/applications/luci-app-yggdrasil/po/pt/yggdrasil.po b/applications/luci-app-yggdrasil/po/pt/yggdrasil.po
index 593a5da90a..2e071dcf54 100644
--- a/applications/luci-app-yggdrasil/po/pt/yggdrasil.po
+++ b/applications/luci-app-yggdrasil/po/pt/yggdrasil.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"PO-Revision-Date: 2020-01-11 18:24+0000\n"
+"PO-Revision-Date: 2020-01-19 06:06+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/openwrt/"
"luciapplicationsyggdrasil/pt/>\n"
@@ -8,7 +8,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 3.10.1\n"
+"X-Generator: Weblate 3.10.2\n"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/status.js:32
msgid "Active peers"
@@ -85,7 +85,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/settings.js:10
msgid "General settings"
-msgstr ""
+msgstr "Configurações gerais"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/tunnel_routing.js:25
msgid "IPv4 local subnet"
@@ -239,7 +239,7 @@ msgstr ""
#: applications/luci-app-yggdrasil/luasrc/controller/yggdrasil.lua:12
msgid "Settings"
-msgstr ""
+msgstr "Configurações"
#: applications/luci-app-yggdrasil/htdocs/luci-static/resources/view/yggdrasil/keys.js:17
msgid "Signing private key"