treewide: i18n - sync translations
[project/luci.git] / applications / luci-app-firewall / po / ru / firewall.po
index 759b7d5b156d87ffd8c5b97d6040af9aae630112..215da8d5f2fb256631b3bf6c6733c0395d70fcd9 100644 (file)
@@ -2,62 +2,156 @@ msgid ""
 msgstr ""
 "Project-Id-Version: LuCI: firewall\n"
 "POT-Creation-Date: 2013-09-05 16:02+0200\n"
 msgstr ""
 "Project-Id-Version: LuCI: firewall\n"
 "POT-Creation-Date: 2013-09-05 16:02+0200\n"
-"PO-Revision-Date: 2020-01-11 18:22+0000\n"
-"Last-Translator: Franco Castillo <castillofrancodamian@gmail.com>\n"
+"PO-Revision-Date: 2020-07-02 23:41+0000\n"
+"Last-Translator: Artem <KovalevArtem.ru@gmail.com>\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
 "luciapplicationsfirewall/ru/>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language-Team: Russian <https://hosted.weblate.org/projects/openwrt/"
 "luciapplicationsfirewall/ru/>\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
-"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-"X-Generator: Weblate 3.10.1\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.2-dev\n"
 "Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
 "интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
 
 "Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
 "интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
-msgid "%s in %s"
-msgstr "%s в %s"
+#: 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 ""
+"%{src?%{dest?Перенаправление:Входящий}:Исходящий} %{ipv6?%{ipv4?<var>IPv4</"
+"var> и <var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, протокол "
+"%{proto#%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item."
+"name}<span class=\"cbi-tooltip\">ICMP с типами %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, метка <var"
+"%{mark.inv? data-tooltip=\"Соответствие fwmarks кроме %{mark.num}%{mark."
+"mask? с маской %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Применение маски "
+"%{mark.mask} к значению fwmark перед сравнением.\"}}>%{mark.val}</"
+"var>}%{dscp?, DSCP %{dscp.inv?<var data-tooltip=\"Соответствие DSCP "
+"классификатора кроме {dscp.num?:%{dscp.name}}\">%{dscp.val}</var>:<var>"
+"%{dscp.val}</var>}}%{helper?, помощник %{helper.inv?<var data-tooltip="
+"\"Соответствие любому помощнику кроме &quot;%{helper.name}&quot;\">%{helper."
+"val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper.val}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433
+msgid "-- add IP --"
+msgstr "-- добавить IP-адрес --"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:481
+msgid "-- add MAC --"
+msgstr "-- добавить MAC-адрес --"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:118
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"<var data-tooltip=\"ACCEPT\">Разрешить</var> %{src?%{dest?перенаправляемый:"
+"входящий}:исходящий} трафик"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:242
-msgid "%s%s with %s"
-msgstr "%s%s с %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:87
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr "<var data-tooltip=\"ACCEPT\">Предотвращать перезапись источника</var>"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
-msgid "%s, %s in %s"
-msgstr "%s, %s в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
+"<var data-tooltip=\"DNAT\">Перенаправлять</var> на %{dest}%{dest_ip? IP-"
+"адрес <var>%{dest_ip}</var>}%{dest_port? порт <var>%{dest_port}</var>}"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:275
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> пакетов за <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:115
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+"<var data-tooltip=\"DROP\">Отбрасывать</var> %{src?%{dest?перенаправляемый:"
+"входящий}:исходящий} трафик"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:271
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> пакетов за <var>%s</var>, подряд <var>%d</var> пакетов"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:133
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
+"<var data-tooltip=\"DSCP\">Назначить DSCP</var> классификатор <var>"
+"%{set_dscp}</var>"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:107
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> с пределом в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:127
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
+"<var data-tooltip=\"HELPER\">Назначить помощника</var> отслеживания "
+"соединений <var%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}"
+"</var>"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
-msgid "Accept forward"
-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>"
+msgstr ""
+"<var data-tooltip=\"MARK\">%{set_mark?Назначить метку:XOR метки}</var> "
+"брандмауэра <var>%{set_mark?:%{set_xmark}}</var>"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:303
-msgid "Accept input"
-msgstr "Принимать входящий трафик"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
+"<var data-tooltip=\"MASQUERADE\">Автоматически перезаписывать</var> IP-адрес "
+"источника"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:283
-msgid "Accept output"
-msgstr "Принимать исходящий трафик"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:124
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
+msgstr ""
+"<var data-tooltip=\"NOTRACK\">Не отслеживать</var> %{src?%{dest?"
+"перенаправляемый:входящий}:исходящий} трафик"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:354
+#: 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 ""
+"<var data-tooltip=\"REJECT\">Отклонять</var> %{src?%{dest?перенаправляемый:"
+"входящий}:исходящий} трафик"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:81
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+"<var data-tooltip=\"SNAT\">Статически переписывать</var> %{snat_ip?IP-адрес "
+"источника на <var>%{snat_ip}</var>} %{snat_port?порт источника на <var>"
+"%{snat_port}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:225
+msgid "A rewrite IP must be specified!"
+msgstr "IP-адрес для перезаписи должен быть указан!"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
+msgid "ACCEPT - Disable address rewriting"
+msgstr "ACCEPT — отключить перезапись адреса"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:229
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:364
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:158
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:208
 msgid "Action"
 msgstr "Действие"
 
 msgid "Action"
 msgstr "Действие"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
 msgid ""
 "Additional raw <em>iptables</em> arguments to classify zone destination "
 "traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
 msgid ""
 "Additional raw <em>iptables</em> arguments to classify zone destination "
 "traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
@@ -67,7 +161,7 @@ msgstr ""
 "назначения, например <code>-p tcp --dport 443</code> для соответствия только "
 "исходящему HTTPS трафику."
 
 "назначения, например <code>-p tcp --dport 443</code> для соответствия только "
 "исходящему HTTPS трафику."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:264
 msgid ""
 "Additional raw <em>iptables</em> arguments to classify zone source traffic, "
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgid ""
 "Additional raw <em>iptables</em> arguments to classify zone source traffic, "
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
@@ -76,73 +170,101 @@ msgstr ""
 "источника, например <code>-p tcp --sport 443</code> для соответствия только "
 "входящему HTTPS трафику."
 
 "источника, например <code>-p tcp --sport 443</code> для соответствия только "
 "входящему HTTPS трафику."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:182
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:106
 msgid "Advanced Settings"
 msgstr "Дополнительные настройки"
 
 msgid "Advanced Settings"
 msgstr "Дополнительные настройки"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
 msgid "Allow \"invalid\" traffic"
 msgstr "Разрешить «недействительный» трафик"
 
 msgid "Allow \"invalid\" traffic"
 msgstr "Разрешить «недействительный» трафик"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:336
 msgid "Allow forward from <em>source zones</em>:"
 msgstr "Разрешить перенаправление из <em>'зон источников'</em>:"
 
 msgid "Allow forward from <em>source zones</em>:"
 msgstr "Разрешить перенаправление из <em>'зон источников'</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:295
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Разрешить перенаправление в <em>'зоны назначения'</em>:"
 
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Разрешить перенаправление в <em>'зоны назначения'</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:508
 msgid "Any"
 msgstr "Любой"
 
 msgid "Any"
 msgstr "Любой"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:258
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:274
 msgid "Any day"
 msgstr "Любой день"
 
 msgid "Any day"
 msgstr "Любой день"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+msgid ""
+"Apply a bitwise XOR of the given value and the existing mark value on "
+"established connections. Format is value[/mask]. If a mask is specified then "
+"those bits set in the mask are zeroed out."
+msgstr ""
+"Применить побитовую операцию XOR заданного значения и существующего значения "
+"метки для уже установленных соединений. Формат — значение[/маска]. Если "
+"задана маска, то биты, заданные в маске, обнуляются."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+msgid "Apply the given DSCP class or value to established connections."
+msgstr ""
+"Применить заданный класс DSCP или значение к установленным соединениям."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+"Назначить указанного помощника отслеживания соединений для соответствующего "
+"трафика."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
 msgid "Automatic helper assignment"
 msgstr "Автоматическое назначение помощников"
 
 msgid "Automatic helper assignment"
 msgstr "Автоматическое назначение помощников"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
 msgid ""
 "Automatically assign conntrack helpers based on traffic protocol and port"
 msgstr ""
 "Автоматическое назначение помощников отслеживания соединений (conntrack) на "
 msgid ""
 "Automatically assign conntrack helpers based on traffic protocol and port"
 msgstr ""
 "Автоматическое назначение помощников отслеживания соединений (conntrack) на "
-"основе протокола и порта трафика."
+"основе протокола и порта трафика"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
 msgid "Conntrack Settings"
 msgstr "Отслеживание соединений (conntrack)"
 
 msgid "Conntrack Settings"
 msgstr "Отслеживание соединений (conntrack)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243
 msgid "Conntrack helpers"
 msgstr "Помощники отслеживания соединений"
 
 msgid "Conntrack helpers"
 msgstr "Помощники отслеживания соединений"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:16
 msgid "Contents have been saved."
 msgstr "Содержимое сохранено."
 
 msgid "Contents have been saved."
 msgstr "Содержимое сохранено."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:653
+msgid "Continue"
+msgstr "Продолжить"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:206
 msgid "Covered devices"
 msgstr "Охватываемые устройства"
 
 msgid "Covered devices"
 msgstr "Охватываемые устройства"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:165
 msgid "Covered networks"
 msgstr "Охватываемые сети"
 
 msgid "Covered networks"
 msgstr "Охватываемые сети"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
 msgid "Covered subnets"
 msgstr "Охватываемые подсети"
 
 msgid "Covered subnets"
 msgstr "Охватываемые подсети"
 
-#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:54
 msgid "Custom Rules"
 msgstr "Пользовательские правила"
 
 msgid "Custom Rules"
 msgstr "Пользовательские правила"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:26
 msgid ""
 "Custom rules allow you to execute arbitrary iptables commands which are not "
 "otherwise covered by the firewall framework. The commands are executed after "
 msgid ""
 "Custom rules allow you to execute arbitrary iptables commands which are not "
 "otherwise covered by the firewall framework. The commands are executed after "
@@ -153,31 +275,37 @@ msgstr ""
 "каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил "
 "по умолчанию."
 
 "каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил "
 "по умолчанию."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+msgid "DSCP classification"
+msgstr "DSCP классификация"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262
+msgid "DSCP mark"
+msgstr "DSCP метка"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:296
+msgid "DSCP mark required"
+msgstr "Требуется DSCP метка"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Destination address"
 msgstr "Адрес назначения"
 
 msgid "Destination address"
 msgstr "Адрес назначения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
 msgid "Destination port"
 msgstr "Порт назначения"
 
 msgid "Destination port"
 msgstr "Порт назначения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:349
 msgid "Destination zone"
 msgstr "Зона назначения"
 
 msgid "Destination zone"
 msgstr "Зона назначения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
-msgid "Discard forward"
-msgstr "Отклонять перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:309
-msgid "Discard input"
-msgstr "Отклонять входящий трафик"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:261
+msgid "Device name"
+msgstr "Имя устройства"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:289
-msgid "Discard output"
-msgstr "Отклонять исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
 msgid ""
 "Do not install extra rules to reject forwarded traffic with conntrack state "
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgid ""
 "Do not install extra rules to reject forwarded traffic with conntrack state "
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
@@ -186,71 +314,65 @@ msgstr ""
 "трафика с состоянием <em>недействительный</em> (<em>invalid</em>). Это может "
 "потребоваться для сложных настроек асимметричной маршрутизации."
 
 "трафика с состоянием <em>недействительный</em> (<em>invalid</em>). Это может "
 "потребоваться для сложных настроек асимметричной маршрутизации."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
-msgid "Do not track forward"
-msgstr "Не отслеживать перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:307
-msgid "Do not track input"
-msgstr "Не отслеживать входящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:287
-msgid "Do not track output"
-msgstr "Не отслеживать исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:58
 msgid "Drop invalid packets"
 msgstr "Отбрасывать некорректные пакеты"
 
 msgid "Drop invalid packets"
 msgstr "Отбрасывать некорректные пакеты"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
 msgid "Enable"
 msgstr "Включить"
 
 msgid "Enable"
 msgstr "Включить"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Enable NAT Loopback"
 msgstr "Включить NAT Loopback"
 
 msgid "Enable NAT Loopback"
 msgstr "Включить NAT Loopback"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:44
 msgid "Enable SYN-flood protection"
 msgstr "Включить защиту от SYN-flood атак"
 
 msgid "Enable SYN-flood protection"
 msgstr "Включить защиту от SYN-flood атак"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
 msgid "Enable logging on this zone"
 msgstr "Включить журналирование в этой зоне"
 
 msgid "Enable logging on this zone"
 msgstr "Включить журналирование в этой зоне"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338
+msgid "Expecting: %s"
+msgstr "Ожидается: %s"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:76
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Экспериментальный функционал. Не полностью совместим с QoS/SQM."
 
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Экспериментальный функционал. Не полностью совместим с QoS/SQM."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:243
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 "Явно определяет допустимые варианты помощников (helpers) отслеживания "
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 "Явно определяет допустимые варианты помощников (helpers) отслеживания "
-"соединений (connection tracking) трафика в зоне."
+"соединений (connection tracking) трафика в зоне"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
 msgid "External IP address"
 msgstr "Внешний IP-адрес"
 
 msgid "External IP address"
 msgstr "Внешний IP-адрес"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:220
 msgid "External port"
 msgstr "Внешний порт"
 
 msgid "External port"
 msgstr "Внешний порт"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:249
 msgid "Extra arguments"
 msgstr "Дополнительные аргументы"
 
 msgid "Extra arguments"
 msgstr "Дополнительные аргументы"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:274
 msgid "Extra destination arguments"
 msgstr "Дополнительные аргументы для назначения"
 
 msgid "Extra destination arguments"
 msgstr "Дополнительные аргументы для назначения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:108
 msgid "Extra iptables arguments"
 msgstr "Дополнительные аргументы iptables"
 
 msgid "Extra iptables arguments"
 msgstr "Дополнительные аргументы iptables"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:264
 msgid "Extra source arguments"
 msgstr "Дополнительные аргументы для источника"
 
 msgid "Extra source arguments"
 msgstr "Дополнительные аргументы для источника"
 
@@ -258,157 +380,280 @@ msgstr "Дополнительные аргументы для источник
 msgid "Firewall"
 msgstr "Межсетевой экран"
 
 msgid "Firewall"
 msgstr "Межсетевой экран"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25
 msgid "Firewall - Custom Rules"
 msgstr "Межсетевой экран - Пользовательские правила"
 
 msgid "Firewall - Custom Rules"
 msgstr "Межсетевой экран - Пользовательские правила"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:92
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
+msgid "Firewall - NAT Rules"
+msgstr "Межсетевой экран - Правила NAT"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
 msgid "Firewall - Port Forwards"
 msgstr "Межсетевой экран - Перенаправление портов"
 
 msgid "Firewall - Port Forwards"
 msgstr "Межсетевой экран - Перенаправление портов"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
 msgid "Firewall - Traffic Rules"
 msgstr "Межсетевой экран - Правила для трафика"
 
 msgid "Firewall - Traffic Rules"
 msgstr "Межсетевой экран - Правила для трафика"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:37
 msgid "Firewall - Zone Settings"
 msgstr "Межсетевой экран - Настройка зон"
 
 msgid "Firewall - Zone Settings"
 msgstr "Межсетевой экран - Настройка зон"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:646
+msgid "Firewall configuration migration"
+msgstr "Миграция конфигурации межсетевого экрана"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:63
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:145
 msgid "Forward"
 msgstr "Перенаправление"
 
 msgid "Forward"
 msgstr "Перенаправление"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
-msgid "Forward to"
-msgstr "Перенаправлять на"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:30
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
+"Перенаправление IPv4%{proto?, протокол %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, метка <var%{mark.inv? data-tooltip=\"Соответствие fwmarks "
+"кроме %{mark.num}%{mark.mask? с маской %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Применение маски %{mark.mask} к значению fwmark перед сравнением."
+"\"}}>%{mark.val}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
 msgid "Friday"
 msgstr "Пятница"
 
 msgid "Friday"
 msgstr "Пятница"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:62
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
-msgid "From %s in %s"
-msgstr "Из %s в %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:60
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:62
-msgid "From %s in %s with source %s"
-msgstr "Из %s в %s с источником %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+"Из %{src}%{src_device?, интерфейс <var>%{src_device}</var>}%{src_ip?, IP-"
+"адрес %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие IP-"
+"адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, порт "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие портам "
+"кроме %{item.val}.\"}>%{item.ival}</var>}}"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:60
-msgid "From %s in %s with source %s and %s"
-msgstr "Из %s в %s с источниками %s и %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:75
-msgid "From %s on <var>this device</var>"
-msgstr "Из %s в <var>это устройство</var>"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:73
-msgid "From %s on <var>this device</var> with source %s"
-msgstr "Из %s в <var>это устройство</var> с источником %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:71
-msgid "From %s on <var>this device</var> with source %s and %s"
-msgstr "Из %s в <var>это устройство</var> с источниками %s and %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
-#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
+msgstr ""
+"Из %{src}%{src_device?, интерфейс <var>%{src_device}</var>}%{src_ip?, IP-"
+"адрес %{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие IP-"
+"адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, порт "
+"%{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие портам "
+"кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC-адрес %{src_mac#"
+"%{next?, }<var%{item.inv? data-tooltip=\"Соответствие MAC-адресов кроме "
+"%{item.val}%{item.hint.name? (%{item.hint.name})}.\":%{item.hint.name? data-"
+"tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
+msgstr ""
+"Из %{src}%{src_ip?, IP-адрес %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Соответствие IP-адресам кроме %{item.val}.\"}>%{item.ival}</"
+"var>}}%{src_port?, порт %{src_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Соответствие портам кроме %{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, "
+"MAC-адрес %{src_mac#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие "
+"MAC-адресов кроме %{item.val}%{item.hint.name? (%{item.hint.name})}.\":"
+"%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:137
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:105
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:17
 msgid "General Settings"
 msgstr "Основные настройки"
 
 msgid "General Settings"
 msgstr "Основные настройки"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
-msgid "Hardware flow offloading"
-msgstr "Аппаратный flow offloading"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:157
-msgid "IP"
-msgstr "IP-адрес"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:167
-msgid "IP range"
-msgstr "Диапазон IP-адресов"
+#: applications/luci-app-firewall/root/usr/share/rpcd/acl.d/luci-app-firewall.json:3
+msgid "Grant access to firewall configuration"
+msgstr "Разрешить конфигурировать брандмауер"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:175
-msgid "IPs"
-msgstr "IP-адреса"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:216
-msgid "IPv4"
-msgstr "IPv4"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:87
+msgid "Hardware flow offloading"
+msgstr "Аппаратная разгрузка потока"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:217
 msgid "IPv4 and IPv6"
 msgstr "IPv4 и IPv6"
 
 msgid "IPv4 and IPv6"
 msgstr "IPv4 и IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:273
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
 msgid "IPv4 only"
 msgstr "Только IPv4"
 
 msgid "IPv4 only"
 msgstr "Только IPv4"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:218
-msgid "IPv6"
-msgstr "IPv6"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:274
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:219
 msgid "IPv6 only"
 msgstr "Только IPv6"
 
 msgid "IPv6 only"
 msgstr "Только IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+msgid "Inbound device"
+msgstr "Входящее устройство"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:38
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+"Входящий IPv4%{proto?, протокол %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP с "
+"типами %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, метка <var%{mark.inv? data-tooltip=\"Соответствие "
+"значения fwmarks кроме %{mark.num}%{mark.mask? с маской %{mark.mask}}.\":"
+"%{mark.mask? data-tooltip=\"Применение маски %{mark.mask} к значению fwmark "
+"перед сравнением.\"}}>%{mark.val}</var>}%{helper?, помощник %{helper.inv?"
+"<var data-tooltip=\"Соответствие любому помощнику кроме &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:143
 msgid "Input"
 msgstr "Входящий трафик"
 
 msgid "Input"
 msgstr "Входящий трафик"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
 msgid "Internal IP address"
 msgstr "Внутренний IP-адрес"
 
 msgid "Internal IP address"
 msgstr "Внутренний IP-адрес"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
 msgid "Internal port"
 msgstr "Внутренний порт"
 
 msgid "Internal port"
 msgstr "Внутренний порт"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:228
 msgid "Internal zone"
 msgstr "Внутренняя зона"
 
 msgid "Internal zone"
 msgstr "Внутренняя зона"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:304
+msgid "Invalid DSCP mark"
+msgstr "Неверная DSCP метка"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:372
+msgid "Invalid limit value"
+msgstr "Неверное значение ограничения"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:382
+msgid "Limit burst"
+msgstr "Ограничение барста (burst)"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:252
 msgid "Limit log messages"
 msgstr "Ограничить журнал сообщений"
 
 msgid "Limit log messages"
 msgstr "Ограничить журнал сообщений"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
-msgid "MAC"
-msgstr "MAC"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:348
+msgid "Limit matching"
+msgstr "Соответствие по ограничениям"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:75
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:68
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
+msgstr ""
+"Ограничение до <var>%{limit.num}</var> пакетов в <var>%{limit.unit}</var>"
+"%{limit.burst? барст (burst) <var>%{limit.burst}</var>}"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:349
+msgid "Limits traffic matching to the specified rate."
+msgstr "Ограничивает сопоставление трафика указанной скорости."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253
+msgid "Loopback source IP"
+msgstr "IP-адрес источника петли (Loopback)"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:104
-msgid "MACs"
-msgstr "MAC-адреса"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:212
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+"MASQUERADE — автоматически переписывать на IP-адрес исходящего интерфейса"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:162
 msgid "MSS clamping"
 msgstr "Ограничение MSS"
 
 msgid "MSS clamping"
 msgstr "Ограничение MSS"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:159
 msgid "Masquerading"
 msgstr "Маскарадинг"
 
 msgid "Masquerading"
 msgstr "Маскарадинг"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:147
 msgid "Match"
 msgid "Match"
-msgstr "Входящий трафик"
+msgstr "Соответствие"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:262
+msgid "Match DSCP"
+msgstr "Соответствие DSCP"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:254
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:285
 msgid "Match ICMP type"
 msgid "Match ICMP type"
-msgstr "Соответствовать ICMP типу"
+msgstr "Соответствие ICMP типу"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+msgid "Match device"
+msgstr "Соответствие устройству"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:195
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+"Соответствие перенаправляемого трафика, направленного на заданный IP-адрес."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:200
+msgid ""
+"Match forwarded traffic directed at the given destination port or port range."
+msgstr ""
+"Соответствие перенаправляемого трафика, направленного на заданный порт "
+"назначения или диапазон портов."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+"Соответствие перенаправляемого трафика от данного IP-адреса или диапазона."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186
+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:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+msgid "Match helper"
+msgstr "Соответствие помощнику"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:221
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -416,41 +661,86 @@ msgstr ""
 "Порт или диапазон портов, входящие подключения на который будут "
 "перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
 
 "Порт или диапазон портов, входящие подключения на который будут "
 "перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid "Match mark"
+msgstr "Соответствие метки"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+"Сопоставление трафика с помощью указанного помощника отслеживания соединений."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:318
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+"Соответствие определённой метке брандмауэра или диапазона различных меток."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:240
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+"Соответствие перенаправляемого трафика, использующего указанное исходящее "
+"сетевое устройство."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+msgid "Matches traffic carrying the specified DSCP marking."
+msgstr "Сопоставляет трафик с указанной DSCP-маркировкой."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:383
+msgid ""
+"Maximum initial number of packets to match: this number gets recharged by "
+"one every time the limit specified above is not reached, up to this number."
+msgstr ""
+"Максимальное начальное количество совпадающих пакетов: это число будет "
+"пополняться на один каждый раз, когда лимит, указанный выше, не будет "
+"достигнут, вплоть до этого числа."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:432
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:260
 msgid "Monday"
 msgstr "Понедельник"
 
 msgid "Monday"
 msgstr "Понедельник"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:270
 msgid "Month Days"
 msgstr "Дни месяца"
 
 msgid "Month Days"
 msgstr "Дни месяца"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:201
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
-msgid "Name"
-msgstr "Имя"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:130
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:44
+msgid "NAT Rules"
+msgstr "Правила NAT"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:169
-msgid "Network"
-msgstr "Сеть"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:128
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+"Правила NAT позволяют точно контролировать IP-адрес источника в исходящем "
+"или перенаправляемом трафике."
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:158
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:143
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+msgid "Name"
+msgstr "Название"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:216
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
-"Применять правило только для входящих подключений на указанный IP-адрес"
+"Применять правило только для входящих подключений на указанный IP-адрес."
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:197
 msgid "Only match incoming traffic from these MACs."
 msgstr "Применять правило только для входящего трафика от этих MAC-адресов."
 
 msgid "Only match incoming traffic from these MACs."
 msgstr "Применять правило только для входящего трафика от этих MAC-адресов."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:202
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 "Применять правило только для входящего трафика от этого IP-адреса или "
 "диапазона адресов."
 
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 "Применять правило только для входящего трафика от этого IP-адреса или "
 "диапазона адресов."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -458,19 +748,29 @@ msgstr ""
 "Применять правило только для входящего трафика от указанного порта или "
 "диапазона портов клиентского хоста"
 
 "Применять правило только для входящего трафика от указанного порта или "
 "диапазона портов клиентского хоста"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:245
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:239
+msgid "Outbound device"
+msgstr "Исходящее устройство"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
+msgid "Outbound zone"
+msgstr "Исходящая зона"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:62
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:144
 msgid "Output"
 msgstr "Исходящий трафик"
 
 msgid "Output"
 msgstr "Исходящий трафик"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:285
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 "Передаёт дополнительные аргументы таблице iptables. Используйте с "
 "осторожностью!"
 
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 "Передаёт дополнительные аргументы таблице iptables. Используйте с "
 "осторожностью!"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:261
 msgid ""
 "Passing raw iptables arguments to source and destination traffic "
 "classification rules allows to match packets based on other criteria than "
 msgid ""
 "Passing raw iptables arguments to source and destination traffic "
 "classification rules allows to match packets based on other criteria than "
@@ -484,12 +784,12 @@ msgstr ""
 "осторожностью, так как неверные значения могут привести к нарушению работы "
 "правил межсетевого экрана, полностью открывая доступ ко всем службам системы."
 
 "осторожностью, так как неверные значения могут привести к нарушению работы "
 "правил межсетевого экрана, полностью открывая доступ ко всем службам системы."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
-#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:132
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:26
 msgid "Port Forwards"
 msgstr "Перенаправление портов"
 
 msgid "Port Forwards"
 msgstr "Перенаправление портов"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -497,119 +797,175 @@ msgstr ""
 "Перенаправленные портов позволяет удалённым компьютерам из Интернета "
 "соединяться с компьютером или службой внутри частной локальной сети."
 
 "Перенаправленные портов позволяет удалённым компьютерам из Интернета "
 "соединяться с компьютером или службой внутри частной локальной сети."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:281
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 msgid "Protocol"
 msgstr "Протокол"
 
 msgid "Protocol"
 msgstr "Протокол"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-"
 "адреса"
 
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-"
 "адреса"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:235
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Перенаправлять трафик на указанный IP-адрес"
 
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Перенаправлять трафик на указанный IP-адрес"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:295
-msgid "Refuse forward"
-msgstr "Сбрасывать перенаправляемый трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:305
-msgid "Refuse input"
-msgstr "Сбрасывать входящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:285
-msgid "Refuse output"
-msgstr "Сбрасывать исходящий трафик"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
 msgid "Requires hardware NAT support. Implemented at least for mt7621"
 msgstr ""
 "Требуется аппаратная поддержка NAT. Реализовано, по крайней мере, для mt7621"
 
 msgid "Requires hardware NAT support. Implemented at least for mt7621"
 msgstr ""
 "Требуется аппаратная поддержка NAT. Реализовано, по крайней мере, для mt7621"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:229
 msgid "Restrict Masquerading to given destination subnets"
 msgstr "Использовать маскарадинг только для указанных подсетей-получателей"
 
 msgid "Restrict Masquerading to given destination subnets"
 msgstr "Использовать маскарадинг только для указанных подсетей-получателей"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:222
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Использовать маскарадинг только для указанных подсетей-отправителей"
 
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Использовать маскарадинг только для указанных подсетей-отправителей"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:216
 msgid "Restrict to address family"
 msgstr "Использовать протокол"
 
 msgid "Restrict to address family"
 msgstr "Использовать протокол"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:215
+msgid "Rewrite IP address"
+msgstr "IP-адрес для перезаписи"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr "Перезаписать соответствующий трафик на указанный IP-адрес источника."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+msgid "Rewrite matched traffic to the specified source port or port range."
+msgstr ""
+"Перезаписать соответствующий трафик на указанный порт источника или диапазон "
+"портов."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
+msgid "Rewrite port"
+msgstr "Порт для перезаписи"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:75
 msgid "Routing/NAT Offloading"
 msgstr "Маршрутизация/NAT offloading"
 
 msgid "Routing/NAT Offloading"
 msgstr "Маршрутизация/NAT offloading"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:211
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
 msgid "Saturday"
 msgstr "Суббота"
 
 msgid "Saturday"
 msgstr "Суббота"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid "Set mark"
+msgstr "Установить метку"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:317
+msgid ""
+"Set the given mark value on established connections. Format is value[/mask]. "
+"If a mask is specified then only those bits set in the mask are modified."
+msgstr ""
+"Значение метки для уже установленных соединений. Формат — значение[/маска]. "
+"Если указана маска, то изменяются только те биты, которые установлены в "
+"маске."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:83
 msgid "Software based offloading for routing/NAT"
 msgstr "Программная реализация offloading для маршрутизации/NAT"
 
 msgid "Software based offloading for routing/NAT"
 msgstr "Программная реализация offloading для маршрутизации/NAT"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:82
 msgid "Software flow offloading"
 msgstr "Программный flow offloading"
 
 msgid "Software flow offloading"
 msgstr "Программный flow offloading"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:201
 msgid "Source IP address"
 msgstr "IP-адрес источника"
 
 msgid "Source IP address"
 msgstr "IP-адрес источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:196
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:339
 msgid "Source MAC address"
 msgstr "MAC-адрес источника"
 
 msgid "Source MAC address"
 msgstr "MAC-адрес источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:180
 msgid "Source address"
 msgstr "Адрес источника"
 
 msgid "Source address"
 msgstr "Адрес источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
 msgid "Source port"
 msgstr "Порт источника"
 
 msgid "Source port"
 msgstr "Порт источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
 msgid "Source zone"
 msgstr "Зона источника"
 
 msgid "Source zone"
 msgstr "Зона источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:262
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+"Определяет, привязывать ли это правило трафика к конкретному входящему или "
+"исходящему сетевому устройству."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+"Определяет, использовать внешний или внутренний IP-адрес для отраженного "
+"трафика."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:289
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Дата начала (год-мес-день)"
 
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Дата начала (год-мес-день)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:281
 msgid "Start Time (hh.mm.ss)"
 msgstr "Время начала (чч.мм.сс)"
 
 msgid "Start Time (hh.mm.ss)"
 msgstr "Время начала (чч.мм.сс)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:293
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Дата окончания (год-мес-день)"
 
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Дата окончания (год-мес-день)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:285
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Время окончания (чч.мм.сс)"
 
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Время окончания (чч.мм.сс)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:259
 msgid "Sunday"
 msgstr "Воскресенье"
 
 msgid "Sunday"
 msgstr "Воскресенье"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:647
+msgid ""
+"The existing firewall configuration needs to be changed for LuCI to function "
+"properly."
+msgstr ""
+"Для правильной работы LuCI необходимо изменить существующую конфигурацию "
+"межсетевого экрана."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:38
 msgid ""
 "The firewall creates zones over your network interfaces to control network "
 "traffic flow."
 msgstr "Межсетевой экран создает зоны в вашей сети для контроля трафика."
 
 msgid ""
 "The firewall creates zones over your network interfaces to control network "
 "traffic flow."
 msgstr "Межсетевой экран создает зоны в вашей сети для контроля трафика."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:291
 msgid ""
 "The options below control the forwarding policies between this zone (%s) and "
 "other zones. <em>Destination zones</em> cover forwarded traffic "
 msgid ""
 "The options below control the forwarding policies between this zone (%s) and "
 "other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -626,7 +982,7 @@ msgstr ""
 "перенаправление из lan в wan <em>'не'</em> допускает перенаправление трафика "
 "из wan в lan."
 
 "перенаправление из lan в wan <em>'не'</em> допускает перенаправление трафика "
 "из wan в lan."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
 msgid ""
 "This section defines common properties of %q. The <em>input</em> and "
 "<em>output</em> options set the default policies for traffic entering and "
 msgid ""
 "This section defines common properties of %q. The <em>input</em> and "
 "<em>output</em> options set the default policies for traffic entering and "
@@ -641,40 +997,71 @@ msgstr ""
 "различными сетями внутри зоны. <em>'Использовать сети'</em> указывает, какие "
 "доступные сети являются членами этой зоны."
 
 "различными сетями внутри зоны. <em>'Использовать сети'</em> указывает, какие "
 "доступные сети являются членами этой зоны."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:263
 msgid "Thursday"
 msgstr "Четверг"
 
 msgid "Thursday"
 msgstr "Четверг"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:183
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:137
 msgid "Time Restrictions"
 msgstr "Временные ограничения"
 
 msgid "Time Restrictions"
 msgstr "Временные ограничения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: 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:297
 msgid "Time in UTC"
 msgstr "Время UTC"
 
 msgid "Time in UTC"
 msgstr "Время UTC"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:96
-msgid "To %s at %s on <var>this device</var>"
-msgstr "К %s, %s на <var>этом устройстве</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
+"В %{dest}%{dest_device?, интерфейс <var>%{dest_device}</var>}%{dest_ip?, IP-"
+"адрес %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие IP-"
+"адресам кроме %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, порт "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Соответствие портам "
+"кроме %{item.val}.\"}>%{item.ival}</var>}}"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
-msgid "To %s in %s"
-msgstr "К %s в %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
+"В %{dest}%{dest_device?, через интерфейс <var>%{dest_device}</"
+"var>}%{dest_ip?, IP-адрес %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Соответствие IP-адресам кроме %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, порт %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Соответствие портам кроме %{item.val}.\"}>%{item.ival}</var>}}"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:98
-msgid "To %s on <var>this device</var>"
-msgstr "К %s на <var>этом устройстве</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+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 ""
+"В %{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:87
-msgid "To %s, %s in %s"
-msgstr "Ð\9a %s, %s Ð² %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
+msgid "Tracking helper"
+msgstr "Ð\9fомоÑ\89ник Ð¾Ñ\82Ñ\81леживаниÑ\8f"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
-#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:176
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:35
 msgid "Traffic Rules"
 msgstr "Правила для трафика"
 
 msgid "Traffic Rules"
 msgstr "Правила для трафика"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -684,29 +1071,62 @@ msgstr ""
 "зонами, например, запрет трафика между некоторыми хостами или открытие WAN-"
 "портов маршрутизатора."
 
 "зонами, например, запрет трафика между некоторыми хостами или открытие WAN-"
 "портов маршрутизатора."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Tuesday"
 msgstr "Вторник"
 
 msgid "Tuesday"
 msgstr "Вторник"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:19
 msgid "Unable to save contents: %s"
 msgstr "Невозможно сохранить содержимое: %s"
 
 msgid "Unable to save contents: %s"
 msgstr "Невозможно сохранить содержимое: %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:277
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
+msgid "Unknown or not installed conntrack helper \"%s\""
+msgstr "Неизвестный или не установленный помощник «‎%s»"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:140
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:144
+msgid "Unnamed NAT"
+msgstr "NAT без имени"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:145
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:159
 msgid "Unnamed forward"
 msgstr "Перенаправление без имени"
 
 msgid "Unnamed forward"
 msgstr "Перенаправление без имени"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:215
 msgid "Unnamed rule"
 msgstr "Правило без имени"
 
 msgid "Unnamed rule"
 msgstr "Правило без имени"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "Unnamed zone"
 msgstr "Зона без имени"
 
 msgid "Unnamed zone"
 msgstr "Зона без имени"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:551
+msgid "Unrecognized protocol"
+msgstr "Нераспознанный протокол"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:648
+msgid ""
+"Upon pressing \"Continue\", \"redirect\" sections with target \"SNAT\" will "
+"be converted to \"nat\" sections and the firewall will be restarted to apply "
+"the updated configuration."
+msgstr ""
+"После нажатия кнопки «Продолжить», разделы правил перенаправления «redirect» "
+"типа «SNAT» будут сконвертированы в разделы «nat» и межсетевой экран будет "
+"перезапущен для применения и обновления конфигурации."
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:257
+msgid "Use external IP address"
+msgstr "Использовать внешний IP-адрес"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:256
+msgid "Use internal IP address"
+msgstr "Использовать внутренний IP-адрес"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:206
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
 "network devices."
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
 "network devices."
@@ -714,7 +1134,7 @@ msgstr ""
 "Используйте эту опцию для классификации трафика зоны по сетевым устройствам, "
 "управляемым не через <em>uci</em>."
 
 "Используйте эту опцию для классификации трафика зоны по сетевым устройствам, "
 "управляемым не через <em>uci</em>."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
 msgid ""
 "Use this option to classify zone traffic by source or destination subnet "
 "instead of networks or devices."
 msgid ""
 "Use this option to classify zone traffic by source or destination subnet "
 "instead of networks or devices."
@@ -722,127 +1142,317 @@ msgstr ""
 "Используйте эту опцию для классификации трафика зоны по источнику или "
 "подсети назначения вместо сети или устройств."
 
 "Используйте эту опцию для классификации трафика зоны по источнику или "
 "подсети назначения вместо сети или устройств."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:72
-msgid "Via %s"
-msgstr "ЧеÑ\80ез %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:330
+msgid "Valid firewall mark required"
+msgstr "ТÑ\80ебÑ\83еÑ\82Ñ\81Ñ\8f Ð²ÐµÑ\80наÑ\8f Ð¼ÐµÑ\82ка Ð±Ñ\80андмаÑ\83Ñ\8dÑ\80а"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:70
-msgid "Via %s at %s"
-msgstr "Через %s, %s"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:262
 msgid "Wednesday"
 msgstr "Среда"
 
 msgid "Wednesday"
 msgstr "Среда"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "Week Days"
 msgstr "Дни недели"
 
 msgid "Week Days"
 msgstr "Дни недели"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+msgid "XOR firewall mark"
+msgstr "XOR метка брандмауэра"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid "XOR mark"
+msgstr "XOR метка"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:135
 msgid "Zone ⇒ Forwardings"
 msgstr "Зона ⇒ Перенаправления"
 
 msgid "Zone ⇒ Forwardings"
 msgstr "Зона ⇒ Перенаправления"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
 msgid "Zones"
 msgstr "Зоны"
 
 msgid "Zones"
 msgstr "Зоны"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:368
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:69
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:151
 msgid "accept"
 msgstr "принимать"
 
 msgid "accept"
 msgstr "принимать"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:455
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:243
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:264
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:290
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203
 msgid "any"
 msgstr "любой"
 
 msgid "any"
 msgstr "любой"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
-msgid "any host"
-msgstr "любого хоста"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:66
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:69
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:94
-msgid "any router IP"
-msgstr "любой IP-адрес маршрутизатора"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:40
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50
 msgid "any zone"
 msgid "any zone"
-msgstr "лÑ\8eбой Ð·Ð¾Ð½Ñ\8b"
+msgstr "лÑ\8eбаÑ\8f Ð·Ð¾Ð½Ð°"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+msgid "apply firewall mark"
+msgstr "применить метку брандмауэра"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+msgid "assign conntrack helper"
+msgstr "назначить помощника отслеживания соединений"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
 msgid "day"
 msgstr "день"
 
 msgid "day"
 msgstr "день"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:234
+msgid "do not rewrite"
+msgstr "не перезаписывать"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
 msgid "don't track"
 msgstr "не отслеживать"
 
 msgid "don't track"
 msgstr "не отслеживать"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:150
 msgid "drop"
 msgstr "не обрабатывать"
 
 msgid "drop"
 msgstr "не обрабатывать"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
 msgid "hour"
 msgstr "час"
 
 msgid "hour"
 msgstr "час"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
 msgid "minute"
 msgstr "минута"
 
 msgid "minute"
 msgstr "минута"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:86
-msgid "not"
-msgstr "нет"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:121
-msgid "port"
-msgstr "порт"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:131
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:140
-msgid "ports"
-msgstr "порты"
-
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:369
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:149
 msgid "reject"
 msgstr "отвергать"
 
 msgid "reject"
 msgstr "отвергать"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:68
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:89
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:61
 msgid "second"
 msgstr "секунда"
 
 msgid "second"
 msgstr "секунда"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:49
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:58
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:82
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:65
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:78
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:50
+msgid "this device"
+msgstr "это устройство"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:201
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:290
 msgid "this new zone"
 msgstr "эта новая зона"
 
 msgid "this new zone"
 msgstr "эта новая зона"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:197
-msgid "type"
-msgstr "тип"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:353
+msgid "unlimited"
+msgstr "без ограничений"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:243
+msgid "unspecified"
+msgstr "не определено"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:338
+msgid "valid firewall mark"
+msgstr "верная метка брандмауэра"
+
+#~ msgid "%s in %s"
+#~ msgstr "%s в %s"
+
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s с %s"
+
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s в %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> пакетов за <var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr ""
+#~ "<var>%d</var> пакетов за <var>%s</var>, подряд <var>%d</var> пакетов"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> с пределом в %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "Принимать перенаправляемый трафик"
+
+#~ msgid "Accept input"
+#~ msgstr "Принимать входящий трафик"
+
+#~ msgid "Accept output"
+#~ msgstr "Принимать исходящий трафик"
+
+#~ msgid "Destination IP address"
+#~ msgstr "IP-адрес назначения"
+
+#~ msgid "Discard forward"
+#~ msgstr "Отклонять перенаправляемый трафик"
+
+#~ msgid "Discard input"
+#~ msgstr "Отклонять входящий трафик"
+
+#~ msgid "Discard output"
+#~ msgstr "Отклонять исходящий трафик"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "Не перезаписывать"
+
+#~ msgid "Do not track forward"
+#~ msgstr "Не отслеживать перенаправляемый трафик"
+
+#~ msgid "Do not track input"
+#~ msgstr "Не отслеживать входящий трафик"
+
+#~ msgid "Do not track output"
+#~ msgstr "Не отслеживать исходящий трафик"
+
+#~ msgid "Forward to"
+#~ msgstr "Перенаправлять на"
+
+#~ msgid "From %s in %s"
+#~ msgstr "Из %s в %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "Из %s в %s с источником %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "Из %s в %s с источниками %s и %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "Из %s в <var>это устройство</var>"
 
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
-msgid "types"
-msgstr "типы"
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "Из %s в <var>это устройство</var> с источником %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "Из %s в <var>это устройство</var> с источниками %s and %s"
+
+#~ msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+#~ msgstr "Из %{ipaddr?:любой хост} %{port?с источником %{port}}"
+
+#~ msgid "IP"
+#~ msgstr "IP-адрес"
+
+#~ msgid "IP range"
+#~ msgstr "Диапазон IP-адресов"
+
+#~ msgid "IPs"
+#~ msgstr "IP-адреса"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC-адреса"
+
+#~ msgid ""
+#~ "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+#~ "%{mark?with firewall mark %{mark}} %{limit?limited to %{limit}}"
+#~ msgstr ""
+#~ "Соответствует %{protocol?%{family} %{protocol} трафику:любому %{family} "
+#~ "трафику} %{mark?с меткой брандмауэра %{mark}}"
+
+#~ msgid "Network"
+#~ msgstr "Сеть"
+
+#~ msgid "Refuse forward"
+#~ msgstr "Сбрасывать перенаправляемый трафик"
+
+#~ msgid "Refuse input"
+#~ msgstr "Сбрасывать входящий трафик"
+
+#~ msgid "Refuse output"
+#~ msgstr "Сбрасывать исходящий трафик"
+
+#~ msgid "Rewrite to"
+#~ msgstr "Перезаписать"
+
+#~ msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+#~ msgstr ""
+#~ "Перезаписать на %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+
+#~ msgid "Rewrite to outbound device IP"
+#~ msgstr "Перезаписать на IP-адрес исходящего устройства"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "К %s, %s на <var>этом устройстве</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "К %s в %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "К %s на <var>этом устройстве</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "К %s, %s в %s"
+
+#~ msgid ""
+#~ "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+#~ "%{device?egress device %{device}}"
+#~ msgstr ""
+#~ "На %{ipaddr?:любой адрес назначения} %{port?порт %{port}} %{zone?через "
+#~ "зону %{zone}} %{device?исходящее устройство %{device}}"
+
+#~ msgid "Via %s"
+#~ msgstr "Через %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "Через %s, %s"
+
+#~ msgid "any host"
+#~ msgstr "любого хоста"
+
+#~ msgid "any router IP"
+#~ msgstr "любой IP-адрес маршрутизатора"
+
+#~ msgid "not"
+#~ msgstr "нет"
+
+#~ msgid "port"
+#~ msgstr "порт"
+
+#~ msgid "ports"
+#~ msgstr "порты"
+
+#~ msgid "type"
+#~ msgstr "тип"
+
+#~ msgid "types"
+#~ msgstr "типы"
 
 #~ msgid "Force connection tracking"
 #~ msgstr "Принудительно включать отслеживание соединений"
 
 #~ msgid "Force connection tracking"
 #~ msgstr "Принудительно включать отслеживание соединений"
@@ -872,9 +1482,6 @@ msgstr "типы"
 #~ msgid "Add and edit..."
 #~ msgstr "Добавить и редактировать..."
 
 #~ msgid "Add and edit..."
 #~ msgstr "Добавить и редактировать..."
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Не перезаписывать"
-
 #~ msgid "External zone"
 #~ msgstr "Внешняя зона"
 
 #~ msgid "External zone"
 #~ msgstr "Внешняя зона"