summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-firewall
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-firewall')
-rw-r--r--applications/luci-app-firewall/po/ar/firewall.po161
-rw-r--r--applications/luci-app-firewall/po/bg/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/bn_BD/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/ca/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/cs/firewall.po127
-rw-r--r--applications/luci-app-firewall/po/da/firewall.po219
-rw-r--r--applications/luci-app-firewall/po/de/firewall.po249
-rw-r--r--applications/luci-app-firewall/po/el/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/en/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/es/firewall.po198
-rw-r--r--applications/luci-app-firewall/po/fa/firewall.po197
-rw-r--r--applications/luci-app-firewall/po/fi/firewall.po221
-rw-r--r--applications/luci-app-firewall/po/fr/firewall.po211
-rw-r--r--applications/luci-app-firewall/po/he/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/hi/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/hu/firewall.po99
-rw-r--r--applications/luci-app-firewall/po/id/firewall.po119
-rw-r--r--applications/luci-app-firewall/po/it/firewall.po119
-rw-r--r--applications/luci-app-firewall/po/ja/firewall.po191
-rw-r--r--applications/luci-app-firewall/po/ko/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/mr/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/ms/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/nb_NO/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/nl/firewall.po196
-rw-r--r--applications/luci-app-firewall/po/pl/firewall.po198
-rw-r--r--applications/luci-app-firewall/po/pt/firewall.po237
-rw-r--r--applications/luci-app-firewall/po/pt_BR/firewall.po237
-rw-r--r--applications/luci-app-firewall/po/ro/firewall.po232
-rw-r--r--applications/luci-app-firewall/po/ru/firewall.po200
-rw-r--r--applications/luci-app-firewall/po/si/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/sk/firewall.po127
-rw-r--r--applications/luci-app-firewall/po/sv/firewall.po109
-rw-r--r--applications/luci-app-firewall/po/templates/firewall.pot95
-rw-r--r--applications/luci-app-firewall/po/tr/firewall.po216
-rw-r--r--applications/luci-app-firewall/po/uk/firewall.po197
-rw-r--r--applications/luci-app-firewall/po/ur/firewall.po95
-rw-r--r--applications/luci-app-firewall/po/vi/firewall.po164
-rw-r--r--applications/luci-app-firewall/po/zh_Hans/firewall.po201
-rw-r--r--applications/luci-app-firewall/po/zh_Hant/firewall.po184
39 files changed, 3204 insertions, 2735 deletions
diff --git a/applications/luci-app-firewall/po/ar/firewall.po b/applications/luci-app-firewall/po/ar/firewall.po
index 24ba9d5f64..2343255114 100644
--- a/applications/luci-app-firewall/po/ar/firewall.po
+++ b/applications/luci-app-firewall/po/ar/firewall.po
@@ -18,14 +18,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -60,11 +60,11 @@ msgstr "‏< ‏‏var/>‏ منع إعادة كتابة المصدر <var data-
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"‎<var data-tooltip=\"DNAT\">Forward</var> to %{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:115
msgid ""
@@ -82,16 +82,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"علامة جدار الحماية <var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -377,7 +377,7 @@ msgstr "عنوان IP خارجي"
msgid "External port"
msgstr "منفذ خارجي"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -441,8 +441,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -489,21 +490,21 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
#, fuzzy
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 ""
-"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>}}"
+"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 ""
+"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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -581,15 +582,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -640,8 +641,8 @@ 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؟ انفجار <var>٪ {limit.burst} </var>}"
+"مطابقة محدودة ل <var>٪ {limit.num} </var> حزم لكل <var>٪ {limit.unit} </"
+"var>٪ {limit.burst؟ انفجار <var>٪ {limit.burst} </var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:169
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
@@ -707,7 +708,7 @@ msgstr ""
"تطابق حركة المرور المعاد توجيهها الناشئة من منفذ المصدر المحدد أو نطاق "
"المنفذ."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "مساعد المطابقة"
@@ -724,7 +725,7 @@ msgstr ""
msgid "Match mark"
msgstr "علامة المطابقة"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "تطابق حركة المرور باستخدام مساعد تتبع الاتصال المحدد."
@@ -839,7 +840,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -900,6 +901,10 @@ msgstr "إعادة توجيه حركة المرور الواردة المتطا
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "يتطلب دعم NAT للأجهزة. تم التنفيذ على الأقل ل MT7621"
@@ -1132,10 +1137,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1171,7 +1176,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "مساعد conntrack غير معروف أو غير مثبت \" %s\""
@@ -1281,6 +1286,12 @@ msgstr "المنطقة=> تَوجِيه"
msgid "Zones"
msgstr "المناطق"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1292,7 +1303,7 @@ msgstr "قبول"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1522,22 +1533,24 @@ msgstr "علامة جدار حماية صالحة"
#, fuzzy
#~ 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>}}"
+#~ "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 ""
-#~ "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>}}"
+#~ "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>}}"
diff --git a/applications/luci-app-firewall/po/bg/firewall.po b/applications/luci-app-firewall/po/bg/firewall.po
index e4b2faac99..ea38d53c39 100644
--- a/applications/luci-app-firewall/po/bg/firewall.po
+++ b/applications/luci-app-firewall/po/bg/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -347,7 +347,7 @@ msgstr "Външен IP адрес"
msgid "External port"
msgstr "Външен порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -411,8 +411,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -443,13 +444,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -528,15 +529,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -649,7 +650,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -664,7 +665,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -773,7 +774,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -826,6 +827,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1033,10 +1038,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1070,7 +1075,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1173,6 +1178,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1184,7 +1195,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/bn_BD/firewall.po b/applications/luci-app-firewall/po/bn_BD/firewall.po
index 0787cc1b0b..306b5c9d51 100644
--- a/applications/luci-app-firewall/po/bn_BD/firewall.po
+++ b/applications/luci-app-firewall/po/bn_BD/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -346,7 +346,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -410,8 +410,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -442,13 +443,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -527,15 +528,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -648,7 +649,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -663,7 +664,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -772,7 +773,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -825,6 +826,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1032,10 +1037,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1069,7 +1074,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1172,6 +1177,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1183,7 +1194,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/ca/firewall.po b/applications/luci-app-firewall/po/ca/firewall.po
index 3aae9cd1c0..37cff2e19a 100644
--- a/applications/luci-app-firewall/po/ca/firewall.po
+++ b/applications/luci-app-firewall/po/ca/firewall.po
@@ -19,14 +19,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -60,8 +60,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -77,14 +77,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -352,7 +352,7 @@ msgstr "Adreça IP extern"
msgid "External port"
msgstr "Port extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -416,8 +416,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -448,13 +449,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -533,15 +534,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -654,7 +655,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -671,7 +672,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -782,7 +783,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -837,6 +838,10 @@ msgstr "Redirigeix trànsit entrant coincidit al host intern especificat"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1059,10 +1064,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1099,7 +1104,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1202,6 +1207,12 @@ msgstr "Zona ⇒ Reenviaments"
msgid "Zones"
msgstr "Zones"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1213,7 +1224,7 @@ msgstr "accepta"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po
index d8c07948eb..c4c40628af 100644
--- a/applications/luci-app-firewall/po/cs/firewall.po
+++ b/applications/luci-app-firewall/po/cs/firewall.po
@@ -15,32 +15,32 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?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 s typy %{item.types#%{next?, }<var>%{item}</"
-"var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? "
-"data-tooltip=\"Porovnat fwmarks kromě %{mark.num}%{mark.mask? s maskou "
-"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maskovat fwmark pomocí %{mark."
-"mask} před porovnáním.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var "
-"data-tooltip=\"Porovnat klasifikaci DSCP kromě %{dscp.num?:%{dscp.name}}\">"
-"%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper %{helper.inv?"
-"<var data-tooltip=\"Porovnat helpery kromě &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<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 s typy %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Porovnat fwmarks kromě %{mark.num}%{mark."
+"mask? s maskou %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maskovat fwmark "
+"pomocí %{mark.mask} před porovnáním.\"}}>%{mark.val}</var>}%{dscp?, DSCP "
+"%{dscp.inv?<var data-tooltip=\"Porovnat klasifikaci DSCP kromě %{dscp.num?:"
+"%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Porovnat helpery kromě &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:461
msgid "-- add IP --"
@@ -69,8 +69,8 @@ msgstr "<var data-tooltip=\"ACCEPT\"> Zabránit přepsání zdroje</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -89,16 +89,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Přiřadit conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Přiřadit conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -127,8 +127,8 @@ 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\">Staticky přepsat</var> na zdroj %{snat_ip?IP <var>"
-"%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+"<var data-tooltip=\"SNAT\">Staticky přepsat</var> na zdroj %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -377,7 +377,7 @@ msgstr "Vnější IP adresa"
msgid "External port"
msgstr "Vnější port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -441,8 +441,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -473,13 +474,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -558,15 +559,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -679,7 +680,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -696,7 +697,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -809,7 +810,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -866,6 +867,10 @@ msgstr "Přesměrovat vybraný příchozí provoz na uvedeného vnitřního host
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Vyžaduje hardwarovou podporu NAT. Implementováno alespoň pro mt7621"
@@ -1086,10 +1091,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1126,7 +1131,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1229,6 +1234,12 @@ msgstr "Zóna ⇒ Přesměrování"
msgid "Zones"
msgstr "Zóny"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1240,7 +1251,7 @@ msgstr "přijmout"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/da/firewall.po b/applications/luci-app-firewall/po/da/firewall.po
index 8bd8b48bf6..c0297ecbf7 100644
--- a/applications/luci-app-firewall/po/da/firewall.po
+++ b/applications/luci-app-firewall/po/da/firewall.po
@@ -17,30 +17,30 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Videresend:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> og "
-"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protokol %{proto#"
-"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
-"<span class=\"cbi-tooltip\">ICMP med typer %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"Match fwmærker undtagen %{mark.num}%{mark.mask? "
-"with mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmærke værdi "
-"med %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp."
-"inv?<var data-tooltip=\"Match DSCP-klassifikationer undtagen %{dscp.num?:"
-"%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
-"%{helper.inv?<var data-tooltip=\"Match enhver hjælper undtagen &quot;"
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protokol "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
+"name}<span class=\"cbi-tooltip\">ICMP med typer %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Match fwmærker undtagen %{mark.num}%{mark."
+"mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmærke "
+"værdi med %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP "
+"%{dscp.inv?<var data-tooltip=\"Match DSCP-klassifikationer undtagen %{dscp."
+"num?:%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, "
+"helper %{helper.inv?<var data-tooltip=\"Match enhver hjælper undtagen &quot;"
"%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper."
"name}\">%{helper.val}</var>}}"
@@ -73,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Forhindrer kildeomskrivning</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Videresend</var> til%{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Videresend</var> til%{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:115
msgid ""
@@ -95,19 +95,19 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Tildel forbindelse</var> hjælper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Tildel forbindelse</var> hjælper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mærke <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mærke "
+"<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -133,8 +133,8 @@ 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\">Statisk omskriv</var> til kilde %{snat_ip?IP <var>"
-"%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+"<var data-tooltip=\"SNAT\">Statisk omskriv</var> til kilde %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -399,7 +399,7 @@ msgstr "Ekstern IP-adresse"
msgid "External port"
msgstr "Ekstern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -463,15 +463,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Videresendt %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }<var>%{item.name}"
"</var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks undtagen "
-"%{mark.num}%{mark.mask? med maske %{mark.mask}}.\":%{mark.mask? data-tooltip="
-"\"Masker fwmark-værdi med %{mark.mask} før sammenligning.\"}}>%{mark.val}</"
-"var>}"
+"%{mark.num}%{mark.mask? med maske %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Masker fwmark-værdi med %{mark.mask} før sammenligning.\"}}>%{mark."
+"val}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -514,21 +515,22 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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 ""
-"Fra %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Match IP adresser undtagen %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Match porte undtagen %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
-"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Match MAC'er undtagen "
+"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 ""
+"Fra %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match IP adresser undtagen %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match porte undtagen %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MAC'er undtagen %{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -606,26 +608,26 @@ msgstr "Medtag fil"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Indgående %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protokol %{proto#%{næste?, }%{item.types?<var "
"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
-"med typer %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>"
-"%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match "
+"med typer %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
+"<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match "
"fwmarks undtagen %{mark.num}%{mark.mask? med maske %{mark.mask}}.\":%{mark."
"mask? data-tooltip=\"Masker fwmark-værdi med %{mark.mask} før sammenligning."
-"\"}}>%{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>}}"
+"\"}}>%{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173
msgid "Initial Hash Size"
@@ -743,7 +745,7 @@ msgstr ""
"Match videresendt trafik, der stammer fra den givne kildeport eller "
"portinterval."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Match hjælper"
@@ -760,7 +762,7 @@ msgstr ""
msgid "Match mark"
msgstr "Match mærke"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Match trafik ved hjælp af den angivne forbindelsessporingshjælper."
@@ -881,7 +883,7 @@ msgstr ""
">Retningspræfikser er valgfrie.<br />*Note: datatype <code>set</code> "
"understøttes ikke i fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -943,6 +945,10 @@ msgstr "Omdiriger matchet indgående trafik til den angivne interne vært"
msgid "Refer To External Set"
msgstr "Henvis til eksternt sæt"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1164,9 +1170,9 @@ msgid ""
msgstr ""
"Til %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, "
"IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP adresser "
-"undtagen %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Match porte undtagen %{item.val}.\"}"
-">%{item.ival}</var>}}"
+"undtagen %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match porte undtagen "
+"%{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55
msgid ""
@@ -1184,15 +1190,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Til %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Match IP adresser undtagen %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Match porte undtagen %{item.val}.\"}>%{item.ival}</var>}}"
+"Til %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match IP adresser undtagen %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match porte undtagen %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1230,7 +1236,7 @@ msgstr ""
"Enhed: sekunder. Standard <code>0</code> betyder, at posten tilføjes "
"permanent til sættet.<br />Max: 2147483 sekunder."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Ukendt eller ikke installeret conntrack-hjælper \"%s\""
@@ -1268,8 +1274,8 @@ msgid ""
"be converted to \"nat\" sections and the firewall will be restarted to apply "
"the updated configuration."
msgstr ""
-"Når du trykker på \"Fortsæt\", vil \"omdirigere\" sektioner med målet \"SNAT"
-"\" blive konverteret til \"nat\" sektioner, og firewallen vil blive "
+"Når du trykker på \"Fortsæt\", vil \"omdirigere\" sektioner med målet "
+"\"SNAT\" blive konverteret til \"nat\" sektioner, og firewallen vil blive "
"genstartet for at anvende den opdaterede konfiguration."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311
@@ -1340,6 +1346,12 @@ msgstr "Zone ⇒ Videresendelser"
msgid "Zones"
msgstr "Zoner"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1351,7 +1363,7 @@ msgstr "accept"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1587,27 +1599,28 @@ msgstr "gyldigt firewallmærke"
#~ "Videresend IPv4%{proto?, protokol %{proto#%{next?, }<var>%{item.name}</"
#~ "var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmærker "
#~ "undtagen %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? "
-#~ "data-tooltip=\"Mask fwmærke værdi med %{mark.mask} før sammenligne.\"}}>"
-#~ "%{mark.val}</var>}"
+#~ "data-tooltip=\"Mask fwmærke værdi med %{mark.mask} før sammenligne.\"}}"
+#~ ">%{mark.val}</var>}"
#~ 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>}}"
+#~ "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 ""
#~ "Indkommende IPv4%{proto?, protokol %{proto#%{next?, }%{item.types?<var "
-#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip"
-#~ "\">ICMP med typer %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
-#~ "<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip="
-#~ "\"Match fwmærker undtagen %{mark.num}%{mark.mask? with mask %{mark.mask}}."
-#~ "\":%{mark.mask? data-tooltip=\"Mask fwmærke værdi med %{mark.mask} before "
-#~ "compare.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-"
-#~ "tooltip=\"Match enhver hjælper undtagen &quot;%{helper.name}&quot;\">"
-#~ "%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-#~ "var>}}"
+#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-"
+#~ "tooltip\">ICMP med typer %{item.types#%{next?, }<var>%{item}</var>}</"
+#~ "span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+#~ "tooltip=\"Match fwmærker undtagen %{mark.num}%{mark.mask? with mask "
+#~ "%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmærke værdi med "
+#~ "%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{helper?, helper "
+#~ "%{helper.inv?<var data-tooltip=\"Match enhver hjælper undtagen &quot;"
+#~ "%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper."
+#~ "name}\">%{helper.val}</var>}}"
diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po
index 46a6f77bfa..d343714136 100644
--- a/applications/luci-app-firewall/po/de/firewall.po
+++ b/applications/luci-app-firewall/po/de/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -38,12 +38,12 @@ msgstr ""
"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>}}"
+"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:461
msgid "-- add IP --"
@@ -65,8 +65,8 @@ msgstr "1024"
msgid ""
"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-tooltip=\"ACCEPT"
-"\">erlauben</var>"
+"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-"
+"tooltip=\"ACCEPT\">erlauben</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:93
msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
@@ -74,39 +74,39 @@ msgstr "<var data-tooltip=\"ACCEPT\">Quellmaskierung unterbinden</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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>}"
+"<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:115
msgid ""
"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-tooltip=\"DROP"
-"\">verwerfen</var>"
+"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-"
+"tooltip=\"DROP\">verwerfen</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133
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>"
+"<var data-tooltip=\"DSCP\">Setze DSCP</var>-Klassifizierung auf "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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>"
+"<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/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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>"
@@ -120,15 +120,15 @@ 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>"
+"%{src?%{dest?Weiterleitungs:Eingangs}:Ausgangs}-<var data-"
+"tooltip=\"NOTRACK\">Tracking verhindern</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121
msgid ""
"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
msgstr ""
-"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-tooltip=\"REJECT"
-"\">ablehnen</var>"
+"%{src?%{dest?Weiterleitung:Eingang}:Ausgang} <var data-"
+"tooltip=\"REJECT\">ablehnen</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87
msgid ""
@@ -407,7 +407,7 @@ msgstr "Externe IP-Adresse"
msgid "External port"
msgstr "Externer Port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -472,15 +472,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Weitergeleitet %{ipv6?%{ipv4?<var>IPv4</var> und <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{proto? protocol %{proto#%{next?, }<var>%{item.name}</"
"var>}%{mark?, mark <var%{mark.inv? data-tooltip=\"Finde fwmarks außer %{mark."
-"num}%{mark.mask? mit Maske %{mark.mask}}.\":%{mark.mask? data-tooltip="
-"\"Maskiere fwmark-Wert mit %{mark.mask} vor dem Vergleich.\"}}>%{mark.val}</"
-"var>}"
+"num}%{mark.mask? mit Maske %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Maskiere fwmark-Wert mit %{mark.mask} vor dem Vergleich.\"}}"
+">%{mark.val}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -497,9 +498,9 @@ msgid ""
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>}}"
+"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:64
msgid ""
@@ -514,30 +515,31 @@ msgid ""
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>}}"
+"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:52
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>}}"
+"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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -615,26 +617,26 @@ msgstr "Datei einschließen"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Eingehende %{ipv6?%{ipv4?<var>IPv4</var> und <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{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="
-"\"Vergleiche fwmarks außer %{mark.num}%{mark.mask? mit Maske %{mark.mask}}."
-"\":%{mark.mask? data-tooltip=\"Maskiere fwmark-Wert mit %{mark.mask} vor dem "
-"Vergleich.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-"
-"tooltip=\"Vergleiche jeden helper außer &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
+"<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=\"Vergleiche fwmarks außer %{mark.num}%{mark.mask? mit Maske %{mark."
+"mask}}.\":%{mark.mask? data-tooltip=\"Maskiere fwmark-Wert mit %{mark.mask} "
+"vor dem Vergleich.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var "
+"data-tooltip=\"Vergleiche jeden helper 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/ipsets.js:173
@@ -755,7 +757,7 @@ msgstr ""
"Selektiert weitergeleiteten Verkehr vom angegebenem Quellport oder "
"Portbereich."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Helfer selektieren"
@@ -772,7 +774,7 @@ msgstr ""
msgid "Match mark"
msgstr "Erfasse Markierung"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Selektiere Verkehr welcher den angegebenen Tracking-Helfer benutzt."
@@ -897,7 +899,7 @@ msgstr ""
"optional.<br />*Hinweis: Datentyp <code>set</code> wird von fw4 nicht "
"unterstützt."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -962,6 +964,10 @@ msgstr "Gefilterte Verbindungen an den angegeben internen Host weiterleiten"
msgid "Refer To External Set"
msgstr "Verweis auf externes Set"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1186,10 +1192,10 @@ msgid ""
"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>}}"
+"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:55
msgid ""
@@ -1200,22 +1206,22 @@ msgid ""
"%{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>}}"
+"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:61
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>}}"
+"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 ""
-"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>}}"
+"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:438
msgid "Tracking helper"
@@ -1253,7 +1259,7 @@ msgstr ""
"Einheit: Sekunden. Voreinstellung <code>0</code> bedeutet der Eintrag wird "
"dauerhaft hinzugefügt.<br />Maximaler Wert: 2147483 Sekunden."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Unbekannter oder nicht installierter Tracking-Helfer \"%s\""
@@ -1363,6 +1369,12 @@ msgstr "Zone ⇒ Weiterleitungen"
msgid "Zones"
msgstr "Zonen"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
# 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:414
@@ -1376,7 +1388,7 @@ msgstr "zulassen"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1496,8 +1508,8 @@ msgstr "ip[/cidr]<br />"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:138
msgid "ip[/cidr]<br />For use with Match datatypes: <code>*_ip</code>."
msgstr ""
-"ip[/cidr]<br />Zur Verwendung mit Übereinstimmungs-Datentypen: "
-"<code>*_ip</code>."
+"ip[/cidr]<br />Zur Verwendung mit Übereinstimmungs-Datentypen: <code>*_ip</"
+"code>."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:63
msgid "ipv4"
@@ -1612,22 +1624,23 @@ msgstr "gültige Firewall-Markierung"
#~ "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>}"
+#~ "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>}"
#~ 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>}}"
+#~ "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-"
diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po
index 138b78a5c0..b61ba7de0e 100644
--- a/applications/luci-app-firewall/po/el/firewall.po
+++ b/applications/luci-app-firewall/po/el/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -60,8 +60,8 @@ msgstr "<var data-tooltip=\"ΑΠΟΔΕΧΟΜΑΙ\">Prevent source rewrite</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -77,14 +77,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -349,7 +349,7 @@ msgstr "Εξωτερική διεύθυνση IP"
msgid "External port"
msgstr "Εξωτερική θύρα"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -413,8 +413,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -445,13 +446,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -530,15 +531,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -653,7 +654,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -668,7 +669,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -777,7 +778,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -830,6 +831,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1042,10 +1047,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1082,7 +1087,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1185,6 +1190,12 @@ msgstr "Ζώνη ⇒ Διαβιβάσεις"
msgid "Zones"
msgstr "Ζώνες"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1196,7 +1207,7 @@ msgstr "αποδοχή"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po
index 1b8842e6ba..125e8af00c 100644
--- a/applications/luci-app-firewall/po/en/firewall.po
+++ b/applications/luci-app-firewall/po/en/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -346,7 +346,7 @@ msgstr ""
msgid "External port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -410,8 +410,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -442,13 +443,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -527,15 +528,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -648,7 +649,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -665,7 +666,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -774,7 +775,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -828,6 +829,10 @@ msgstr "Redirect matched incoming traffic to the specified internal host"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1037,10 +1042,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1074,7 +1079,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1177,6 +1182,12 @@ msgstr ""
msgid "Zones"
msgstr "Zones"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1188,7 +1199,7 @@ msgstr "accept"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po
index d561ccfe4c..a2c6b9fac3 100644
--- a/applications/luci-app-firewall/po/es/firewall.po
+++ b/applications/luci-app-firewall/po/es/firewall.po
@@ -17,32 +17,33 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Reenvío:Entrada}:Salida} %{ipv6?%{ipv4?<var>IPv4</var> y "
-"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocolo %{proto#"
-"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
-"<span class=\"cbi-tooltip\">ICMP con tipos %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, marca <var"
-"%{mark.inv? data-tooltip=\"Hacer coincidir fwmarks excepto %{mark.num}%{mark."
-"mask? con máscara %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Enmascarar el "
-"valor de fwmark con %{mark.mask} antes de comparar.\"}}>%{mark.val}</"
-"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Igualar las "
-"clasificaciones DSCP excepto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:"
-"<var>%{dscp.val}</var>}}%{helper?, ayudante %{helper.inv?<var data-tooltip="
-"\"Iguala a cualquier ayudante excepto &quot;%{helper.name}&quot;\">%{helper."
-"val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocolo "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
+"name}<span class=\"cbi-tooltip\">ICMP con tipos %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, marca "
+"<var%{mark.inv? data-tooltip=\"Hacer coincidir fwmarks excepto %{mark."
+"num}%{mark.mask? con máscara %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Enmascarar el valor de fwmark con %{mark.mask} antes de comparar."
+"\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Igualar "
+"las clasificaciones DSCP excepto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</"
+"var>:<var>%{dscp.val}</var>}}%{helper?, ayudante %{helper.inv?<var data-"
+"tooltip=\"Iguala a cualquier ayudante excepto &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:461
msgid "-- add IP --"
@@ -74,11 +75,11 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Reenviar</var> a %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? puerto <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Reenviar</var> a %{dest}%{dest_ip? IP "
+"<var>%{dest_ip}</var>}%{dest_port? puerto <var>%{dest_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
msgid ""
@@ -97,16 +98,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Asignar conntrack</var> ayudante <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Asignar conntrack</var> ayudante "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Asignar:XOR}</var> marca de "
"cortafuegos<var>%{set_mark?:%{set_xmark}}</var>"
@@ -409,7 +410,7 @@ msgstr "Dirección IP externa"
msgid "External port"
msgstr "Puerto externo"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -474,8 +475,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Reenviado %{ipv6?%{ipv4?<var>IPv4</var> y <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protocolo %{proto#%{next?, }<var>%{item.name}</"
@@ -518,28 +520,29 @@ msgstr ""
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Hacer coincidir las "
"direcciones IP excepto %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
"puerto %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Igualar puertos "
-"excepto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Hacer coincidir MAC excepto %{item."
-"val}%{item.hint.name? a.k.a. %{item.hint.name}}.\":%{item.hint.name? data-"
-"tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+"excepto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Hacer coincidir MAC "
+"excepto %{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:52
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 ""
-"Desde %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Hacer coincidir las direcciones IP excepto %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, puerto %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Igualar puertos excepto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, "
-"MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Hacer coincidir MACs "
-"excepto %{item.val}%{item.hint.name? a.k.a. %{item.hint.name}}.\":%{item."
-"hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+"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 ""
+"Desde %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Hacer coincidir las direcciones IP excepto %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_port?, puerto %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Igualar puertos excepto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Hacer coincidir MACs excepto %{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -619,27 +622,27 @@ msgstr "Incluir archivo"
#, fuzzy
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Entrada %{ipv6?%{ipv4?<var>IPv4</var> e <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protocolo %{proto#%{next?, }%{item.types?<var "
"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
-"con tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>"
-"%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Hacer "
+"con tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
+"<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Hacer "
"coincidir marcas de fw excepto %{mark.num}%{mark.mask? with mask %{mark."
"mask}}.\":%{mark.mask? data-tooltip=\"Enmascarar el valor de fwmark con "
"%{mark.mask} antes de comparar.\"}}>%{mark.val}</var>}%{helper?, ayudante "
"%{helper.inv?<var data-tooltip=\"Coincidir con cualquier ayudante excepto "
-"&quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
-"\"%{helper.name}\">%{helper.val}</var>}}"
+"&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/ipsets.js:173
msgid "Initial Hash Size"
@@ -758,7 +761,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Ayudante de partido"
@@ -775,7 +778,7 @@ msgstr ""
msgid "Match mark"
msgstr "Marca de partido"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -903,7 +906,7 @@ msgstr ""
"net, set</code>.<br />Los prefijos de dirección son opcionales.<br />*Nota: "
"el tipo de dato <code>set</code> no es compatible con fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -968,6 +971,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr "Consultar el conjunto externo"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1213,14 +1220,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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 ""
-"A %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Hacer coincidir las direcciones IP excepto %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, puerto %{dest_port#%{next?, }<var%{item.inv? data-"
+"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 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Hacer coincidir las direcciones IP excepto %{item.val}.\"}>%{item."
+"ival}</var>}}%{dest_port?, puerto %{dest_port#%{next?, }<var%{item.inv? data-"
"tooltip=\"Igualar puertos excepto %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
@@ -1259,7 +1266,7 @@ msgstr ""
"Unidad: segundos. El <code>0</code> predeterminado significa que la entrada "
"se agrega permanentemente al conjunto.<br />Máx.: 2147483 segundos."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Ayudante de Conntrack desconocido o no instalado \"%s\""
@@ -1369,6 +1376,12 @@ msgstr "Zona ⇒ Reenvíos"
msgid "Zones"
msgstr "Zonas"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1380,7 +1393,7 @@ msgstr "aceptar"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1623,22 +1636,23 @@ msgstr "marca de cortafuegos válida"
#~ "mask} antes de comparar.\"}}>%{mark.val}</var>}"
#~ 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>}}"
+#~ "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 entrante%{proto?, protocolo %{proto#%{next?, }%{item.types?<var "
-#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip"
-#~ "\">ICMP con tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
-#~ "<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip="
-#~ "\"Hacer coincidir fwmarks excepto %{mark.num}%{mark.mask? with mask "
-#~ "%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Enmascarar el valor de "
+#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-"
+#~ "tooltip\">ICMP con tipos %{item.types#%{next?, }<var>%{item}</var>}</"
+#~ "span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+#~ "tooltip=\"Hacer coincidir fwmarks excepto %{mark.num}%{mark.mask? with "
+#~ "mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Enmascarar el valor de "
#~ "fwmark con %{mark.mask} antes de comparar.\"}}>%{mark.val}</"
#~ "var>}%{helper?, ayudante %{helper.inv?<var data-tooltip=\"Iguala a "
#~ "cualquier ayudante excepto &quot;%{helper.name}&quot;\">%{helper.val}</"
diff --git a/applications/luci-app-firewall/po/fa/firewall.po b/applications/luci-app-firewall/po/fa/firewall.po
index be0f9539d5..0ccd2a029e 100644
--- a/applications/luci-app-firewall/po/fa/firewall.po
+++ b/applications/luci-app-firewall/po/fa/firewall.po
@@ -17,28 +17,28 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?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 با انواع ICMP %{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."
+"<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 با انواع ICMP %{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."
@@ -72,11 +72,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">جلوگیری از منبع بازنویس
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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> to %{dest}%{dest_ip?آی پی <var>"
-"%{dest_ip}</var>}%{dest_port? پورت <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">ارسال</var> to %{dest}%{dest_ip?آی پی "
+"<var>%{dest_ip}</var>}%{dest_port? پورت <var>%{dest_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
msgid ""
@@ -89,24 +89,24 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">اختصاص DSCP DSCP</var> classification <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">اختصاص DSCP DSCP</var> classification "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">اختصاص conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">اختصاص conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> علامت فایروال <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> علامت فایروال "
+"<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -117,8 +117,8 @@ msgid ""
"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
"output}"
msgstr ""
-"{src?%{dest?forward:input}:output}%</var> رديابي نکن <var data-tooltip="
-"\"NOTRACK\">"
+"{src?%{dest?forward:input}:output}%</var> رديابي نکن <var data-"
+"tooltip=\"NOTRACK\">"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:121
msgid ""
@@ -131,8 +131,8 @@ 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?port <var>%{snat_port}</var>}"
+"<var data-tooltip=\"SNAT\">بازنویسی ایستا</var> به منبع %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -392,7 +392,7 @@ msgstr "آدرس IP خارجی"
msgid "External port"
msgstr "پورت خارجی"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -456,8 +456,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -501,21 +502,21 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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 ""
-"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>}}"
+"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 ""
+"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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -593,15 +594,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -719,7 +720,7 @@ msgstr ""
"با ترافیک ارسال شده منشأ گرفته از درگاه منبع پورت یا محدوده پورت داده شده "
"مطابقت دهید."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "کمک کننده به همخوانی"
@@ -736,7 +737,7 @@ msgstr ""
msgid "Match mark"
msgstr "علامت مطابقت"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "با استفاده از راهنمای ردیابی اتصال مشخص شده، ترافیک را مطابقت دهید."
@@ -852,7 +853,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -912,6 +913,10 @@ msgstr "ترافیک ورودی منطبق را به میزبان داخلی م
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "نیاز به پشتیبانی سخت افزاری NAT دارد. حداقل برای mt7621 اجرا شده است"
@@ -1150,15 +1155,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"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>}}"
+"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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1194,7 +1199,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "راهنمای کنتراک ناشناخته یا نصب نشده\"%s\""
@@ -1304,6 +1309,12 @@ msgstr "فوروارد ⇒منطقه"
msgid "Zones"
msgstr "مناطق"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1315,7 +1326,7 @@ msgstr "تایید"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1544,22 +1555,24 @@ msgstr "علامت فایروال معتبر"
#~ "val}</var>}"
#~ 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>}}"
+#~ "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 ""
-#~ "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>}}"
+#~ "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>}}"
diff --git a/applications/luci-app-firewall/po/fi/firewall.po b/applications/luci-app-firewall/po/fi/firewall.po
index cf48ba1dd8..ba2019d1d6 100644
--- a/applications/luci-app-firewall/po/fi/firewall.po
+++ b/applications/luci-app-firewall/po/fi/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -33,14 +33,14 @@ msgstr ""
"%{src?%{dest?Välitetty:Tuleva}:Lähtevä} %{ipv6?%{ipv4?<var>IPv4</var> ja "
"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protokolla "
"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
-"name}<span class=\"cbi-tooltip\">ICMP tyypit %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"Vastaa muita merkintöjä paitsi %{mark.num}%{mark."
-"mask? maski %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maska merkintä "
-"%{mark.mask} ennen vertailua.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
-"<var data-tooltip=\"Vastaa muita DSCP luikituksia paitsi %{dscp.num?:%{dscp."
-"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
-"%{helper.inv?<var data-tooltip=\"Vastaa muita avustajia paitsi &quot;"
+"name}<span class=\"cbi-tooltip\">ICMP tyypit %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Vastaa muita merkintöjä paitsi %{mark."
+"num}%{mark.mask? maski %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maska "
+"merkintä %{mark.mask} ennen vertailua.\"}}>%{mark.val}</var>}%{dscp?, DSCP "
+"%{dscp.inv?<var data-tooltip=\"Vastaa muita DSCP luikituksia paitsi %{dscp."
+"num?:%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, "
+"helper %{helper.inv?<var data-tooltip=\"Vastaa muita avustajia paitsi &quot;"
"%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper."
"name}\">%{helper.val}</var>}}"
@@ -73,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Estä lähteen uudelleenkirjoitus</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Välitä</var> kohteeseen %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? porttiin <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Välitä</var> kohteeseen %{dest}%{dest_ip? IP "
+"<var>%{dest_ip}</var>}%{dest_port? porttiin <var>%{dest_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
msgid ""
@@ -90,21 +90,21 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip = \"DSCP\"> Määritä DSCP </var> luokittelu <var>"
-"%{set_dscp} </var>"
+"<var data-tooltip = \"DSCP\"> Määritä DSCP </var> luokittelu "
+"<var>%{set_dscp} </var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Määritä yhteydenseuranta</var> avustaja <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Määritä yhteydenseuranta</var> avustaja "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> palomuurimerkintä "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -395,7 +395,7 @@ msgstr "Ulkoinen IP-osoite"
msgid "External port"
msgstr "Ulkoinen portti"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -459,8 +459,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -478,9 +479,9 @@ msgid ""
msgstr ""
"Lähde %{src}%{src_device?, sovitin <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita osoitteita "
-"paitsi %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita portteja paitsi %{item."
-"val}.\"}>%{item.ival}</var>}}"
+"paitsi %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita portteja "
+"paitsi %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -495,31 +496,31 @@ msgid ""
msgstr ""
"Lähde %{src}%{src_device?, sovitin <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita osoitteita "
-"paitsi %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita portteja paitsi %{item."
-"val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item."
-"inv? data-tooltip=\"Vastaa muita MAC paitsi %{item.val}%{item.hint.name? a.k."
-"a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
-"name}\"}}>%{item.ival}</var>}}"
+"paitsi %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita portteja "
+"paitsi %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Vastaa muita MAC paitsi "
+"%{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:52
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 ""
-"Lähde %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita osoitteita paitsi %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita portteja paitsi %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita MAC paitsi %{item.val}%{item.hint.name? a.k.a. %{item.hint."
-"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
-"</var>}}"
+"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 ""
+"Lähde %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita osoitteita paitsi %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita portteja paitsi %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita MAC paitsi %{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -597,15 +598,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -725,7 +726,7 @@ msgstr ""
"Vastaa välitettyä liikennettä, joka on peräisin annetusta portista tai "
"portti-alueesta."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Vastaa auttajaa"
@@ -742,7 +743,7 @@ msgstr ""
msgid "Match mark"
msgstr "Vastaa merkkiä"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Vastaa liikennettä määritetyllä yhteydenseuranta-apurilla."
@@ -857,7 +858,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -917,6 +918,10 @@ msgstr "Uudelleenohjaa saapuva liikenne määritettyyn sisäiseen palvelimeen"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Edellyttää laitteiston NAT-tukea. Toteutettu ainakin mt7621: lle"
@@ -1151,22 +1156,22 @@ msgid ""
"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
"Kohde %{dest}%{dest_device?, via sovitin <var>%{dest_device}</"
-"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita osoitteita paitsi %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita portteja paitsi %{item.val}.\"}>%{item.ival}</var>}}"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita osoitteita paitsi %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita portteja paitsi %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Kohde %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita IP -osoitteita paitsi %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Vastaa muita portteja paitsi %{item.val}.\"}>%{item.ival}</var>}}"
+"Kohde %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita IP -osoitteita paitsi %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Vastaa muita portteja paitsi %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1202,7 +1207,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Tuntematon tai asentamaton conntrack-auttaja \"% s\""
@@ -1240,8 +1245,8 @@ msgid ""
"be converted to \"nat\" sections and the firewall will be restarted to apply "
"the updated configuration."
msgstr ""
-"Kun painat \"Jatka\", \"uudelleenohjaus\" -kohdat, joilla on tavoite \"SNAT"
-"\", muunnetaan \"nat\" -osioiksi ja palomuuri käynnistetään uudelleen "
+"Kun painat \"Jatka\", \"uudelleenohjaus\" -kohdat, joilla on tavoite "
+"\"SNAT\", muunnetaan \"nat\" -osioiksi ja palomuuri käynnistetään uudelleen "
"päivitetyn määrityksen aktivoimiseksi."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311
@@ -1312,6 +1317,12 @@ msgstr "Vyöhyke ⇒ Välitys"
msgid "Zones"
msgstr "Vyöhykkeet"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1323,7 +1334,7 @@ msgstr "hyväksy"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1547,27 +1558,29 @@ msgstr "kelvollinen palomuurimerkintä"
#~ msgstr ""
#~ "Välitetty IPv4%{proto?, protokolla %{proto#%{next?, }<var>%{item.name}</"
#~ "var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Vastaa muita merkitöjä "
-#~ "%{mark.num}%{mark.mask? maski %{mark.mask}}.\":%{mark.mask? data-tooltip="
-#~ "\"Maskaa merkintä %{mark.mask} enne vertailua.\"}}>%{mark.val}</var>}"
+#~ "%{mark.num}%{mark.mask? maski %{mark.mask}}.\":%{mark.mask? data-"
+#~ "tooltip=\"Maskaa merkintä %{mark.mask} enne vertailua.\"}}>%{mark.val}</"
+#~ "var>}"
#~ 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>}}"
+#~ "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 ""
#~ "Saapuva IPv4%{proto?, protokolla %{proto#%{next?, }%{item.types?<var "
-#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip"
-#~ "\">ICMP tyypit %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
-#~ "<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip="
-#~ "\"Vastaa muita merkejä paitsi %{mark.num}%{mark.mask? maskilla %{mark."
-#~ "mask}}.\":%{mark.mask? data-tooltip=\"Maskaa merkkin arvolla %{mark.mask} "
-#~ "before compare.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var "
-#~ "data-tooltip=\"Vastaa muita avustajia paitsi &quot;%{helper.name}&quot;\">"
-#~ "%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-#~ "var>}}"
+#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-"
+#~ "tooltip\">ICMP tyypit %{item.types#%{next?, }<var>%{item}</var>}</span></"
+#~ "var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+#~ "tooltip=\"Vastaa muita merkejä paitsi %{mark.num}%{mark.mask? maskilla "
+#~ "%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maskaa merkkin arvolla "
+#~ "%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{helper?, helper "
+#~ "%{helper.inv?<var data-tooltip=\"Vastaa muita avustajia paitsi &quot;"
+#~ "%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper."
+#~ "name}\">%{helper.val}</var>}}"
diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po
index 78be469168..eb5fc49bf0 100644
--- a/applications/luci-app-firewall/po/fr/firewall.po
+++ b/applications/luci-app-firewall/po/fr/firewall.po
@@ -17,28 +17,28 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?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."
+"<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."
@@ -73,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Empêcher la réécriture de la source</var
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Transférer</var> vers %{dest}%{dest_ip ? IP <var>"
-"%{dest_ip}</var>}%{dest_port ? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Transférer</var> vers %{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:115
msgid ""
@@ -90,24 +90,24 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">Assigner DSCP</var> classification <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">Assigner DSCP</var> classification "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Attribuer conntrack</var> assistant <var"
-"%{helper_name ? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Attribuer conntrack</var> assistant "
+"<var%{helper_name ? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -407,7 +407,7 @@ msgstr "Adresse IP externe"
msgid "External port"
msgstr "Port externe"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -471,15 +471,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Transféré %{ipv6?%{ipv4?<var>IPv4</var> et <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto? protocol %{proto#%{next?, }<var>%{item.name}</"
"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
"%{mark.num}%{mark.mask? avec le mask %{mark.mask}}.\":%{mark.mask? data-"
-"tooltip=\"Valeur de Mask fwmark de %{mark.mask} avant comparaison.\"}}>"
-"%{mark.val}</var>}"
+"tooltip=\"Valeur de Mask fwmark de %{mark.mask} avant comparaison.\"}}"
+">%{mark.val}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -522,21 +523,21 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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 ""
-"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>}}"
+"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 ""
+"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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -614,26 +615,26 @@ msgstr "Inclure le fichier"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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 ""
-"Entrant %{ipv6?%{ipv4?<var>IPv4</var> et <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=\"Valeur de Masque fwmark de %{mark.mask} avant comparaison.\"}}>"
-"%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match "
+"<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>}%{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 ""
+"Entrant %{ipv6?%{ipv4?<var>IPv4</var> et <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=\"Valeur de Masque fwmark de %{mark.mask} avant "
+"comparaison.\"}}>%{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173
msgid "Initial Hash Size"
@@ -753,7 +754,7 @@ msgstr ""
"Fait correspondre le trafic transféré provenant du port source ou de la "
"plage de ports donné."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Assistant à la correspondance"
@@ -770,7 +771,7 @@ msgstr ""
msgid "Match mark"
msgstr "Correspondance mark"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -900,7 +901,7 @@ msgstr ""
">Les préfixes de direction sont optionnels. <br />*Note : datatype "
"<code>set</code> n'est pas supporté dans fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -967,6 +968,10 @@ msgstr "Rediriger le trafic entrant correspondant vers l'hôte interne spécifi
msgid "Refer To External Set"
msgstr "Reportez-vous à l'ensemble externe"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1215,15 +1220,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"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>}}"
+"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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1261,7 +1266,7 @@ msgstr ""
"Unité : secondes. Défaut <code>0</code> signifie que l'entrée est ajoutée de "
"manière permanente à l'ensemble.<br />Max : 2147483 secondes."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Assistant conntrack inconnu ou non installé \"%s\""
@@ -1371,6 +1376,12 @@ msgstr "Zone ⇒ Transferts"
msgid "Zones"
msgstr "Zones"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1382,7 +1393,7 @@ msgstr "accepter"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1617,22 +1628,24 @@ msgstr "marque de pare-feu valide"
#~ "val}</var>}"
#~ 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>}}"
+#~ "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 ""
-#~ "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>}}"
+#~ "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>}}"
diff --git a/applications/luci-app-firewall/po/he/firewall.po b/applications/luci-app-firewall/po/he/firewall.po
index 9f05281d9d..23e2944dd8 100644
--- a/applications/luci-app-firewall/po/he/firewall.po
+++ b/applications/luci-app-firewall/po/he/firewall.po
@@ -15,14 +15,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -56,8 +56,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -73,14 +73,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -344,7 +344,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -408,8 +408,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -440,13 +441,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -525,15 +526,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -646,7 +647,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -661,7 +662,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -770,7 +771,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -823,6 +824,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1030,10 +1035,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1067,7 +1072,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1170,6 +1175,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1181,7 +1192,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/hi/firewall.po b/applications/luci-app-firewall/po/hi/firewall.po
index 2b30ee95dd..a5386da06b 100644
--- a/applications/luci-app-firewall/po/hi/firewall.po
+++ b/applications/luci-app-firewall/po/hi/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -346,7 +346,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -410,8 +410,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -442,13 +443,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -527,15 +528,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -648,7 +649,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -663,7 +664,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -772,7 +773,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -825,6 +826,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1032,10 +1037,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1069,7 +1074,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1172,6 +1177,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1183,7 +1194,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po
index bcfa4449d0..3d2ba15521 100644
--- a/applications/luci-app-firewall/po/hu/firewall.po
+++ b/applications/luci-app-firewall/po/hu/firewall.po
@@ -15,14 +15,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -56,11 +56,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Forrás felülírásának tiltása</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Továbbítás</var> ide: %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Továbbítás</var> ide: %{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:115
msgid ""
@@ -76,14 +76,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -370,7 +370,7 @@ msgstr "Külső IP-cím"
msgid "External port"
msgstr "Külső port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -434,8 +434,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -466,13 +467,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -551,15 +552,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -676,7 +677,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Illesztési segítő"
@@ -693,7 +694,7 @@ msgstr ""
msgid "Match mark"
msgstr "Jelölés illesztése"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Forgalom illesztése a megadott kapcsolatkövető segítő használatával."
@@ -813,7 +814,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -877,6 +878,10 @@ msgstr "Egyező bejövő forgalom átirányítása a megadott belső gépre"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
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"
@@ -1107,10 +1112,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1147,7 +1152,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Ismeretlen vagy nem telepített kapcsolatkövető segítő: „%s”"
@@ -1254,6 +1259,12 @@ msgstr "Zóna ⇒ Továbbítások"
msgid "Zones"
msgstr "Zónák"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1265,7 +1276,7 @@ msgstr "elfogadás"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/id/firewall.po b/applications/luci-app-firewall/po/id/firewall.po
index d82f4ca07a..3f7ee855fd 100644
--- a/applications/luci-app-firewall/po/id/firewall.po
+++ b/applications/luci-app-firewall/po/id/firewall.po
@@ -17,28 +17,28 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?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."
+"<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."
@@ -73,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\"> Cegah penulisan ulang sumber</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Teruskan</var> ke %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Teruskan</var> ke %{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:115
msgid ""
@@ -95,16 +95,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip= \"HELPER\">Tetapkan conntrack </var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip= \"HELPER\">Tetapkan conntrack </var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Tetapkan:XOR}</var> tanda firewall "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -389,7 +389,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -453,8 +453,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -485,13 +486,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -570,15 +571,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -691,7 +692,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -706,7 +707,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -815,7 +816,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -868,6 +869,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1075,10 +1080,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1112,7 +1117,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1215,6 +1220,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1226,7 +1237,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po
index 36b25b5a79..17e71df46d 100644
--- a/applications/luci-app-firewall/po/it/firewall.po
+++ b/applications/luci-app-firewall/po/it/firewall.po
@@ -17,32 +17,32 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?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 con tipi %{item.types#%{next?, }<var>%{item}"
-"</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? "
-"data-tooltip=\"Abbina fwmarks eccetto %{mark.num}%{mark.mask? con maschera "
-"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maschera il valore di fwmark "
-"con %{mark.mask} prima di confrontare.\"}}>%{mark.val}</var>}%{dscp?, DSCP "
-"%{dscp.inv?<var data-tooltip=\"Abbina le classificazioni di DSCP eccetto "
-"%{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp.val}</"
-"var>}}%{helper?, helper %{helper.inv?<var data-tooltip=\"Abbina qualsiasi "
-"assistente eccetto &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var "
-"data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+"<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 con tipi %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Abbina fwmarks eccetto %{mark.num}%{mark."
+"mask? con maschera %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maschera il "
+"valore di fwmark con %{mark.mask} prima di confrontare.\"}}>%{mark.val}</"
+"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Abbina le classificazioni "
+"di DSCP eccetto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp."
+"val}</var>}}%{helper?, helper %{helper.inv?<var data-tooltip=\"Abbina "
+"qualsiasi assistente eccetto &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:461
msgid "-- add IP --"
@@ -73,8 +73,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -90,14 +90,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -365,7 +365,7 @@ msgstr "Indirizzo IP Esterno"
msgid "External port"
msgstr "Porta esterna"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -429,8 +429,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -461,13 +462,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -546,15 +547,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -667,7 +668,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -684,7 +685,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -795,7 +796,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -850,6 +851,10 @@ msgstr "Reindirizza il traffico in entrata allo specifico host interno"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1072,10 +1077,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1112,7 +1117,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1215,6 +1220,12 @@ msgstr "Zona ⇒ Inoltri"
msgid "Zones"
msgstr "Zone"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1226,7 +1237,7 @@ msgstr "accetta"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po
index 91f223834d..e54f12df32 100644
--- a/applications/luci-app-firewall/po/ja/firewall.po
+++ b/applications/luci-app-firewall/po/ja/firewall.po
@@ -17,32 +17,32 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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 ""
-"%{ipv6?%{ipv4?<var>IPv4</var> と <var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</"
-"var>} の %{src?%{dest?転送:受信}:送信}%{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>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?, ヘルパー "
+"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 ""
+"%{ipv6?%{ipv4?<var>IPv4</var> と <var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</"
+"var>} の %{src?%{dest?転送:受信}:送信}%{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=\"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.inv?<var data-"
+"tooltip=\"Match any helper except &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:461
msgid "-- add IP --"
@@ -72,11 +72,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">アクセス元の書き換えを防止</va
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP "
+"<var>%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
msgstr ""
-"%{dest}%{dest_ip? IP <var>%{dest_ip}</var>}%{dest_port? port <var>"
-"%{dest_port}</var>} へ<var data-tooltip=\"DNAT\">転送</var>"
+"%{dest}%{dest_ip? IP <var>%{dest_ip}</var>}%{dest_port? port "
+"<var>%{dest_port}</var>} へ<var data-tooltip=\"DNAT\">転送</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
msgid ""
@@ -92,16 +92,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">conntrack ヘルパー</var>の割り当て - <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">conntrack ヘルパー</var>の割り当て - "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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>"
@@ -130,8 +130,8 @@ 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 ""
-"アクセス元 %{snat_ip?IP <var>%{snat_ip}</var>} %{snat_port?ポート <var>"
-"%{snat_port}</var>} への<var data-tooltip=\"SNAT\">静的書き換え</var>"
+"アクセス元 %{snat_ip?IP <var>%{snat_ip}</var>} %{snat_port?ポート "
+"<var>%{snat_port}</var>} への<var data-tooltip=\"SNAT\">静的書き換え</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -391,7 +391,7 @@ msgstr "外部IPアドレス"
msgid "External port"
msgstr "外部ポート"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -455,8 +455,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -493,28 +494,28 @@ msgstr ""
"var>}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_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>}}"
+"%{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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="
-"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_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>}}"
+"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=\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -592,15 +593,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -718,7 +719,7 @@ msgstr ""
"指定された送信元ポートまたはポート範囲から発信されたトラフィックが対象になり"
"ます。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "ヘルパーの一致"
@@ -735,7 +736,7 @@ msgstr ""
msgid "Match mark"
msgstr "マークの一致"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "指定された接続追跡ヘルパーを使用するトラフィックが対象になります。"
@@ -855,7 +856,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -919,6 +920,10 @@ msgstr "ルールに一致した受信トラフィックを、設定された内
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1160,10 +1165,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
"送信先: %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
"tooltip=\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
@@ -1204,7 +1209,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "不明またはインストールされていない conntrack ヘルパー \"%s\""
@@ -1314,6 +1319,12 @@ msgstr "ゾーン ⇒ 転送"
msgid "Zones"
msgstr "ゾーン"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1325,7 +1336,7 @@ msgstr "許可"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1554,22 +1565,24 @@ msgstr "有効なファイアウォール マーク"
#~ "val}</var>}"
#~ 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>}}"
+#~ "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="
-#~ "\"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.inv?<var data-"
-#~ "tooltip=\"Match any helper except &quot;%{helper.name}&quot;\">%{helper."
-#~ "val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+#~ "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=\"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.inv?"
+#~ "<var data-tooltip=\"Match any helper except &quot;%{helper.name}&quot;"
+#~ "\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}"
+#~ "</var>}}"
diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po
index 92f07e2c96..a8159c35eb 100644
--- a/applications/luci-app-firewall/po/ko/firewall.po
+++ b/applications/luci-app-firewall/po/ko/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -349,7 +349,7 @@ msgstr "외부 IP 주소"
msgid "External port"
msgstr "외부 포트"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -413,8 +413,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -445,13 +446,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -530,15 +531,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -651,7 +652,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -666,7 +667,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -775,7 +776,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -830,6 +831,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1050,10 +1055,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1090,7 +1095,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1193,6 +1198,12 @@ msgstr ""
msgid "Zones"
msgstr "Zone 내역"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1204,7 +1215,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/mr/firewall.po b/applications/luci-app-firewall/po/mr/firewall.po
index 4cdafa4553..7d5b1efe49 100644
--- a/applications/luci-app-firewall/po/mr/firewall.po
+++ b/applications/luci-app-firewall/po/mr/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -346,7 +346,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -410,8 +410,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -442,13 +443,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -527,15 +528,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -648,7 +649,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -663,7 +664,7 @@ msgstr ""
msgid "Match mark"
msgstr "चिन्ह जुळवा"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -772,7 +773,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -825,6 +826,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1032,10 +1037,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1069,7 +1074,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1172,6 +1177,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1183,7 +1194,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/ms/firewall.po b/applications/luci-app-firewall/po/ms/firewall.po
index e8a3b3ec73..50f1799538 100644
--- a/applications/luci-app-firewall/po/ms/firewall.po
+++ b/applications/luci-app-firewall/po/ms/firewall.po
@@ -15,14 +15,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -56,8 +56,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -73,14 +73,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -344,7 +344,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -408,8 +408,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -440,13 +441,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -525,15 +526,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -646,7 +647,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -661,7 +662,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -770,7 +771,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -823,6 +824,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1030,10 +1035,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1067,7 +1072,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1170,6 +1175,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1181,7 +1192,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/nb_NO/firewall.po b/applications/luci-app-firewall/po/nb_NO/firewall.po
index a52c45f9f7..5cb1f548f4 100644
--- a/applications/luci-app-firewall/po/nb_NO/firewall.po
+++ b/applications/luci-app-firewall/po/nb_NO/firewall.po
@@ -13,14 +13,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -54,8 +54,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -71,14 +71,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -345,7 +345,7 @@ msgstr "Ekstern IP adressse"
msgid "External port"
msgstr "Ekstern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -409,8 +409,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -441,13 +442,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -526,15 +527,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -647,7 +648,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -664,7 +665,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -775,7 +776,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -832,6 +833,10 @@ msgstr "Viderekoble matchet innkommende trafikk til den angitte interne vert"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1054,10 +1059,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1094,7 +1099,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1197,6 +1202,12 @@ msgstr "Sone = Videresendinger"
msgid "Zones"
msgstr "Soner"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1208,7 +1219,7 @@ msgstr "godta"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/nl/firewall.po b/applications/luci-app-firewall/po/nl/firewall.po
index a3d49538cf..065c0f6f1d 100644
--- a/applications/luci-app-firewall/po/nl/firewall.po
+++ b/applications/luci-app-firewall/po/nl/firewall.po
@@ -17,32 +17,33 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Forwarded:Inkomend}:Uitgaand} %{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 met types %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"Overeenkomst fwmarks, behalve %{mark.num}%{mark."
-"mask? met masker %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Masker fwmark-"
-"waarde met %{mark.mask} voordat u het vergelijkt\"}}>%{mark.val}</"
-"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Overeenkomst DSCP-"
-"classificaties behalve %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>"
-"%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-tooltip="
-"\"Overeenkomst van elke helper, behalve&quot;%{helper.name}&quot;\">%{helper."
-"val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+"<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 met types %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Overeenkomst fwmarks, behalve %{mark."
+"num}%{mark.mask? met masker %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Masker fwmark-waarde met %{mark.mask} voordat u het vergelijkt\"}}"
+">%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Overeenkomst "
+"DSCP-classificaties behalve %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:"
+"<var>%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-"
+"tooltip=\"Overeenkomst van elke helper, behalve&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:461
msgid "-- add IP --"
@@ -73,11 +74,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Voorkom overschrijven van bron</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Forward</var> to %{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:115
msgid ""
@@ -90,21 +91,21 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">Toewijzen DSCP</var> classificatie <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">Toewijzen DSCP</var> classificatie "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Geassocieerde tracking</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Geassocieerde tracking</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> Firewall markering "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -406,7 +407,7 @@ msgstr "Extern IP-adres"
msgid "External port"
msgstr "Externe poort"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -470,8 +471,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> en <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
@@ -495,9 +497,9 @@ msgid ""
msgstr ""
"Van %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst IP-adressen "
-"behalve %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, poort %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst poorten behalve %{item."
-"val}.\"}>%{item.ival}</var>}}"
+"behalve %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, poort "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst poorten "
+"behalve %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -512,31 +514,31 @@ msgid ""
msgstr ""
"Van %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst ip adres "
-"behalve %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, poort %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst poorten behalve %{item."
-"val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item."
-"inv? data-tooltip=\"Overeenkomst MACs behalve %{item.val}%{item.hint.name? a."
-"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
-"name}\"}}>%{item.ival}</var>}}"
+"behalve %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, poort "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst poorten "
+"behalve %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Overeenkomst MACs behalve "
+"%{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:52
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 ""
-"Van %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Overeenkomst IP adressen, behalve %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, poort %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Overeenkomst poorten, behalve %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip="
-"\"Overeenkomst MACs, behalve %{item.val}%{item.hint.name? a.k.a. %{item.hint."
-"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
-"</var>}}"
+"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 ""
+"Van %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Overeenkomst IP adressen, behalve %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_port?, poort %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Overeenkomst poorten, behalve %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Overeenkomst MACs, behalve %{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -614,27 +616,27 @@ msgstr "Inclusief bestand"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Inkomend %{ipv6?%{ipv4?<var>IPv4</var> en <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 met "
-"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
-"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Overeenkomst "
-"fwmarks, behalve %{mark.num}%{mark.mask? met masker %{mark.mask}}.\":%{mark."
-"mask? data-tooltip=\"Masker fwmark-waarde met %{mark.mask} voordat u het "
-"vergelijkt.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-"
-"tooltip=\"Overeenkomst van elke helper, behalve &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }%{item.types?<var "
+"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
+"met types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
+"<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+"tooltip=\"Overeenkomst fwmarks, behalve %{mark.num}%{mark.mask? met masker "
+"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Masker fwmark-waarde met %{mark."
+"mask} voordat u het vergelijkt.\"}}>%{mark.val}</var>}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Overeenkomst van elke helper, behalve &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/ipsets.js:173
msgid "Initial Hash Size"
@@ -752,7 +754,7 @@ msgstr ""
"Match doorgestuurd verkeer afkomstig van de opgegeven bronpoort of "
"poortbereik."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Match helper"
@@ -769,7 +771,7 @@ msgstr ""
msgid "Match mark"
msgstr "Markering overeenkomst"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -898,7 +900,7 @@ msgstr ""
"set</code>.<br />Richtingvoorvoegsels zijn optioneel.<br />*Noot: datatype "
"<code>set</code> wordt niet ondersteund in fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -962,6 +964,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr "Raadpleeg Externe set"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1199,21 +1205,21 @@ msgid ""
"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
"Naar %{dest}%{dest_device?, via interface <var>%{dest_device}</"
-"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Overeenkomen IP-adressen, behalve %{item.val}.\"}>%{item.ival}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Overeenkomen IP-adressen, behalve %{item.val}.\"}>%{item.ival}</"
"var>}}%{dest_port?, poort %{dest_port#%{next?, }<var% {item.inv? data-"
"tooltip=\"Overeenkomen met poorten, behalve %{item.val}.\"}>%{item.ival}</"
"var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Naar %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Overeenkomen IP-adressen, behalve %{item.val}.\"}>%{item.ival}</"
+"Naar %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Overeenkomen IP-adressen, behalve %{item.val}.\"}>%{item.ival}</"
"var>}}%{dest_port?, poort %{dest_port#%{next?, }<var% {item.inv? data-"
"tooltip=\"Overeenkomen met poorten behalve %{item.val}.\"}>%{item.ival}</"
"var>}}"
@@ -1254,7 +1260,7 @@ msgstr ""
"Eenheid: seconden. Standaard <code>0</code> betekent dat het item permanent "
"aan de set wordt toegevoegd. <br />Max: 2147483 seconden."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Onbekende of niet geïnstalleerde conntrack helper \"%s\""
@@ -1364,6 +1370,12 @@ msgstr "Zone ⇒ Forwardings"
msgid "Zones"
msgstr "Zones"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1375,7 +1387,7 @@ msgstr "accepteer"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po
index c8f13e7ca8..3ea4c9ff2b 100644
--- a/applications/luci-app-firewall/po/pl/firewall.po
+++ b/applications/luci-app-firewall/po/pl/firewall.po
@@ -18,14 +18,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -74,11 +74,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Zapobieganie przepisywaniu źródła</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Przekazuj</var> do %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Przekazuj</var> do %{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:115
msgid ""
@@ -96,16 +96,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Przydziel conntrack</var>-pomocnika <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Przydziel conntrack</var>-pomocnika "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> znacznik zapory "
"sieciowej <var>%{set_mark?:%{set_xmark}}</var>"
@@ -406,7 +406,7 @@ msgstr "Zewnętrzne adresy IP"
msgid "External port"
msgstr "Port zewnętrzny"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -470,8 +470,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Przekazano %{ipv6?%{ipv4?<var>IPv4</var> i <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protokół {proto#%{next?, }<var>%{item.name}</"
@@ -495,9 +496,9 @@ msgid ""
msgstr ""
"Z %{src}%{src_device?, interfejs <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj adresy IP z "
-"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj porty z wyjątkiem %{item."
-"val}.\"}>%{item.ival}</var>}}"
+"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj porty z "
+"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -512,30 +513,31 @@ msgid ""
msgstr ""
"Z %{src}%{src_device?, interfejs <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj adresy IP z "
-"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj porty z wyjątkiem %{item."
-"val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item."
-"inv? data-tooltip=\"Dopasuj adresy MAC z wyjątkiem %{item.val}%{item.hint."
-"name? a.k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item."
-"hint.name}\"}}>%{item.ival}</var>}}"
+"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj porty z "
+"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj adresy MAC z "
+"wyjątkiem %{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:52
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>}}"
+"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 ""
-"Z %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dopasuj adresy IP z wyjątkiem %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dopasuj porty z wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, "
-"MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj adresy MAC z "
-"wyjątkiem %{item.val}%{item.hint.name? zwanym %{item.hint.name}}.\":%{item."
-"hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+"Z %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj adresy IP z wyjątkiem %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj porty z wyjątkiem %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj adresy MAC z wyjątkiem %{item.val}%{item.hint.name? zwanym "
+"%{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -613,15 +615,15 @@ msgstr "Plik dołączany"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Przychodzące %{ipv6?%{ipv4?<var>IPv4</var> i <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{proto?, protokół %{proto#%{next?, }%{item.types?<var "
@@ -629,10 +631,11 @@ msgstr ""
"z typami %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
"name}</var>}}}%{mark?, znacznik <var%{mark.inv? data-tooltip=\"Dopasuj "
"fwmarki oprócz %{mark.num}%{mark.mask? z maską %{mark.mask}}.\":%{mark.mask? "
-"data-tooltip=\"Maskuj wartość fwmark z %{mark.mask} przed porównaniem.\"}}>"
-"%{mark.val}</var>}%{helper?, pomocnik %{helper.inv?<var data-tooltip="
-"\"Dopasuj dowolnego pomocnika oprócz &quot;%{helper.name}&quot;\">%{helper."
-"val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+"data-tooltip=\"Maskuj wartość fwmark z %{mark.mask} przed porównaniem.\"}}"
+">%{mark.val}</var>}%{helper?, pomocnik %{helper.inv?<var data-"
+"tooltip=\"Dopasuj dowolnego pomocnika oprócz &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/ipsets.js:173
msgid "Initial Hash Size"
@@ -749,7 +752,7 @@ msgstr ""
"Dopasuj przekazywany 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Pomocnik dopasowania"
@@ -766,7 +769,7 @@ msgstr ""
msgid "Match mark"
msgstr "Znacznik dopasowania"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Dopasuj ruch, używając określonego pomocnika śledzenia połączeń."
@@ -889,7 +892,7 @@ msgstr ""
"opcjonalne.<br />*Uwaga: typ danych <code>set</code> nie jest obsługiwany w "
"fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -953,6 +956,10 @@ msgstr "Przekieruj ruch przychodzący do wskazanego hosta w sieci wewnętrznej"
msgid "Refer To External Set"
msgstr "Patrz zestaw zewnętrzny"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Wymaga sprzętowej obsługi NAT. Wdrożono dla co najmniej mt7621"
@@ -1173,9 +1180,9 @@ msgid ""
msgstr ""
"Do %{dest}%{dest_device?, interfejs <var>%{dest_device}</var>}%{dest_ip?, IP "
"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj adresy IP z "
-"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj porty z wyjątkiem %{item."
-"val}.\"}>%{item.ival}</var>}}"
+"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Dopasuj porty z "
+"wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:55
msgid ""
@@ -1186,22 +1193,22 @@ msgid ""
"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
"Do %{dest}%{dest_device?, poprzez interfejs <var>%{dest_device}</"
-"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dopasuj adresy IP z wyjątkiem %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dopasuj porty z wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj adresy IP z wyjątkiem %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj porty z wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dopasuj adresy IP z wyjątkiem%{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dopasuj porty z wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}"
+"Do %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj adresy IP z wyjątkiem%{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dopasuj porty z wyjątkiem %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1238,7 +1245,7 @@ msgstr ""
"Jednostka: sekundy. Domyślnie <code>0</code> oznacza, że wpis jest dodany na "
"stałe do zestawu.<br />Maks.: 2147483 sekundy."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Nieznany lub niezainstalowany pomocnik conntrack \"%s\""
@@ -1348,6 +1355,12 @@ msgstr "Strefa ⇒ Przekazywanie"
msgid "Zones"
msgstr "Strefy"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1359,7 +1372,7 @@ msgstr "akceptuj"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1601,23 +1614,24 @@ msgstr "prawidłowy znacznik zapory sieciowej"
#~ "porównaniem.\"}}>%{mark.val}</var>}"
#~ 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>}}"
+#~ "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 ""
#~ "Przychodzące IPv4%{proto?, protokół %{proto#%{next?, }%{item.types?<var "
-#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip"
-#~ "\">ICMP z odmianami %{item.types#%{next?, }<var>%{item}</var>}</span></"
-#~ "var>:<var>%{item.name}</var>}}}%{mark?, znacznik <var%{mark.inv? data-"
-#~ "tooltip=\"Dopasuj fwmarki z wyjątkiem %{mark.num}%{mark.mask? za pomocą "
-#~ "maski %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maskuj wartość fwmark "
-#~ "za pomocą %{mark.mask} przed porównaniem.\"}}>%{mark.val}</"
+#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-"
+#~ "tooltip\">ICMP z odmianami %{item.types#%{next?, }<var>%{item}</var>}</"
+#~ "span></var>:<var>%{item.name}</var>}}}%{mark?, znacznik <var%{mark.inv? "
+#~ "data-tooltip=\"Dopasuj fwmarki z wyjątkiem %{mark.num}%{mark.mask? za "
+#~ "pomocą maski %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maskuj wartość "
+#~ "fwmark za pomocą %{mark.mask} przed porównaniem.\"}}>%{mark.val}</"
#~ "var>}%{helper?, pomocnik %{helper.inv?<var data-tooltip=\"Dopasuj "
#~ "dowolnego pomocnika z wyjątkiem &quot;%{helper.name}&quot;\">%{helper.val}"
#~ "</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po
index c6b8e6323b..4c5082da55 100644
--- a/applications/luci-app-firewall/po/pt/firewall.po
+++ b/applications/luci-app-firewall/po/pt/firewall.po
@@ -17,33 +17,33 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> e "
-"<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 com tipos %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"fwmarks correspondente com excessão %{mark."
-"num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
-"\"Máscara fwmark com valor %{mark.mask} before compare.\"}}>%{mark.val}</"
-"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Classificação DSCP "
-"correspondente exceto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>"
-"%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-tooltip="
-"\"Correspondência com qualquer ajudante exceto &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<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 com tipos %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"fwmarks correspondente com excessão %{mark."
+"num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Máscara fwmark com valor %{mark.mask} before compare.\"}}>%{mark."
+"val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Classificação DSCP "
+"correspondente exceto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:"
+"<var>%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-"
+"tooltip=\"Correspondência com qualquer ajudante exceto &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:461
msgid "-- add IP --"
@@ -74,11 +74,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Prevenir a reescrita da fonte</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Encaminhar</var> para %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Encaminhar</var> para %{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:115
msgid ""
@@ -97,16 +97,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Atribuir auxiliar</var> conntrack <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Atribuir auxiliar</var> conntrack "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> marca do firewall "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -410,7 +410,7 @@ msgstr "Endereço IP externo"
msgid "External port"
msgstr "Porta externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -474,15 +474,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Encaminhado %{ipv6?%{ipv4?<var>IPv4</var> e <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Coincide com fwmarks "
"menos %{mark.num}%{mark.mask? com mask %{mark.mask}}.\":%{mark.mask? data-"
-"tooltip=\"Mascara o valor do fwmark com %{mark.mask} antes compare.\"}}>"
-"%{mark.val}</var>}"
+"tooltip=\"Mascara o valor do fwmark com %{mark.mask} antes compare.\"}}"
+">%{mark.val}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -518,29 +519,30 @@ msgstr ""
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Endereços IP "
"correspondentes exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Portas correspondentes "
-"exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#"
-"%{next?, }<var%{item.inv? data-tooltip=\"MACs correspondentes exceto %{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:52
-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 ""
-"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=\"Portas "
-"correspondentes exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"MACs correspondentes "
"exceto %{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:52
+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 ""
+"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=\"Portas correspondentes exceto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"MACs correspondentes exceto %{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:160
#: 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:180
@@ -617,27 +619,27 @@ msgstr "Incluir ficheiro"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Chegando %{ipv6?%{ipv4?<var>IPv4</var> e <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 com "
-"tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
-"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Coincide com "
-"fwmarks menos %{mark.num}%{mark.mask? com máscara %{mark.mask}}.\":%{mark."
-"mask? data-tooltip=\"Mascara valores fwmark com %{mark.mask} antes de "
-"comparar.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-"
-"tooltip=\"Coincide qualquer auxiliar menos &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }%{item.types?<var "
+"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
+"com tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
+"<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+"tooltip=\"Coincide com fwmarks menos %{mark.num}%{mark.mask? com máscara "
+"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mascara valores fwmark com "
+"%{mark.mask} antes de comparar.\"}}>%{mark.val}</var>}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Coincide qualquer auxiliar menos &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/ipsets.js:173
msgid "Initial Hash Size"
@@ -687,8 +689,8 @@ msgid ""
"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-"Limitar a correspondência de <var>%{limit.num}</var> pacotes por <var>"
-"%{limit.unit}</var>%{limit.burst? estouro <var>%{limit.burst}</var>}"
+"Limitar a correspondência de <var>%{limit.num}</var> pacotes por "
+"<var>%{limit.unit}</var>%{limit.burst? estouro <var>%{limit.burst}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:169
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
@@ -758,7 +760,7 @@ msgstr ""
"Encaminha o tráfego que obteve correspondência originado de uma determinada "
"porta de origem ou faixa de portas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Auxiliar de correspondência"
@@ -775,7 +777,7 @@ msgstr ""
msgid "Match mark"
msgstr "Marca de correspondência"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -904,7 +906,7 @@ msgstr ""
"<br /> Os prefixos de direção são opcionais. <br />*Nota: o tipo de dados "
"<code>set</code> não é suportado no fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -966,6 +968,10 @@ msgstr "Redirecionar o tráfego de entrada correspondente para o host interno"
msgid "Refer To External Set"
msgstr "Consulte o conjunto externo"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1204,22 +1210,22 @@ msgid ""
"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
"Para %{dest}%{dest_device?, via interface <var>%{dest_device}</"
-"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
+"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1257,7 +1263,7 @@ msgstr ""
"Unidade: segundos. Padrão <code>0</code> significa que a entrada é "
"adicionada permanentemente ao conjunto.<br /> Max: 2147483 segundos."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\""
@@ -1367,6 +1373,12 @@ msgstr "Zona ⇒ Encaminhamentos"
msgid "Zones"
msgstr "Zonas"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1378,7 +1390,7 @@ msgstr "aceitar"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1620,23 +1632,24 @@ msgstr "marca de firewall válida"
#~ "compare.\"}}>%{mark.val}</var>}"
#~ 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 ""
-#~ "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=\"fwmarks "
-#~ "correspondentes exceto %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":"
-#~ "%{mark.mask? data-tooltip=\"Mascara valores fwmark com %{mark.mask} "
+#~ "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=\"Correspondência com qualquer auxiliar exceto &quot;"
-#~ "%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper."
-#~ "name}\">%{helper.val}</var>}}"
+#~ "data-tooltip=\"Match any helper except &quot;%{helper.name}&quot;"
+#~ "\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}"
+#~ "</var>}}"
+#~ msgstr ""
+#~ "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=\"fwmarks correspondentes exceto %{mark.num}%{mark.mask? with "
+#~ "mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mascara valores fwmark "
+#~ "com %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{helper?, helper "
+#~ "%{helper.inv?<var data-tooltip=\"Correspondência com qualquer auxiliar "
+#~ "exceto &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-"
+#~ "tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
diff --git a/applications/luci-app-firewall/po/pt_BR/firewall.po b/applications/luci-app-firewall/po/pt_BR/firewall.po
index 4b4e5c9e67..b167631663 100644
--- a/applications/luci-app-firewall/po/pt_BR/firewall.po
+++ b/applications/luci-app-firewall/po/pt_BR/firewall.po
@@ -17,33 +17,33 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> e "
-"<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 com tipos %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"fwmarks correspondente com excessão %{mark."
-"num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
-"\"Máscara fwmark com valor %{mark.mask} before compare.\"}}>%{mark.val}</"
-"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Classificação DSCP "
-"correspondente exceto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>"
-"%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-tooltip="
-"\"Correspondência com qualquer ajudante exceto &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<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 com tipos %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"fwmarks correspondente com excessão %{mark."
+"num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Máscara fwmark com valor %{mark.mask} before compare.\"}}>%{mark."
+"val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Classificação DSCP "
+"correspondente exceto %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:"
+"<var>%{dscp.val}</var>}}%{helper?, helper %{helper.inv?<var data-"
+"tooltip=\"Correspondência com qualquer ajudante exceto &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:461
msgid "-- add IP --"
@@ -73,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Prevenir a reescrita da fonte</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Encaminhar</var> para %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Encaminhar</var> para %{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:115
msgid ""
@@ -95,16 +95,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Atribuir auxiliar</var> conntrack <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Atribuir auxiliar</var> conntrack "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> marca do firewall "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -408,7 +408,7 @@ msgstr "Endereço IP externo"
msgid "External port"
msgstr "Porta Externa"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -472,15 +472,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Encaminhado %{ipv6?%{ipv4?<var>IPv4</var> e <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Coincide com fwmarks "
"menos %{mark.num}%{mark.mask? com mask %{mark.mask}}.\":%{mark.mask? data-"
-"tooltip=\"Mascara o valor do fwmark com %{mark.mask} antes compare.\"}}>"
-"%{mark.val}</var>}"
+"tooltip=\"Mascara o valor do fwmark com %{mark.mask} antes compare.\"}}"
+">%{mark.val}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -516,29 +517,30 @@ msgstr ""
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Endereços IP "
"correspondentes exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Portas correspondentes "
-"exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#"
-"%{next?, }<var%{item.inv? data-tooltip=\"MACs correspondentes exceto %{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:52
-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 ""
-"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=\"Portas "
-"correspondentes exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"exceto %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"MACs correspondentes "
"exceto %{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:52
+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 ""
+"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=\"Portas correspondentes exceto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"MACs correspondentes exceto %{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:160
#: 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:180
@@ -615,27 +617,27 @@ msgstr "Incluir arquivo"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Chegando %{ipv6?%{ipv4?<var>IPv4</var> e <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 com "
-"tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
-"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Coincide com "
-"fwmarks menos %{mark.num}%{mark.mask? com máscara %{mark.mask}}.\":%{mark."
-"mask? data-tooltip=\"Mascara valores fwmark com %{mark.mask} antes de "
-"comparar.\"}}>%{mark.val}</var>}%{helper?, helper %{helper.inv?<var data-"
-"tooltip=\"Coincide qualquer auxiliar menos &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<var>IPv4</var>}%{proto?, protocol %{proto#%{next?, }%{item.types?<var "
+"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
+"com tipos %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
+"<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+"tooltip=\"Coincide com fwmarks menos %{mark.num}%{mark.mask? com máscara "
+"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mascara valores fwmark com "
+"%{mark.mask} antes de comparar.\"}}>%{mark.val}</var>}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Coincide qualquer auxiliar menos &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/ipsets.js:173
msgid "Initial Hash Size"
@@ -685,8 +687,8 @@ msgid ""
"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
msgstr ""
-"Limitar a correspondência de <var>%{limit.num}</var> pacotes por <var>"
-"%{limit.unit}</var>%{limit.burst? estouro <var>%{limit.burst}</var>}"
+"Limitar a correspondência de <var>%{limit.num}</var> pacotes por "
+"<var>%{limit.unit}</var>%{limit.burst? estouro <var>%{limit.burst}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:169
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
@@ -756,7 +758,7 @@ msgstr ""
"Encaminha o tráfego que obteve correspondência originado de uma determinada "
"porta de origem ou faixa de portas."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Auxiliar de correspondência"
@@ -773,7 +775,7 @@ msgstr ""
msgid "Match mark"
msgstr "Marca de correspondência"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -903,7 +905,7 @@ msgstr ""
"<br /> Os prefixos de direção são opcionais. <br />*Nota: o tipo de dados "
"<code>set</code> não é suportado no fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -964,6 +966,10 @@ msgstr "Redireciona tráfego entrante para o computador interno especificado"
msgid "Refer To External Set"
msgstr "Consulte o conjunto externo"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Requer suporte de NAT em hardware. Implementado ao menos para mt7621"
@@ -1200,22 +1206,22 @@ msgid ""
"%{item.val}.\"}>%{item.ival}</var>}}"
msgstr ""
"Para %{dest}%{dest_device?, via interface <var>%{dest_device}</"
-"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
+"Para %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Endereços IP correspondidos exceto %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Portas correspondidas exceto %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1253,7 +1259,7 @@ msgstr ""
"Unidade: segundos. Padrão <code>0</code> significa que a entrada é "
"adicionada permanentemente ao conjunto.<br /> Max: 2147483 segundos."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Auxiliar conntrack desconhecido ou não instalado \"%s\""
@@ -1363,6 +1369,12 @@ msgstr "Zona ⇒ Encaminhamentos"
msgid "Zones"
msgstr "Zonas"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1374,7 +1386,7 @@ msgstr "aceitar"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1616,23 +1628,24 @@ msgstr "marca de firewall válida"
#~ "compare.\"}}>%{mark.val}</var>}"
#~ 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 ""
-#~ "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=\"fwmarks "
-#~ "correspondentes exceto %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":"
-#~ "%{mark.mask? data-tooltip=\"Mascara valores fwmark com %{mark.mask} "
+#~ "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=\"Correspondência com qualquer auxiliar exceto &quot;"
-#~ "%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper."
-#~ "name}\">%{helper.val}</var>}}"
+#~ "data-tooltip=\"Match any helper except &quot;%{helper.name}&quot;"
+#~ "\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}"
+#~ "</var>}}"
+#~ msgstr ""
+#~ "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=\"fwmarks correspondentes exceto %{mark.num}%{mark.mask? with "
+#~ "mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mascara valores fwmark "
+#~ "com %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{helper?, helper "
+#~ "%{helper.inv?<var data-tooltip=\"Correspondência com qualquer auxiliar "
+#~ "exceto &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-"
+#~ "tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po
index cff3299c1e..36d3df1c38 100644
--- a/applications/luci-app-firewall/po/ro/firewall.po
+++ b/applications/luci-app-firewall/po/ro/firewall.po
@@ -16,32 +16,33 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> și "
-"<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 cu tipuri %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"Potrivește fwmarks cu excepția %{mark.num}%{mark."
-"mask? cu masca %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Maschează "
-"valoarea fwmark cu %{mark.mask} înainte de comparație.\"}}>%{mark.val}</"
-"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Potrivește clasificările "
-"DSCP cu excepția %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp."
-"val}</var>}}%{helper?, helper %{helper.inv?<var data-tooltip=\"Potrivește "
-"orice helper cu excepția &quot;%{helper.name}&quot;\">%{helper.val}</var>:"
-"<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+"<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 cu tipuri %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Potrivește fwmarks cu excepția %{mark."
+"num}%{mark.mask? cu masca %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Maschează valoarea fwmark cu %{mark.mask} înainte de comparație."
+"\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-"
+"tooltip=\"Potrivește clasificările DSCP cu excepția %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Potrivește orice helper cu excepția &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:461
msgid "-- add IP --"
@@ -72,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Preveniți rescrierea sursei</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Forward</var> la %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Forward</var> la %{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:115
msgid ""
@@ -94,19 +95,19 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> ajutător <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> ajutător "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> marcaj firewall <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> marcaj firewall "
+"<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -403,7 +404,7 @@ msgstr "Adresă IP externă"
msgid "External port"
msgstr "Port extern"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -467,14 +468,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Redirecționate %{ipv6?%{ipv4?<var>IPv4</var> și <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -490,10 +493,11 @@ msgid ""
"ival}</var>}}"
msgstr ""
"De la %{src}%{src_dispozitiv?, interfață <var>%{src_dispozitiv}</"
-"var>}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Potrivește adresele IP cu excepția lui %{item.val}.\"}>%{item.ival}</"
-"var>}}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Potrivește porturile, cu excepția %{item.val}.\"}>%{item.ival}</var>}}"
+"var>}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Potrivește adresele IP cu excepția lui %{item.val}.\"}>%{item.ival}"
+"</var>}}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Potrivește porturile, cu excepția %{item.val}.\"}>%{item.ival}</"
+"var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -517,21 +521,21 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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 ""
-"De la %{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>}}"
+"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 ""
+"De la %{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -609,26 +613,26 @@ msgstr "Includere fișier"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Intrări %{ipv6?%{ipv4?<var>IPv4</var> și <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>}%{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>}}"
+"<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>}%{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173
msgid "Initial Hash Size"
@@ -746,7 +750,7 @@ msgstr ""
"Potrivește traficul redirecționat care provine din portul sursă sau din "
"intervalul de porturi dat."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Ajutor de potrivire"
@@ -763,7 +767,7 @@ msgstr ""
msgid "Match mark"
msgstr "Marca de meci"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -892,7 +896,7 @@ msgstr ""
"net, set</code>.<br />. Prefixele de direcție sunt opționale.<br />*Nota: "
"tipul de date <code>set</code> nu este acceptat în fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -958,6 +962,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr "Consultați Setul extern"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Necesită suport hardware NAT. Implementat cel puțin pentru mt7621"
@@ -1201,15 +1209,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Către %{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>}}"
+"Către %{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1247,7 +1255,7 @@ msgstr ""
"Unitate: secunde. Implicit <code>0</code> înseamnă că intrarea este adăugată "
"permanent la set. <br /> Max: 2147483 secunde."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Ajutor conntrack necunoscut sau neinstalat \"%s\""
@@ -1285,9 +1293,9 @@ msgid ""
"be converted to \"nat\" sections and the firewall will be restarted to apply "
"the updated configuration."
msgstr ""
-"La apăsarea butonului \"Continue\", secțiunile \"redirect\" cu țintă \"SNAT"
-"\" vor fi convertite în secțiuni \"nat\", iar firewall-ul va fi repornit "
-"pentru a aplica configurația actualizată."
+"La apăsarea butonului \"Continue\", secțiunile \"redirect\" cu țintă "
+"\"SNAT\" vor fi convertite în secțiuni \"nat\", iar firewall-ul va fi "
+"repornit pentru a aplica configurația actualizată."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311
msgid "Use external IP address"
@@ -1357,6 +1365,12 @@ msgstr "Zonă ⇒ Redirecționări"
msgid "Zones"
msgstr "Zone"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1368,7 +1382,7 @@ msgstr "acceptă"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1610,22 +1624,24 @@ msgstr "marca de firewall validă"
#~ "comparație.\"}}>%{mark.val}</var>}"
#~ 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>}}"
+#~ "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 ""
-#~ "Intrând 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>}}"
+#~ "Intrând 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>}}"
diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po
index b69e56d649..ecf47167ce 100644
--- a/applications/luci-app-firewall/po/ru/firewall.po
+++ b/applications/luci-app-firewall/po/ru/firewall.po
@@ -19,14 +19,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -35,16 +35,17 @@ 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."
+"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>}}"
+"классификатора кроме {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:461
msgid "-- add IP --"
@@ -75,8 +76,8 @@ msgstr "<var data-tooltip=\"ACCEPT\">Предотвращать перезапи
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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>}"
@@ -93,13 +94,13 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">Назначить DSCP</var> классификатор <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">Назначить DSCP</var> классификатор "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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}"
@@ -107,8 +108,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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>"
@@ -140,8 +141,8 @@ msgid ""
"<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>}"
+"источника на <var>%{snat_ip}</var>} %{snat_port?порт источника на "
+"<var>%{snat_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -410,7 +411,7 @@ msgstr "Внешний IP-адрес"
msgid "External port"
msgstr "Внешний порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -474,8 +475,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Перенаправление %{ipv6?%{ipv4?<var>IPv4</var> и <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{proto?, протокол %{proto#%{next?, }<var>%{item.name}"
@@ -518,28 +520,29 @@ msgstr ""
"адрес %{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>}}"
+"кроме %{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:52
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."
+"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>}}"
-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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -617,26 +620,26 @@ msgstr "Файл включения"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Входящий %{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."
+"<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=\"Маскировать значение fwmark с %{mark.mask} перед "
"сравнением.\"}}>%{mark.val}</var>}%{helper?, помощник %{helper.inv?<var data-"
-"tooltip=\"Совпадение с любым помощником, кроме &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
+"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/ipsets.js:173
@@ -687,8 +690,8 @@ 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>}"
+"Ограничение до <var>%{limit.num}</var> пакетов в <var>%{limit.unit}</"
+"var>%{limit.burst? барст (burst) <var>%{limit.burst}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:169
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:244
@@ -758,7 +761,7 @@ msgstr ""
"Соответствие перенаправляемого трафика, исходящего от заданного порта "
"источника или диапазона портов."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Соответствие помощнику"
@@ -775,7 +778,7 @@ msgstr ""
msgid "Match mark"
msgstr "Соответствие метки"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -903,7 +906,7 @@ msgstr ""
"направления необязательны.<br />*Примечание: тип данных <code>set</code> не "
"поддерживается в fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -967,6 +970,10 @@ msgstr "Перенаправлять трафик на указанный IP-а
msgid "Refer To External Set"
msgstr "Обращение к внешнему набору"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1202,22 +1209,22 @@ msgid ""
"%{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>}}"
+"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/forwards.js:61
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>}}"
+"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 ""
"В %{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>}}"
+"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:438
msgid "Tracking helper"
@@ -1255,7 +1262,7 @@ msgstr ""
"Единица измерения: секунды. По умолчанию <code>0</code> означает, что запись "
"постоянно добавляется в набор.<br />Максимум: 2147483 секунд."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Неизвестный или не установленный помощник «‎%s»"
@@ -1365,6 +1372,12 @@ msgstr "Зона ⇒ Перенаправления"
msgid "Zones"
msgstr "Зоны"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1376,7 +1389,7 @@ msgstr "принимать"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1617,23 +1630,24 @@ msgstr "верная метка брандмауэра"
#~ "перед сравнением.\"}}>%{mark.val}</var>}"
#~ 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>}}"
+#~ "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}</"
+#~ "Входящий 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>}}"
diff --git a/applications/luci-app-firewall/po/si/firewall.po b/applications/luci-app-firewall/po/si/firewall.po
index 0672cd2ff0..d471568652 100644
--- a/applications/luci-app-firewall/po/si/firewall.po
+++ b/applications/luci-app-firewall/po/si/firewall.po
@@ -17,14 +17,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -75,14 +75,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -346,7 +346,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -410,8 +410,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -442,13 +443,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -527,15 +528,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -648,7 +649,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -663,7 +664,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -772,7 +773,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -825,6 +826,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1032,10 +1037,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1069,7 +1074,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1172,6 +1177,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1183,7 +1194,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/sk/firewall.po b/applications/luci-app-firewall/po/sk/firewall.po
index 0a4c1cf801..3f18327461 100644
--- a/applications/luci-app-firewall/po/sk/firewall.po
+++ b/applications/luci-app-firewall/po/sk/firewall.po
@@ -15,32 +15,32 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> a "
-"<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 s typmi %{item.types#%{next?, }<var>%{item}"
-"</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? "
-"data-tooltip=\"Porovnať fwmarks okrem %{mark.num}%{mark.mask? s maskou "
-"%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Hodnota masky fwmark s %{mark."
-"mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var "
-"data-tooltip=\"Porovnať klasifikácie DSCP okrem %{dscp.num?:%{dscp.name}}\">"
-"%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper %{helper.inv?"
-"<var data-tooltip=\"Porovnať pomocníka s výnimkou &quot;%{helper.name}&quot;"
-"\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<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 s typmi %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Porovnať fwmarks okrem %{mark.num}%{mark."
+"mask? s maskou %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Hodnota masky "
+"fwmark s %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP "
+"%{dscp.inv?<var data-tooltip=\"Porovnať klasifikácie DSCP okrem %{dscp.num?:"
+"%{dscp.name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Porovnať pomocníka s výnimkou &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:461
msgid "-- add IP --"
@@ -70,11 +70,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Zabrániť prepísaniu zdroja</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Presmerovať</var> na %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Presmerovať</var> na %{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:115
msgid ""
@@ -92,16 +92,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Priradiť súhlas</var> pomocníka <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Priradiť súhlas</var> pomocníka "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> značka brány "
"firewall <var>%{set_mark?:%{set_xmark}}</var>"
@@ -375,7 +375,7 @@ msgstr "Vonkajšia adresa IP"
msgid "External port"
msgstr "Vonkajší port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -439,8 +439,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -471,13 +472,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -556,15 +557,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -677,7 +678,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -692,7 +693,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -801,7 +802,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -857,6 +858,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Vyžaduje hardvérovú podporu NAT. Implementované minimálne pre mt7621"
@@ -1070,10 +1075,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1107,7 +1112,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1210,6 +1215,12 @@ msgstr "Zóna ⇒ Presmerovania"
msgid "Zones"
msgstr "Zóny"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1221,7 +1232,7 @@ msgstr "prijať"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po
index ff1dacb927..85960cb71f 100644
--- a/applications/luci-app-firewall/po/sv/firewall.po
+++ b/applications/luci-app-firewall/po/sv/firewall.po
@@ -15,14 +15,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -58,8 +58,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Vidarebefordra</var> till %{dest}%{dest_ip? IP-"
"adress <var>%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
@@ -75,21 +75,21 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">Tilldela DSCP</var> classification <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">Tilldela DSCP</var> classification "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Tilldela conntrack</var>-hjälpare <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Tilldela conntrack</var>-hjälpare "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -357,7 +357,7 @@ msgstr "Extern IP-adress"
msgid "External port"
msgstr "Extern port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -421,8 +421,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -440,9 +441,9 @@ msgid ""
msgstr ""
"Från %{src}%{src_device?, gränssnitt <var>%{src_device}</var>}%{src_ip?, IP-"
"adress %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Matcha IP-adresser "
-"förutom %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Matcha portar förutom %{item.val}."
-"\"}>%{item.ival}</var>}}"
+"förutom %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Matcha portar förutom "
+"%{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -458,13 +459,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -543,15 +544,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -664,7 +665,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -681,7 +682,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -791,7 +792,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -844,6 +845,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Kräver hårdvarustöd för NAT. Implementerad åtminstone för mt7621"
@@ -1053,10 +1058,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1090,7 +1095,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1193,6 +1198,12 @@ msgstr "Zon ⇒ Vidarebefordringar"
msgid "Zones"
msgstr "Zoner"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1204,7 +1215,7 @@ msgstr "acceptera"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/templates/firewall.pot b/applications/luci-app-firewall/po/templates/firewall.pot
index 3cc6b4df85..126b62865f 100644
--- a/applications/luci-app-firewall/po/templates/firewall.pot
+++ b/applications/luci-app-firewall/po/templates/firewall.pot
@@ -4,14 +4,14 @@ msgstr "Content-Type: text/plain; charset=UTF-8"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -45,8 +45,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -62,14 +62,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -333,7 +333,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -397,8 +397,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -429,13 +430,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -514,15 +515,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -635,7 +636,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -650,7 +651,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -759,7 +760,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -812,6 +813,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1019,10 +1024,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1056,7 +1061,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1159,6 +1164,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1170,7 +1181,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/tr/firewall.po b/applications/luci-app-firewall/po/tr/firewall.po
index 575d8333df..2e4152f1ff 100644
--- a/applications/luci-app-firewall/po/tr/firewall.po
+++ b/applications/luci-app-firewall/po/tr/firewall.po
@@ -15,33 +15,33 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Yönlendirilen:Gelen}:Giden} %{ipv6?%{ipv4?<var>IPv4</var> ve "
-"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protokol %{proto#"
-"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
-"<span class=\"cbi-tooltip\">Türlerle ICMP %{item.types#%{next?, }<var>%{item}"
-"</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? "
-"data-tooltip=\"Şunlar dışında fwmark'ları eşleştir %{mark.num}%{mark.mask? "
-"with mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Fwmark değerini "
-"şununla maskele %{mark.mask} karşılaştırmadan önce.\"}}>%{mark.val}</"
-"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Şunlar dışında DSCP "
-"sınıflandırmalarını eşleştir %{dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:"
-"<var>%{dscp.val}</var>}}%{helper?, yardımcı %{helper.inv?<var data-tooltip="
-"\"Bunun harici herhangi bir yardımcı ile eşleş &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protokol "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
+"name}<span class=\"cbi-tooltip\">Türlerle ICMP %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"Şunlar dışında fwmark'ları eşleştir %{mark."
+"num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Fwmark değerini şununla maskele %{mark.mask} karşılaştırmadan önce."
+"\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Şunlar "
+"dışında DSCP sınıflandırmalarını eşleştir %{dscp.num?:%{dscp.name}}\">%{dscp."
+"val}</var>:<var>%{dscp.val}</var>}}%{helper?, yardımcı %{helper.inv?<var "
+"data-tooltip=\"Bunun harici herhangi bir yardımcı ile eşleş &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:461
msgid "-- add IP --"
@@ -73,11 +73,11 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Yönlendir</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Yönlendir</var> to %{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:115
msgid ""
@@ -95,16 +95,16 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
-"<var data-tooltip=\"HELPER\">Bağlantı atama </var> yardımcı <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Bağlantı atama </var> yardımcı "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
"<var data-tooltip=\"MARK\">%{set_mark?Ata:XOR}</var> güvenlik duvarı işareti "
"<var>%{set_mark?:%{set_xmark}}</var>"
@@ -396,7 +396,7 @@ msgstr "Harici IP adresi"
msgid "External port"
msgstr "Harici port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -460,8 +460,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -479,9 +480,9 @@ msgid ""
msgstr ""
"Nereden %{src}%{src_device?, arayüz <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Şu hariç IP adreslerini "
-"eşleştir %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Dışındaki bağlantı noktalarını "
-"eşleştir %{item.val}.\"}>%{item.ival}</var>}}"
+"eşleştir %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Dışındaki bağlantı "
+"noktalarını eşleştir %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -496,31 +497,31 @@ msgid ""
msgstr ""
"Nereden %{src}%{src_device?, arayüz <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Şu hariç IP adreslerini "
-"eşleştir %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Dışındaki bağlantı noktalarını "
-"eşleştir %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#"
-"%{next?, }<var%{item.inv? data-tooltip=\"Dışındaki MAC'leri eşleştir %{item."
-"val}%{item.hint.name? a.k.a. %{item.hint.name}}.\":%{item.hint.name? data-"
-"tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+"eşleştir %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Dışındaki bağlantı "
+"noktalarını eşleştir %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
+"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Dışındaki MAC'leri "
+"eşleştir %{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:52
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 ""
-"Nereden %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Şu hariç IP adreslerini eşleştir %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dışındaki bağlantı noktalarını eşleştir %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dışındaki MAC'leri eşleştir %{item.val}%{item.hint.name? a.k.a. %{item."
-"hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item."
-"ival}</var>}}"
+"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 ""
+"Nereden %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Şu hariç IP adreslerini eşleştir %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_port?, port %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dışındaki bağlantı noktalarını eşleştir %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dışındaki MAC'leri eşleştir %{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -598,15 +599,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -725,7 +726,7 @@ msgstr ""
"Verilen kaynak bağlantı noktasından veya bağlantı noktası aralığından gelen "
"iletilen trafiği eşleştirin."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Yardımcıyı eşleştir"
@@ -742,7 +743,7 @@ msgstr ""
msgid "Match mark"
msgstr "İşaretleri eşleştir"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Belirtilen bağlantı izleme yardımcısını kullanarak trafiği eşleştirin."
@@ -858,7 +859,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -920,6 +921,10 @@ msgstr "Gelen trafiği belirtilen dahili ana bilgisayara yönlendirin"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Donanımsal NAT desteği gerektirir. En az mt7621 için uygulanabilir"
@@ -1155,22 +1160,22 @@ msgstr ""
"Buraya %{dest}%{dest_device?, arayüz aracılığıyla <var>%{dest_device}</"
"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Şu "
"hariç IP adreslerini eşleştir %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dışındaki bağlantı noktalarını eşleştir %{item.val}.\"}>%{item.ival}</"
-"var>}}"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dışındaki bağlantı noktalarını eşleştir %{item.val}.\"}>%{item."
+"ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
"Buraya %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
"tooltip=\"Şu hariç IP adreslerini eşleştir %{item.val}.\"}>%{item.ival}</"
-"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Dışındaki bağlantı noktalarını eşleştir %{item.val}.\"}>%{item.ival}</"
-"var>}}"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Dışındaki bağlantı noktalarını eşleştir %{item.val}.\"}>%{item."
+"ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1206,7 +1211,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Bilinmeyen veya yüklenmemiş bağlantı yolu yardımcısı \"%s\""
@@ -1316,6 +1321,12 @@ msgstr "Bölge ⇒ Yönlendirmeler"
msgid "Zones"
msgstr "Bölgeler"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1327,7 +1338,7 @@ msgstr "kabul et"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1564,23 +1575,24 @@ msgstr "geçerli güvenlik duvarı işareti"
#~ "karşılaştırmadan önce .\"}}>%{mark.val}</var>}"
#~ 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>}}"
+#~ "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 ""
-#~ "Gelen IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
-#~ "\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip"
-#~ "\">Türlerle ICMP %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
-#~ "<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip="
-#~ "\"Şunlar dışında fwmark'ları eşleştir %{mark.num}%{mark.mask? maske ile "
-#~ "%{mark.mask}}.\":%{mark.mask? data-tooltip=\"Fwmark değerini şununla "
-#~ "maskele %{mark.mask} before compare.\"}}>%{mark.val}</var>}%{helper?, "
-#~ "yardımcı %{helper.inv?<var data-tooltip=\"Dışındaki herhangi bir yardımcı "
-#~ "ile eşleştir &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-"
-#~ "tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+#~ "Gelen IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var "
+#~ "class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-"
+#~ "tooltip\">Türlerle ICMP %{item.types#%{next?, }<var>%{item}</var>}</"
+#~ "span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var%{mark.inv? data-"
+#~ "tooltip=\"Şunlar dışında fwmark'ları eşleştir %{mark.num}%{mark.mask? "
+#~ "maske ile %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Fwmark değerini "
+#~ "şununla maskele %{mark.mask} before compare.\"}}>%{mark.val}</"
+#~ "var>}%{helper?, yardımcı %{helper.inv?<var data-tooltip=\"Dışındaki "
+#~ "herhangi bir yardımcı ile eşleştir &quot;%{helper.name}&quot;\">%{helper."
+#~ "val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po
index 4be76a7618..c22ba4f839 100644
--- a/applications/luci-app-firewall/po/uk/firewall.po
+++ b/applications/luci-app-firewall/po/uk/firewall.po
@@ -16,14 +16,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -32,11 +32,11 @@ 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}</"
+"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=\"Зіставляння будь-"
@@ -72,8 +72,8 @@ msgstr "<var data-tooltip=\"ACCEPT\">Запобігати перезапису
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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>}"
@@ -90,13 +90,13 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">Призначити DSCP</var> класифікатор <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">Призначити DSCP</var> класифікатор "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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}</"
@@ -104,8 +104,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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>"
@@ -137,8 +137,8 @@ msgid ""
"<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>}"
+"джерела на <var>%{snat_ip}</var>} %{snat_port?порт джерела на "
+"<var>%{snat_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -243,9 +243,9 @@ msgstr "Автоматичне призначення помічника"
msgid ""
"Automatically assign conntrack helpers based on traffic protocol and port"
msgstr ""
-"Автоматично призначати помічників відслідковування з'єднань (<abbr title="
-"\"Connection tracking\">Conntrack</abbr>) на підставі протоколу та порту "
-"трафіку"
+"Автоматично призначати помічників відслідковування з'єднань (<abbr "
+"title=\"Connection tracking\">Conntrack</abbr>) на підставі протоколу та "
+"порту трафіку"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:54
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:55
@@ -255,14 +255,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:109
msgid "Conntrack Settings"
msgstr ""
-"Параметри відслідковування з'єднань (<abbr title=\"Connection tracking"
-"\">Conntrack</abbr>)"
+"Параметри відслідковування з'єднань (<abbr title=\"Connection "
+"tracking\">Conntrack</abbr>)"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:284
msgid "Conntrack helpers"
msgstr ""
-"Помічники відслідковування з'єднань (<abbr title=\"Connection tracking"
-"\">Conntrack</abbr>)"
+"Помічники відслідковування з'єднань (<abbr title=\"Connection "
+"tracking\">Conntrack</abbr>)"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16
msgid "Contents have been saved."
@@ -407,7 +407,7 @@ msgstr "Зовнішня IP-адреса"
msgid "External port"
msgstr "Зовнішній порт"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -471,8 +471,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -509,28 +510,29 @@ msgstr ""
"адреса %{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>}}"
+"%{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:52
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>}}"
+"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>}}"
+"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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -608,15 +610,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -737,7 +739,7 @@ msgstr ""
"Зіставляння переспрямованого трафіку, що походить із заданого порту джерела "
"або діапазону портів."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Зіставляти помічнику"
@@ -754,7 +756,7 @@ msgstr ""
msgid "Match mark"
msgstr "Зіставляти позначці"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -874,7 +876,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -936,6 +938,10 @@ msgstr "Переспрямувати відповідний вхідний тр
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Необхідна апаратна підтримка NAT. Упроваджено принаймні для mt7621"
@@ -1170,22 +1176,22 @@ msgid ""
"%{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>}}"
+"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/forwards.js:61
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>}}"
+"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 ""
"До %{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>}}"
+"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:438
msgid "Tracking helper"
@@ -1221,7 +1227,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1260,9 +1266,9 @@ msgid ""
"be converted to \"nat\" sections and the firewall will be restarted to apply "
"the updated configuration."
msgstr ""
-"Після натискання кнопки \"Продовжити\" розділи \"redirect\" з цільовою \"SNAT"
-"\" буде перетворено на розділи \"nat\", і брандмауер буде перезапущено для "
-"застосування оновленої конфігурації."
+"Після натискання кнопки \"Продовжити\" розділи \"redirect\" з цільовою "
+"\"SNAT\" буде перетворено на розділи \"nat\", і брандмауер буде перезапущено "
+"для застосування оновленої конфігурації."
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:311
msgid "Use external IP address"
@@ -1332,6 +1338,12 @@ msgstr "Зона ⇒ Переспрямовування"
msgid "Zones"
msgstr "Зони"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1343,7 +1355,7 @@ msgstr "приймати"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1572,23 +1584,24 @@ msgstr "дійсна позначка брандмауера"
#~ "перед зіставлянням\"}}>%{mark.val}</var>}"
#~ 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>}}"
+#~ "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}</"
+#~ "Вхідний 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>}}"
diff --git a/applications/luci-app-firewall/po/ur/firewall.po b/applications/luci-app-firewall/po/ur/firewall.po
index dc268b0dd1..8a0ef3f7a3 100644
--- a/applications/luci-app-firewall/po/ur/firewall.po
+++ b/applications/luci-app-firewall/po/ur/firewall.po
@@ -16,14 +16,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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."
@@ -57,8 +57,8 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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:115
@@ -74,14 +74,14 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<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:90
@@ -345,7 +345,7 @@ msgstr ""
msgid "External port"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -409,8 +409,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -441,13 +442,13 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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:160
@@ -526,15 +527,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -647,7 +648,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr ""
@@ -662,7 +663,7 @@ msgstr ""
msgid "Match mark"
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr ""
@@ -771,7 +772,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -824,6 +825,10 @@ msgstr ""
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
@@ -1031,10 +1036,10 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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:438
@@ -1068,7 +1073,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr ""
@@ -1171,6 +1176,12 @@ msgstr ""
msgid "Zones"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1182,7 +1193,7 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po
index 7585b54209..06ee16e4c5 100644
--- a/applications/luci-app-firewall/po/vi/firewall.po
+++ b/applications/luci-app-firewall/po/vi/firewall.po
@@ -17,25 +17,25 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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?Được chuyển tiếp:Đến}:Ra} %{ipv6?%{ipv4?<var>IPv4</var> và "
-"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, giao thức %{proto#"
-"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
-"<span class=\"cbi-tooltip\">ICMP với các loại %{item.types#%{next?, }<var>"
-"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
-"%{mark.inv? data-tooltip=\"So sánh với các fwmarks ngoại trừ %{mark."
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, giao thức "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
+"name}<span class=\"cbi-tooltip\">ICMP với các loại %{item.types#%{next?, }"
+"<var>%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark "
+"<var%{mark.inv? data-tooltip=\"So sánh với các fwmarks ngoại trừ %{mark."
"num}%{mark.mask? với mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask "
"giá trị fwmark bằng %{mark.mask} trước khi so sánh.\"}}>%{mark.val}</"
"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"So sánh với các DSCP phân "
@@ -73,11 +73,11 @@ msgstr "<var data-tooltip=\"ACCEPT\">Ngăn chặn viết lại nguồn</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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\">Chuyển hướng</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? cổng<var>%{dest_port}</var>}"
+"<var data-tooltip=\"DNAT\">Chuyển hướng</var> to %{dest}%{dest_ip? IP "
+"<var>%{dest_ip}</var>}%{dest_port? cổng<var>%{dest_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
msgid ""
@@ -94,19 +94,19 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
"<var data-tooltip=\"HELPER\">Gán conntrack</var> trợ giúp<var%{helper_name? "
"data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?Gán:XOR}</var> đánh dấu trường lửa<var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Gán:XOR}</var> đánh dấu trường "
+"lửa<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -132,8 +132,8 @@ 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\">Viết lại tĩnh</var> thành nguồn %{snat_ip?IP <var>"
-"%{snat_ip}</var>} %{snat_port?cổng <var>%{snat_port}</var>}"
+"<var data-tooltip=\"SNAT\">Viết lại tĩnh</var> thành nguồn %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?cổng <var>%{snat_port}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
msgid "A rewrite IP must be specified!"
@@ -395,7 +395,7 @@ msgstr "Địa chỉ IP bên ngoài"
msgid "External port"
msgstr "External port"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -459,15 +459,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Chuyển tiếp %{ipv6?%{ipv4?<var>IPv4</var> và <var>IPv6</var>:<var>IPv6</"
"var>}:<var>IPv4</var>}%{proto?, giao thức %{proto#%{next?, }<var>%{item.name}"
"</var>}}%{mark?, đánh dấu <var%{mark.inv? data-tooltip=\"Khớp các fwmark trừ "
"%{mark.num}%{mark.mask? với mặt nạ %{mark.mask}}.\":%{mark.mask? data-"
-"tooltip=\"Mặt nạ giá trị fwmark với %{mark.mask} trước khi so sánh.\"}}>"
-"%{mark.val}</var>}"
+"tooltip=\"Mặt nạ giá trị fwmark với %{mark.mask} trước khi so sánh.\"}}"
+">%{mark.val}</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -484,8 +485,9 @@ msgid ""
msgstr ""
"Từ %{src}%{src_device?, giao diện <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Khớp địa chỉ IP trừ %{item."
-"val}.\"}>%{item.ival}</var>}}%{src_port?, cổng %{src_port#%{next?, }<var"
-"%{item.inv? data-tooltip=\"Khớp cổng trừ %{item.val}.\"}>%{item.ival}</var>}}"
+"val}.\"}>%{item.ival}</var>}}%{src_port?, cổng %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Khớp cổng trừ %{item.val}.\"}>%{item.ival}</"
+"var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
msgid ""
@@ -504,26 +506,26 @@ msgstr ""
"<var%{item.inv? data-tooltip=\"Cổng khớp loại trừ %{item.val}.\"}>%{item."
"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
"tooltip=\"MAC khớp loại trừ %{item.val}%{item.hint.name? được biết như là. "
-"%{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>"
-"%{item.ival}</var>}}"
+"%{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:52
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>}}"
+"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 ""
"Từ %{src}%{src_ip?, Địa chỉ IP %{src_ip#%{next?, }<var%{item.inv? data-"
"tooltip=\"Khớp địa chỉ IP trừ khi %{item.val}.\"}>%{item.ival}</"
-"var>}}%{src_port?, cổng %{src_port#%{next?, }<var%{item.inv? data-tooltip="
-"\"Khớp cổng trừ khi %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC "
-"%{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Khớp MAC trừ khi %{item."
-"val}%{item.hint.name? a.k.a. %{item.hint.name}}.\":%{item.hint.name? data-"
-"tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+"var>}}%{src_port?, cổng %{src_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Khớp cổng trừ khi %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, "
+"MAC %{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Khớp MAC trừ khi "
+"%{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:160
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
@@ -601,27 +603,27 @@ msgstr "Bao gồm Tệp"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Đầu vào %{ipv6?%{ipv4?<var>IPv4</var> và <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{proto?, giao thức %{proto#%{next?, }%{item.types?<var "
"class=\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP "
-"với các loại %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>"
-"%{item.name}</var>}}}%{mark?, đánh dấu <var%{mark.inv? data-tooltip=\"Khớp "
-"fwmark trừ khi %{mark.num}%{mark.mask? với mặt nạ %{mark.mask}}.\":%{mark."
-"mask? data-tooltip=\"Áp dụng mặt nạ %{mark.mask} lên giá trị fwmark trước "
-"khi so sánh.\"}}>%{mark.val}</var>}%{helper?, trợ giúp %{helper.inv?<var "
-"data-tooltip=\"Khớp bất kỳ trợ giúp nào trừ &quot;%{helper.name}&quot;\">"
-"%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</"
-"var>}}"
+"với các loại %{item.types#%{next?, }<var>%{item}</var>}</span></var>:"
+"<var>%{item.name}</var>}}}%{mark?, đánh dấu <var%{mark.inv? data-"
+"tooltip=\"Khớp fwmark trừ khi %{mark.num}%{mark.mask? với mặt nạ %{mark."
+"mask}}.\":%{mark.mask? data-tooltip=\"Áp dụng mặt nạ %{mark.mask} lên giá "
+"trị fwmark trước khi so sánh.\"}}>%{mark.val}</var>}%{helper?, trợ giúp "
+"%{helper.inv?<var data-tooltip=\"Khớp bất kỳ trợ giúp nào trừ &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/ipsets.js:173
msgid "Initial Hash Size"
@@ -738,7 +740,7 @@ msgstr ""
"Khớp lưu lượng chuyển tiếp xuất phát từ cổng nguồn hoặc khoảng cổng được chỉ "
"định."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "Khớp trợ giúp"
@@ -755,7 +757,7 @@ msgstr ""
msgid "Match mark"
msgstr "Khớp nhãn"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "Khớp lưu lượng sử dụng trình hỗ trợ theo dõi kết nối đã chỉ định."
@@ -873,7 +875,7 @@ msgstr ""
"liệu: <code>ip, port, mac, net, set</code>.<br />Tiền tố hướng là tùy chọn."
"<br />*Ghi chú: loại dữ liệu <code>set</code> không được hỗ trợ trong fw4."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -933,6 +935,10 @@ msgstr "Chuyển hướng lưu lượng đến máy chủ nội bộ được ch
msgid "Refer To External Set"
msgstr "Tham chiếu tới tập hợp ngoại vi"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Yêu cầu hỗ trợ NAT phần cứng. Được triển khai ít nhất cho mt7621"
@@ -1171,15 +1177,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"Đến %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"Khớp địa chỉ IP trừ %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, cổng "
-"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Khớp cổng trừ %{item."
-"val}.\"}>%{item.ival}</var>}}"
+"Đến %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Khớp địa chỉ IP trừ %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, cổng %{dest_port#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Khớp cổng trừ %{item.val}.\"}>%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:438
msgid "Tracking helper"
@@ -1217,7 +1223,7 @@ msgstr ""
"Đơn vị: giây. Mặc định <code>0</code> có nghĩa là mục được thêm vào bộ vĩnh "
"viễn.<br />Tối đa: 2147483 giây."
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "Trợ giúp conntrack không xác định hoặc chưa cài đặt \"%s\""
@@ -1327,6 +1333,12 @@ msgstr "Vùng ⇒ Chuyển tiếp"
msgid "Zones"
msgstr "Các vùng"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1338,7 +1350,7 @@ msgstr "chấp nhận"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
diff --git a/applications/luci-app-firewall/po/zh_Hans/firewall.po b/applications/luci-app-firewall/po/zh_Hans/firewall.po
index 2149e5021d..2339bd78f6 100644
--- a/applications/luci-app-firewall/po/zh_Hans/firewall.po
+++ b/applications/luci-app-firewall/po/zh_Hans/firewall.po
@@ -15,31 +15,31 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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> and <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\">具有类型 %{item.types#%{next?, }<var>%{item}</"
-"var>} 的 ICMP</span></var>:<var>%{item.name}</var>}}}%{mark?, 标记 <var"
-"%{mark.inv? data-tooltip=\"匹配除 %{mark.num}%{mark.mask? 带有掩码 %{mark."
-"mask}} 的 fwmarks。\":%{mark.mask? data-tooltip=\"在比较前使用 %{mark.mask} "
-"掩盖 fwmark 值。\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var data-"
-"tooltip=\"匹配除 %{dscp.num?:%{dscp.name}} 以外的 DSCP 类型。\">%{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>}}"
+"var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, 协议 "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
+"name}<span class=\"cbi-tooltip\">具有类型 %{item.types#%{next?, }<var>%{item}"
+"</var>} 的 ICMP</span></var>:<var>%{item.name}</var>}}}%{mark?, 标记 "
+"<var%{mark.inv? data-tooltip=\"匹配除 %{mark.num}%{mark.mask? 带有掩码 "
+"%{mark.mask}} 的 fwmarks。\":%{mark.mask? data-tooltip=\"在比较前使用 %{mark."
+"mask} 掩盖 fwmark 值。\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?<var "
+"data-tooltip=\"匹配除 %{dscp.num?:%{dscp.name}} 以外的 DSCP 类型。\">%{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:461
msgid "-- add IP --"
@@ -68,8 +68,8 @@ msgstr "<var data-tooltip=\"ACCEPT\">防止重写源</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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>}"
@@ -87,19 +87,19 @@ msgstr "<var data-tooltip=\"DSCP\">分配 DSCP</var> 分类 <var>%{set_dscp}</va
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper "
+"<var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
msgstr ""
"<var data-tooltip=\"HELPER\">分配 conntrack</var> 助手 <var%{helper_name? "
"data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?分配:异或}</var> 防火墙标记 <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?分配:异或}</var> 防火墙标记 "
+"<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -377,7 +377,7 @@ msgstr "外部 IP 地址"
msgid "External port"
msgstr "外部端口"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -441,14 +441,16 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
msgstr ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:354
@@ -465,9 +467,9 @@ msgid ""
msgstr ""
"来自 %{src}%{src_device?, 接口 <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"匹配除 %{item.val} 以外的 "
-"IP 地址。\"}>%{item.ival}</var>}}%{src_port?, 端口 %{src_port#%{next?, }<var"
-"%{item.inv? data-tooltip=\"匹配除 %{item.val} 以外的端口。\"}>%{item.ival}</"
-"var>}}"
+"IP 地址。\"}>%{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:64
msgid ""
@@ -482,22 +484,22 @@ msgid ""
msgstr ""
"来自 %{src}%{src_device?, 接口 <var>%{src_device}</var>}%{src_ip?, IP "
"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"匹配除 %{item.val} 以外的 "
-"IP 地址。\"}>%{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=\"匹配"
-"除 %{item.val}%{item.hint.name? 或称为 %{item.hint.name}} 以外的 MAC 地"
-"址。\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</"
-"var>}}"
+"IP 地址。\"}>%{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=\"匹配除 %{item.val}%{item.hint.name? 或称为 %{item.hint.name}} 以外"
+"的 MAC 地址。\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}"
+">%{item.ival}</var>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
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>}}"
+"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=\"匹"
"配除 %{item.val} 以外的 IP 地址。\"}>%{item.ival}</var>}}%{src_port?, 端口 "
@@ -583,26 +585,26 @@ msgstr "包括文件"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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 ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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>}}"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/ipsets.js:173
msgid "Initial Hash Size"
@@ -716,7 +718,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "匹配助手"
@@ -731,7 +733,7 @@ msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站
msgid "Match mark"
msgstr "匹配标记"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "使用指定的连接跟踪助手匹配流量。"
@@ -844,7 +846,7 @@ msgstr ""
"型:<code>ip, port, mac, net, set</code>。<br />方向前缀可选。<br />*注意:"
"datatype<code>set</code>在 fw4 中不受支持。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -900,6 +902,10 @@ msgstr "重定向匹配的入站流量到指定的内部主机"
msgid "Refer To External Set"
msgstr "参考外部集合"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "需要硬件 NAT 支持。目前 mt7621 已实现"
@@ -1126,15 +1132,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:61
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>}}"
+"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 ""
-"到 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
-"\"匹配除 %{item.val} 以外的 IP 地址。\"}>%{item.ival}</var>}}%{dest_port?, 端"
-"口 %{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"匹配除 %{item.val} 以"
-"外的端口。\"}>%{item.ival}</var>}}"
+"到 %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-"
+"tooltip=\"匹配除 %{item.val} 以外的 IP 地址。\"}>%{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:438
msgid "Tracking helper"
@@ -1171,7 +1177,7 @@ msgstr ""
"单位:秒。默认值<code>0</code>表示该条目被永久添加到该集合。<br />最大值:"
"2147483 秒。"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "未知或未安装的连接跟踪助手 \"%s\""
@@ -1276,6 +1282,12 @@ msgstr "区域 ⇒ 转发"
msgid "Zones"
msgstr "区域"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1287,7 +1299,7 @@ msgstr "接受"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1525,22 +1537,23 @@ msgstr "有效的防火墙标记"
#~ "</var>}"
#~ 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>}}"
+#~ "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\">具有类型 "
-#~ "%{item.types#%{next?, }<var>%{item}</var>} 的 ICMP</span></var>:<var>"
-#~ "%{item.name}</var>}}}%{mark?, 标记 <var%{mark.inv? data-tooltip=\"匹配除 "
-#~ "%{mark.num}%{mark.mask? 带有掩码 %{mark.mask}} 的 fwmarks。\":%{mark."
-#~ "mask? data-tooltip=\"在比较前使用 %{mark.mask} 掩盖 fwmark 值。\"}}>"
-#~ "%{mark.val}</var>}%{helper?, 助手 %{helper.inv?<var data-tooltip=\"匹配除 "
-#~ "&quot;%{helper.name}&quot; 以外的任意助手。\">%{helper.val}</var>:<var "
+#~ "%{item.types#%{next?, }<var>%{item}</var>} 的 ICMP</span></var>:"
+#~ "<var>%{item.name}</var>}}}%{mark?, 标记 <var%{mark.inv? data-tooltip=\"匹"
+#~ "配除 %{mark.num}%{mark.mask? 带有掩码 %{mark.mask}} 的 fwmarks。\":%{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>}}"
diff --git a/applications/luci-app-firewall/po/zh_Hant/firewall.po b/applications/luci-app-firewall/po/zh_Hant/firewall.po
index ef00f8374e..0d5e72b087 100644
--- a/applications/luci-app-firewall/po/zh_Hant/firewall.po
+++ b/applications/luci-app-firewall/po/zh_Hant/firewall.po
@@ -13,29 +13,29 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:48
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."
+"<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=\"除非 fwmark 為 %{mark.num},%{mark.mask?並且其遮罩"
-"為 %{mark.mask},}否則不匹配。\":%{mark.mask? data-tooltip=\"匹配前,設定 "
-"fwmark 的遮罩為 %{mark.mask}。\"}}>%{mark.val}</var>}%{dscp?,DSCP:%{dscp."
-"inv?<var data-tooltip=\"除非 DSCP 為 %{dscp.num?:%{dscp.name}},否則不匹"
-"配。\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?,幫手:%{helper."
+"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=\"除非 fwmark 為 %{mark.num},%{mark.mask?並且其"
+"遮罩為 %{mark.mask},}否則不匹配。\":%{mark.mask? data-tooltip=\"匹配前,設"
+"定 fwmark 的遮罩為 %{mark.mask}。\"}}>%{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>}}"
@@ -68,8 +68,8 @@ msgstr "<var data-tooltip=\"ACCEPT\">避免來源重置</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:85
msgid ""
-"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
-"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+"<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? port <var>%{dest_port}</var>}"
@@ -85,24 +85,24 @@ msgid ""
"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
"</var>"
msgstr ""
-"<var data-tooltip=\"DSCP\">指定DSCP(區別服務代碼點)</var>分類 <var>"
-"%{set_dscp}</var>"
+"<var data-tooltip=\"DSCP\">指定DSCP(區別服務代碼點)</var>分類 "
+"<var>%{set_dscp}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
msgid ""
-"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
-"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+"<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/view/firewall/rules.js:130
msgid ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark "
+"<var>%{set_mark?:%{set_xmark}}</var>"
msgstr ""
-"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> 防火牆標記 <var>"
-"%{set_mark?:%{set_xmark}}</var>"
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> 防火牆標記 "
+"<var>%{set_mark?:%{set_xmark}}</var>"
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:90
msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
@@ -380,7 +380,7 @@ msgstr "外部 IP 位址"
msgid "External port"
msgstr "外部埠號"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:345
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:338
msgid "Extra arguments"
@@ -444,8 +444,9 @@ msgid ""
"Forwarded %{ipv6?%{ipv4?<var>IPv4</var> and <var>IPv6</var>:<var>IPv6</var>}:"
"<var>IPv4</var>}%{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>}"
+"%{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:484
@@ -463,9 +464,9 @@ msgid ""
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>}}"
+"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:64
msgid ""
@@ -480,25 +481,25 @@ msgid ""
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?,埠: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>}}"
+"val},否則不匹配。\"}>%{item.ival}</var>}}%{src_port?,埠: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:52
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}</"
+"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."
@@ -581,15 +582,15 @@ msgstr ""
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:40
msgid ""
"Incoming %{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>}%{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>}}"
+"<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>}%{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/ipsets.js:173
@@ -704,7 +705,7 @@ 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:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match helper"
msgstr "相符小幫手"
@@ -719,7 +720,7 @@ msgstr "相符指向此主機上指定目標埠或目標埠範圍的入站流量
msgid "Match mark"
msgstr "相符標記"
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:322
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:445
msgid "Match traffic using the specified connection tracking helper."
msgstr "相符流量使用特定的連線追蹤小幫手."
@@ -830,7 +831,7 @@ msgid ""
"optional.<br />*Note: datatype <code>set</code> is unsupported in fw4."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:346
#: 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:339
msgid "Passes additional arguments to iptables. Use with care!"
@@ -886,6 +887,10 @@ msgstr "重新導向相符的入站流量到指定的內部主機"
msgid "Refer To External Set"
msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid "Reflection zones"
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "需要硬體 NAT 支援。目前 mt7621 已實現"
@@ -1093,9 +1098,9 @@ msgid ""
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>}}"
+"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:55
msgid ""
@@ -1107,21 +1112,21 @@ msgid ""
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>}}"
+"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/forwards.js:61
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>}}"
+"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 ""
-"到:%{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>}}"
+"到:%{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:438
msgid "Tracking helper"
@@ -1156,7 +1161,7 @@ msgid ""
"to the set.<br />Max: 2147483 seconds."
msgstr ""
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:337
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
msgid "Unknown or not installed conntrack helper \"%s\""
msgstr "未知或未安裝的連線跟蹤小幫手 \"%s\""
@@ -1261,6 +1266,12 @@ msgstr "區域 ⇒ 轉發"
msgid "Zones"
msgstr "區域"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:316
+msgid ""
+"Zones from which reflection rules shall be created. If unset, only the "
+"destination zone is used."
+msgstr ""
+
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:70
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:153
@@ -1272,7 +1283,7 @@ msgstr "接受"
#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:484
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:266
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:297
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:324
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:440
@@ -1508,15 +1519,16 @@ msgstr "有效正確的防火牆標記"
#~ "</var>}"
#~ 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>}}"
+#~ "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 包含類"