Ver código fonte

luci-app-firewall: resync translations

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich 4 anos atrás
pai
commit
6c7e82543c
30 arquivos alterados com 5222 adições e 131 exclusões
  1. 174 1
      applications/luci-app-firewall/po/bg/firewall.po
  2. 174 7
      applications/luci-app-firewall/po/ca/firewall.po
  3. 174 7
      applications/luci-app-firewall/po/cs/firewall.po
  4. 174 7
      applications/luci-app-firewall/po/de/firewall.po
  5. 174 4
      applications/luci-app-firewall/po/el/firewall.po
  6. 174 1
      applications/luci-app-firewall/po/en/firewall.po
  7. 174 7
      applications/luci-app-firewall/po/es/firewall.po
  8. 174 4
      applications/luci-app-firewall/po/fr/firewall.po
  9. 174 1
      applications/luci-app-firewall/po/he/firewall.po
  10. 174 1
      applications/luci-app-firewall/po/hi/firewall.po
  11. 174 7
      applications/luci-app-firewall/po/hu/firewall.po
  12. 174 7
      applications/luci-app-firewall/po/it/firewall.po
  13. 174 4
      applications/luci-app-firewall/po/ja/firewall.po
  14. 174 4
      applications/luci-app-firewall/po/ko/firewall.po
  15. 174 1
      applications/luci-app-firewall/po/mr/firewall.po
  16. 174 1
      applications/luci-app-firewall/po/ms/firewall.po
  17. 174 7
      applications/luci-app-firewall/po/no/firewall.po
  18. 176 9
      applications/luci-app-firewall/po/pl/firewall.po
  19. 174 7
      applications/luci-app-firewall/po/pt-br/firewall.po
  20. 174 7
      applications/luci-app-firewall/po/pt/firewall.po
  21. 174 7
      applications/luci-app-firewall/po/ro/firewall.po
  22. 174 4
      applications/luci-app-firewall/po/ru/firewall.po
  23. 174 1
      applications/luci-app-firewall/po/sk/firewall.po
  24. 174 7
      applications/luci-app-firewall/po/sv/firewall.po
  25. 174 1
      applications/luci-app-firewall/po/templates/firewall.pot
  26. 174 1
      applications/luci-app-firewall/po/tr/firewall.po
  27. 174 1
      applications/luci-app-firewall/po/uk/firewall.po
  28. 174 1
      applications/luci-app-firewall/po/vi/firewall.po
  29. 174 7
      applications/luci-app-firewall/po/zh-cn/firewall.po
  30. 174 7
      applications/luci-app-firewall/po/zh-tw/firewall.po

+ 174 - 1
applications/luci-app-firewall/po/bg/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -128,7 +141,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -139,11 +152,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -169,6 +187,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -187,6 +209,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -202,6 +225,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -220,6 +247,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -247,6 +275,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -269,6 +301,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -299,8 +332,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -376,6 +414,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -386,30 +428,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -436,6 +529,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -443,6 +544,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -468,6 +570,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -509,11 +612,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -556,6 +692,7 @@ msgstr ""
 # msgstr ""
 # msgstr ""
 #
 #
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -570,6 +707,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -625,14 +768,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -652,6 +798,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -665,6 +817,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -672,6 +825,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -707,10 +865,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -739,6 +899,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -765,6 +929,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -819,3 +988,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 7
applications/luci-app-firewall/po/ca/firewall.po

@@ -40,6 +40,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> i limita a %s"
 msgstr "<var>%s</var> i limita a %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -54,6 +62,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Acció"
 msgstr "Acció"
 
 
@@ -72,6 +81,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Ajusts avançats"
 msgstr "Ajusts avançats"
@@ -89,11 +99,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permet el reenviament als <em>zones de destí</em>:"
 msgstr "Permet el reenviament als <em>zones de destí</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Qualsevol"
 msgstr "Qualsevol"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -130,7 +143,7 @@ msgstr "Xarxes cobertes"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Regles personalitzades"
 msgstr "Regles personalitzades"
 
 
@@ -145,11 +158,16 @@ msgstr ""
 "ordres s'executen després de cada reinici de tallafocs, just després el "
 "ordres s'executen després de cada reinici de tallafocs, just després el "
 "conjunt de regles per defecte s'ha carregat."
 "conjunt de regles per defecte s'ha carregat."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Adreça IP de destí"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Adreça de destí"
 msgstr "Adreça de destí"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Port de destí"
 msgstr "Port de destí"
 
 
@@ -175,6 +193,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "No reescriguis"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -193,6 +215,7 @@ msgstr "Descarta els paquets invàlids"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Activa"
 msgstr "Activa"
 
 
@@ -208,6 +231,10 @@ msgstr "Habilita protecció contra la inundació SYN"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Habilita el registre d'aquesta zona"
 msgstr "Habilita el registre d'aquesta zona"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -226,6 +253,7 @@ msgstr "Port extern"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Paràmetres extres"
 msgstr "Paràmetres extres"
 
 
@@ -249,6 +277,10 @@ msgstr "Tallafocs"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Tallafocs - Regles personalitzades"
 msgstr "Tallafocs - Regles personalitzades"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Tallafocs - Reenviaments de port"
 msgstr "Tallafocs - Reenviaments de port"
@@ -271,6 +303,7 @@ msgid "Forward to"
 msgstr "Reenvia a"
 msgstr "Reenvia a"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Divendres"
 msgstr "Divendres"
 
 
@@ -301,8 +334,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -378,6 +416,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Fixació MSS"
 msgstr "Fixació MSS"
@@ -388,13 +430,38 @@ msgstr "Mascarada"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Coincideix"
 msgstr "Coincideix"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Coincideix amb el tipus ICMP"
 msgstr "Coincideix amb el tipus ICMP"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -403,17 +470,43 @@ msgstr ""
 "Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en "
 "Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en "
 "aquest host donat"
 "aquest host donat"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Dilluns"
 msgstr "Dilluns"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nom"
 msgstr "Nom"
@@ -442,6 +535,14 @@ msgstr ""
 "Només coincideix amb trànsit originant en el host client des del port o del "
 "Només coincideix amb trànsit originant en el host client des del port o del "
 "rang de ports d'origen donat"
 "rang de ports d'origen donat"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -449,6 +550,7 @@ msgstr "Sortida"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!"
 msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!"
 
 
@@ -476,6 +578,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocol"
 msgstr "Protocol"
 
 
@@ -517,11 +620,44 @@ msgstr "Restringeix la mascarada a les subxarxes d'origen donades"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Restringeix a la família d'adreces"
 msgstr "Restringeix a la família d'adreces"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Dissabte"
 msgstr "Dissabte"
 
 
@@ -534,6 +670,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Adreça IP d'origen"
 msgstr "Adreça IP d'origen"
 
 
@@ -548,6 +685,7 @@ msgstr "Adreça d'origen"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Port d'origen"
 msgstr "Port d'origen"
 
 
@@ -557,22 +695,27 @@ msgid "Source zone"
 msgstr "Zona d'origen"
 msgstr "Zona d'origen"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Diumenge"
 msgstr "Diumenge"
 
 
@@ -618,14 +761,17 @@ msgstr ""
 "d'aquesta zona."
 "d'aquesta zona."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Dijous"
 msgstr "Dijous"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -645,6 +791,12 @@ msgstr "A %s en <var>aquest dispositiu</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "A %s, %s en %s"
 msgstr "A %s, %s en %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -661,6 +813,7 @@ msgstr ""
 "obrir ports WAN en el encaminador."
 "obrir ports WAN en el encaminador."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Dimarts"
 msgstr "Dimarts"
 
 
@@ -668,6 +821,11 @@ msgstr "Dimarts"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -703,10 +861,12 @@ msgid "Via %s at %s"
 msgstr "Via %s a %s"
 msgstr "Via %s a %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Dimecres"
 msgstr "Dimecres"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -735,6 +895,10 @@ msgstr "accepta"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "qualsevol"
 msgstr "qualsevol"
 
 
@@ -761,6 +925,11 @@ msgstr "qualsevol zona"
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "no rastregis"
 msgstr "no rastregis"
@@ -816,6 +985,10 @@ msgstr ""
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Força el rastreig de connexió"
 #~ msgstr "Força el rastreig de connexió"
 
 
@@ -825,9 +998,6 @@ msgstr ""
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Afegeix i edita..."
 #~ msgstr "Afegeix i edita..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "No reescriguis"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Zona extern"
 #~ msgstr "Zona extern"
 
 
@@ -867,9 +1037,6 @@ msgstr ""
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(SNAT sense nom)"
 #~ msgstr "(SNAT sense nom)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Adreça IP de destí"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Reenviament interzonal"
 #~ msgstr "Reenviament interzonal"
 
 

+ 174 - 7
applications/luci-app-firewall/po/cs/firewall.po

@@ -36,6 +36,14 @@ msgstr "<var>%d</var> paketů za <var>%s</var>, burst <var>%d</var> paketů."
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> a omezit na %s"
 msgstr "<var>%s</var> a omezit na %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -50,6 +58,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Akce"
 msgstr "Akce"
 
 
@@ -68,6 +77,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Pokročilé nastavení"
 msgstr "Pokročilé nastavení"
@@ -85,11 +95,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Povolit přesměrování do <em>zdrojových oblastí</em>:"
 msgstr "Povolit přesměrování do <em>zdrojových oblastí</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Libovolné"
 msgstr "Libovolné"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -126,7 +139,7 @@ msgstr "Pokryté sítě"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Vlastní pravidla"
 msgstr "Vlastní pravidla"
 
 
@@ -140,11 +153,16 @@ msgstr ""
 "nejsou jinak pokryté frameworkem firewallu. Příkazy jsou spuštěny po každém "
 "nejsou jinak pokryté frameworkem firewallu. Příkazy jsou spuštěny po každém "
 "restartu firewallu, právě po načtení výchozí sady pravidel."
 "restartu firewallu, právě po načtení výchozí sady pravidel."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Cílová IP adresa"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Cílová adresa"
 msgstr "Cílová adresa"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Cílový port"
 msgstr "Cílový port"
 
 
@@ -170,6 +188,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Nepřepisovat"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -188,6 +210,7 @@ msgstr "Zahazovat neplatné pakety"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Povolit"
 msgstr "Povolit"
 
 
@@ -203,6 +226,10 @@ msgstr "Povolit ochranu proti SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Povolit logování v této oblasti"
 msgstr "Povolit logování v této oblasti"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -221,6 +248,7 @@ msgstr "Vnější port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Další argumenty volání"
 msgstr "Další argumenty volání"
 
 
@@ -244,6 +272,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Vlastní pravidla"
 msgstr "Firewall - Vlastní pravidla"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Přesměrování portů"
 msgstr "Firewall - Přesměrování portů"
@@ -266,6 +298,7 @@ msgid "Forward to"
 msgstr "Přesměrovat na"
 msgstr "Přesměrovat na"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Pátek"
 msgstr "Pátek"
 
 
@@ -296,8 +329,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -373,6 +411,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS clamping"
 msgstr "MSS clamping"
@@ -383,13 +425,38 @@ msgstr "Maškárádování"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Shoda"
 msgstr "Shoda"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Odpovídá ICMP typu"
 msgstr "Odpovídá ICMP typu"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -398,17 +465,43 @@ msgstr ""
 "Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů "
 "Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů "
 "tohoto hostitele"
 "tohoto hostitele"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Pondělí"
 msgstr "Pondělí"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Dny v měsíci"
 msgstr "Dny v měsíci"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Název"
 msgstr "Název"
@@ -437,6 +530,14 @@ msgstr ""
 "Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu "
 "Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu "
 "portů klienta"
 "portů klienta"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -444,6 +545,7 @@ msgstr "Výstup"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Předává další argumenty iptables. Používat opatrně!"
 msgstr "Předává další argumenty iptables. Používat opatrně!"
 
 
@@ -472,6 +574,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protokol"
 msgstr "Protokol"
 
 
@@ -514,11 +617,44 @@ msgstr "Omezit maškarádování na uvedené zdrojové podsítě"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Omezit na rodinu adres"
 msgstr "Omezit na rodinu adres"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sobota"
 msgstr "Sobota"
 
 
@@ -531,6 +667,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Zdrojová IP adresa"
 msgstr "Zdrojová IP adresa"
 
 
@@ -545,6 +682,7 @@ msgstr "Zdrojová adresa"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Zdrojový port"
 msgstr "Zdrojový port"
 
 
@@ -554,22 +692,27 @@ msgid "Source zone"
 msgstr "Zdrojová zóna"
 msgstr "Zdrojová zóna"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Neděle"
 msgstr "Neděle"
 
 
@@ -613,14 +756,17 @@ msgstr ""
 "<em>Pokryté sítě</em> určuje, které z dostupných sítí jsou členy této zóny."
 "<em>Pokryté sítě</em> určuje, které z dostupných sítí jsou členy této zóny."
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Čtvrtek"
 msgstr "Čtvrtek"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Časová omezení"
 msgstr "Časová omezení"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Čas v UTC"
 msgstr "Čas v UTC"
 
 
@@ -640,6 +786,12 @@ msgstr "Na %s na <var>tomto zařízení</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Na %s, %s v %s"
 msgstr "Na %s, %s v %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -656,6 +808,7 @@ msgstr ""
 "pro otevření WAN portů na routeru."
 "pro otevření WAN portů na routeru."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Úterý"
 msgstr "Úterý"
 
 
@@ -663,6 +816,11 @@ msgstr "Úterý"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Nelze uložit obsah: %s"
 msgstr "Nelze uložit obsah: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -698,10 +856,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Středa"
 msgstr "Středa"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -730,6 +890,10 @@ msgstr "přijmout"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "libovolný"
 msgstr "libovolný"
 
 
@@ -756,6 +920,11 @@ msgstr "libovolná zóna"
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "nesledovat"
 msgstr "nesledovat"
@@ -811,6 +980,10 @@ msgstr ""
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Vynutit sledování připojení"
 #~ msgstr "Vynutit sledování připojení"
 
 
@@ -820,9 +993,6 @@ msgstr ""
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Přidat a upravit"
 #~ msgstr "Přidat a upravit"
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Nepřepisovat"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Vnější zóna"
 #~ msgstr "Vnější zóna"
 
 
@@ -862,9 +1032,6 @@ msgstr ""
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(Nepojmenovaný SNAT)"
 #~ msgstr "(Nepojmenovaný SNAT)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Cílová IP adresa"
-
 # nebo mimo zóny?
 # nebo mimo zóny?
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Přesměrování mezi zónami"
 #~ msgstr "Přesměrování mezi zónami"

+ 174 - 7
applications/luci-app-firewall/po/de/firewall.po

@@ -38,6 +38,14 @@ msgstr "<var>%d</var> Pkte. pro <var>%s</var>, Häufung <var>%d</var> Pkte."
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> und limitieren auf %s"
 msgstr "<var>%s</var> und limitieren auf %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Erlaubte Weiterleitung"
 msgstr "Erlaubte Weiterleitung"
@@ -52,6 +60,7 @@ msgstr "Ausgang akzeptieren"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Aktion"
 msgstr "Aktion"
 
 
@@ -76,6 +85,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Erweiterte Einstellungen"
 msgstr "Erweiterte Einstellungen"
@@ -93,11 +103,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Erlaube Weiterleitung zu <em>Zielzone</em>:"
 msgstr "Erlaube Weiterleitung zu <em>Zielzone</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Beliebig"
 msgstr "Beliebig"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Beliebig"
 msgstr "Beliebig"
 
 
@@ -136,7 +149,7 @@ msgstr "Abgedeckte Netzwerke"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Abgedeckte Subnetze"
 msgstr "Abgedeckte Subnetze"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Benutzerdefinierte Regeln"
 msgstr "Benutzerdefinierte Regeln"
 
 
@@ -151,11 +164,16 @@ msgstr ""
 "Befehle werden mit jedem Firewall-Neustart abgearbeitet, direkt nach dem "
 "Befehle werden mit jedem Firewall-Neustart abgearbeitet, direkt nach dem "
 "Laden der Basisregeln."
 "Laden der Basisregeln."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Ziel IP-Adresse"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Zieladresse"
 msgstr "Zieladresse"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Zielport"
 msgstr "Zielport"
 
 
@@ -184,6 +202,10 @@ msgstr ""
 "Conntrack-Status <em>invalid</em> abzulehnen. Dies kann bei komplexen "
 "Conntrack-Status <em>invalid</em> abzulehnen. Dies kann bei komplexen "
 "asymmetrischen Routen erforderlich sein."
 "asymmetrischen Routen erforderlich sein."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Nicht umschreiben"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Weiterleitung nicht verfolgen"
 msgstr "Weiterleitung nicht verfolgen"
@@ -202,6 +224,7 @@ msgstr "Ungültige Pakete verwerfen"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Aktivieren"
 msgstr "Aktivieren"
 
 
@@ -217,6 +240,10 @@ msgstr "Schutz vor SYN-flood-Attacken"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Protokollierung innerhalb der Zone aktivieren"
 msgstr "Protokollierung innerhalb der Zone aktivieren"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Experimentelle Funktion. Nicht vollständig kompatibel mit QoS/SQM."
 msgstr "Experimentelle Funktion. Nicht vollständig kompatibel mit QoS/SQM."
@@ -236,6 +263,7 @@ msgstr "Externer Port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Zusätzliche Argumente"
 msgstr "Zusätzliche Argumente"
 
 
@@ -259,6 +287,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Benutzerdefinierte Regeln"
 msgstr "Firewall - Benutzerdefinierte Regeln"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Portweiterleitungen"
 msgstr "Firewall - Portweiterleitungen"
@@ -281,6 +313,7 @@ msgid "Forward to"
 msgstr "Weiterleiten an"
 msgstr "Weiterleiten an"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Freitag"
 msgstr "Freitag"
 
 
@@ -311,8 +344,13 @@ msgstr "Von %s auf <var>diesem Gerät</var> mit Quelle %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "Von %s auf <var>dieses Gerät</var> mit Quelle %s und %s"
 msgstr "Von %s auf <var>dieses Gerät</var> mit Quelle %s und %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -388,6 +426,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MACs"
 msgstr "MACs"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS Korrektur"
 msgstr "MSS Korrektur"
@@ -398,13 +440,38 @@ msgstr "NAT aktivieren"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Filter"
 msgstr "Filter"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Nach ICMP-Typ filtern"
 msgstr "Nach ICMP-Typ filtern"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -413,17 +480,43 @@ msgstr ""
 "Eingehende Verbindungen filtern welche an den angegebenen Port oder "
 "Eingehende Verbindungen filtern welche an den angegebenen Port oder "
 "Portbereich auf dem lokalen Gerät gerichtet sind"
 "Portbereich auf dem lokalen Gerät gerichtet sind"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Montag"
 msgstr "Montag"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Monatstage"
 msgstr "Monatstage"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Name"
 msgstr "Name"
@@ -452,6 +545,14 @@ msgstr ""
 "Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich "
 "Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich "
 "des Client-Host stammt, zuordnen"
 "des Client-Host stammt, zuordnen"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -459,6 +560,7 @@ msgstr "Ausgehend"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht "
 "Gibt zusätzliche Kommandozeilenargumente an iptables weiter. Mit Vorsicht "
@@ -494,6 +596,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protokoll"
 msgstr "Protokoll"
 
 
@@ -538,11 +641,44 @@ msgstr "NAT auf die angegebenen Quell-Subnetze beschränken"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Beschränke auf Adressfamilie"
 msgstr "Beschränke auf Adressfamilie"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Routing/NAT-Beschleunigung"
 msgstr "Routing/NAT-Beschleunigung"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Samstag"
 msgstr "Samstag"
 
 
@@ -555,6 +691,7 @@ msgid "Software flow offloading"
 msgstr "Beschleunigte Flusskontrolle"
 msgstr "Beschleunigte Flusskontrolle"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Quell-IP-Adresse"
 msgstr "Quell-IP-Adresse"
 
 
@@ -569,6 +706,7 @@ msgstr "Quelladresse"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Quellport"
 msgstr "Quellport"
 
 
@@ -578,22 +716,27 @@ msgid "Source zone"
 msgstr "Quell-Zone"
 msgstr "Quell-Zone"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Startdatum (JJJJ-MM-TT)"
 msgstr "Startdatum (JJJJ-MM-TT)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Startzeit (hh.mm.ss)"
 msgstr "Startzeit (hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Enddatum (JJJJ-MM-TT)"
 msgstr "Enddatum (JJJJ-MM-TT)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Stoppzeit (hh.mm.ss)"
 msgstr "Stoppzeit (hh.mm.ss)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Sonntag"
 msgstr "Sonntag"
 
 
@@ -640,14 +783,17 @@ msgstr ""
 "Netzwerke zu dieser Zone gehören."
 "Netzwerke zu dieser Zone gehören."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Donnerstag"
 msgstr "Donnerstag"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Zeitbeschränkungen"
 msgstr "Zeitbeschränkungen"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Zeit ist UTC"
 msgstr "Zeit ist UTC"
 
 
@@ -667,6 +813,12 @@ msgstr "Zu %s auf <var>diesem Gerät</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Zu %s, %s in %s"
 msgstr "Zu %s, %s in %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -683,6 +835,7 @@ msgstr ""
 "WAN-Ports auf dem Router zu öffnen."
 "WAN-Ports auf dem Router zu öffnen."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Dienstag"
 msgstr "Dienstag"
 
 
@@ -690,6 +843,11 @@ msgstr "Dienstag"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Inhalt kann nicht gespeichert werden: %s"
 msgstr "Inhalt kann nicht gespeichert werden: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -729,10 +887,12 @@ msgid "Via %s at %s"
 msgstr "Über %s an %s"
 msgstr "Über %s an %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Mittwoch"
 msgstr "Mittwoch"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Wochentage"
 msgstr "Wochentage"
 
 
@@ -763,6 +923,10 @@ msgstr "zulassen"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "beliebig"
 msgstr "beliebig"
 
 
@@ -789,6 +953,11 @@ msgstr "beliebige Zone"
 msgid "day"
 msgid "day"
 msgstr "Tag"
 msgstr "Tag"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "nicht verfolgen"
 msgstr "nicht verfolgen"
@@ -844,6 +1013,10 @@ msgstr "Typ"
 msgid "types"
 msgid "types"
 msgstr "Typen"
 msgstr "Typen"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Connectiontracking erzwingen"
 #~ msgstr "Connectiontracking erzwingen"
 
 
@@ -865,9 +1038,6 @@ msgstr "Typen"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Hinzufügen und bearbeiten..."
 #~ msgstr "Hinzufügen und bearbeiten..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Nicht umschreiben"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Externe Zone"
 #~ msgstr "Externe Zone"
 
 
@@ -907,9 +1077,6 @@ msgstr "Typen"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(Unbennanter SNAT-Eintrag)"
 #~ msgstr "(Unbennanter SNAT-Eintrag)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Ziel IP-Adresse"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Weiterleitungen zwischen Zonen"
 #~ msgstr "Weiterleitungen zwischen Zonen"
 
 

+ 174 - 4
applications/luci-app-firewall/po/el/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Ενέργεια"
 msgstr "Ενέργεια"
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Ρυθμίσεις για προχωρημένους"
 msgstr "Ρυθμίσεις για προχωρημένους"
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Οποιοδήποτε"
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -128,7 +141,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Προσαρμοσμένοι Κανόνες"
 msgstr "Προσαρμοσμένοι Κανόνες"
 
 
@@ -139,11 +152,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Διεύθυνση IP προορισμού"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Διεύθυνση προορισμού"
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Θύρα προορισμού"
 msgstr "Θύρα προορισμού"
 
 
@@ -169,6 +187,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -187,6 +209,7 @@ msgstr "Αγνόηση μη-έγκυρων πακετών"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Ενεργοποίηση"
 msgstr "Ενεργοποίηση"
 
 
@@ -203,6 +226,10 @@ msgstr "Προστασία SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -221,6 +248,7 @@ msgstr "Εξωτερική θύρα"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Επιπλέον παράμετροι"
 msgstr "Επιπλέον παράμετροι"
 
 
@@ -244,6 +272,10 @@ msgstr "Τείχος προστασίας"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Τείχος προστασίας - Προσαρμοσμένοι Κανόνες"
 msgstr "Τείχος προστασίας - Προσαρμοσμένοι Κανόνες"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Τείχος προστασίας - Προώθηση Θυρών"
 msgstr "Τείχος προστασίας - Προώθηση Θυρών"
@@ -266,6 +298,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -296,8 +329,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -375,6 +413,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #, fuzzy
 #, fuzzy
 msgid "MSS clamping"
 msgid "MSS clamping"
@@ -386,30 +428,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Όνομα"
 msgstr "Όνομα"
@@ -436,6 +529,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -443,6 +544,7 @@ msgstr "Έξοδος"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -468,6 +570,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Πρωτόκολλο"
 msgstr "Πρωτόκολλο"
 
 
@@ -509,11 +612,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -526,6 +662,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 #, fuzzy
 #, fuzzy
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Διεύθυνση MAC πηγής"
 msgstr "Διεύθυνση MAC πηγής"
@@ -542,6 +679,7 @@ msgstr "Διεύθυνση MAC πηγής"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Θύρα πηγής"
 msgstr "Θύρα πηγής"
 
 
@@ -552,22 +690,27 @@ msgid "Source zone"
 msgstr "Θύρα πηγής"
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -600,14 +743,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -627,6 +773,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -640,6 +792,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -647,6 +800,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -682,10 +840,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -714,6 +874,10 @@ msgstr "αποδοχή"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -740,6 +904,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -795,6 +964,10 @@ msgstr ""
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Επιβολή παρακολούθησης σύνδεσης"
 #~ msgstr "Επιβολή παρακολούθησης σύνδεσης"
 
 
@@ -806,6 +979,3 @@ msgstr ""
 
 
 #~ msgid "Other..."
 #~ msgid "Other..."
 #~ msgstr "Άλλο..."
 #~ msgstr "Άλλο..."
-
-#~ msgid "Destination IP address"
-#~ msgstr "Διεύθυνση IP προορισμού"

+ 174 - 1
applications/luci-app-firewall/po/en/firewall.po

@@ -35,6 +35,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -49,6 +57,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Action"
 msgstr "Action"
 
 
@@ -67,6 +76,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -84,11 +94,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -125,7 +138,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -136,11 +149,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Destination address"
 msgstr "Destination address"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Destination port"
 msgstr "Destination port"
 
 
@@ -166,6 +184,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -184,6 +206,7 @@ msgstr "Drop invalid packets"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -199,6 +222,10 @@ msgstr "Enable SYN-flood protection"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -217,6 +244,7 @@ msgstr "External port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -244,6 +272,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -266,6 +298,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -296,8 +329,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -373,6 +411,10 @@ msgstr ""
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS clamping"
 msgstr "MSS clamping"
@@ -383,13 +425,38 @@ msgstr "Masquerading"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -398,17 +465,43 @@ msgstr ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Name"
 msgstr "Name"
@@ -435,6 +528,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -442,6 +543,7 @@ msgstr "Output"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -467,6 +569,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocol"
 msgstr "Protocol"
 
 
@@ -509,11 +612,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -556,6 +692,7 @@ msgstr ""
 # msgstr ""
 # msgstr ""
 #
 #
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Source IP address"
 msgstr "Source IP address"
 
 
@@ -570,6 +707,7 @@ msgstr "Source address"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Source port"
 msgstr "Source port"
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr "Source zone"
 msgstr "Source zone"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -627,14 +770,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -654,6 +800,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -667,6 +819,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -674,6 +827,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -709,10 +867,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -741,6 +901,10 @@ msgstr "accept"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "any"
 msgstr "any"
 
 
@@ -767,6 +931,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -821,3 +990,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 7
applications/luci-app-firewall/po/es/firewall.po

@@ -39,6 +39,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> y limitar a %s"
 msgstr "<var>%s</var> y limitar a %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Aceptar reenvío"
 msgstr "Aceptar reenvío"
@@ -53,6 +61,7 @@ msgstr "Aceptar salida"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Acción"
 msgstr "Acción"
 
 
@@ -77,6 +86,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Configuración avanzada"
 msgstr "Configuración avanzada"
@@ -94,11 +104,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permitir reenvío a <em>zonas de destino</em>:"
 msgstr "Permitir reenvío a <em>zonas de destino</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Cualquiera"
 msgstr "Cualquiera"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Cualquier día"
 msgstr "Cualquier día"
 
 
@@ -137,7 +150,7 @@ msgstr "Redes cubiertas"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Subredes cubiertas"
 msgstr "Subredes cubiertas"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Reglas personalizadas"
 msgstr "Reglas personalizadas"
 
 
@@ -152,11 +165,16 @@ msgstr ""
 "cualquier reinicio del FIrewall, justo tras haber cargado el conjunto de "
 "cualquier reinicio del FIrewall, justo tras haber cargado el conjunto de "
 "reglas predeterminadas."
 "reglas predeterminadas."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Dirección IP destino"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Dirección de destino"
 msgstr "Dirección de destino"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Puerto de destino"
 msgstr "Puerto de destino"
 
 
@@ -185,6 +203,10 @@ msgstr ""
 "estado conntrack <em>inválido</em>. Esto puede ser necesario para "
 "estado conntrack <em>inválido</em>. Esto puede ser necesario para "
 "configuraciones complejas de rutas asimétricas."
 "configuraciones complejas de rutas asimétricas."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "No reescribir"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "No seguir reenvío"
 msgstr "No seguir reenvío"
@@ -203,6 +225,7 @@ msgstr "Descartar paquetes inválidos"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Activar"
 msgstr "Activar"
 
 
@@ -218,6 +241,10 @@ msgstr "Activar protección contra inundaciones SYN"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Activar registro en esta zona"
 msgstr "Activar registro en esta zona"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Característica experimental. No es totalmente compatible con QoS/SQM."
 msgstr "Característica experimental. No es totalmente compatible con QoS/SQM."
@@ -238,6 +265,7 @@ msgstr "Puerto externo"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Argumentos extra"
 msgstr "Argumentos extra"
 
 
@@ -261,6 +289,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Reglas personalizadas"
 msgstr "Firewall - Reglas personalizadas"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Reenvío de puertos"
 msgstr "Firewall - Reenvío de puertos"
@@ -283,6 +315,7 @@ msgid "Forward to"
 msgstr "Reenviar a"
 msgstr "Reenviar a"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Viernes"
 msgstr "Viernes"
 
 
@@ -313,8 +346,13 @@ msgstr "Desde %s en <var>este dispositivo</var> con la fuente %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "De %s en <var>este dispositivo</var> con la fuente %s y %s"
 msgstr "De %s en <var>este dispositivo</var> con la fuente %s y %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -390,6 +428,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC"
 msgstr "MAC"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Fijado de MSS"
 msgstr "Fijado de MSS"
@@ -400,13 +442,38 @@ msgstr "Enmascaramiento"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Coincidir"
 msgstr "Coincidir"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Coincidir con tipo ICMP"
 msgstr "Coincidir con tipo ICMP"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -415,17 +482,43 @@ msgstr ""
 "Coincidir con tráfico de entrada dirigido al puerto o rango de puertos "
 "Coincidir con tráfico de entrada dirigido al puerto o rango de puertos "
 "destino en este host"
 "destino en este host"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Lunes"
 msgstr "Lunes"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Días del mes"
 msgstr "Días del mes"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nombre"
 msgstr "Nombre"
@@ -454,6 +547,14 @@ msgstr ""
 "Solo coincida con el tráfico entrante que se origina desde el puerto de "
 "Solo coincida con el tráfico entrante que se origina desde el puerto de "
 "origen o el rango de puertos en el host del cliente"
 "origen o el rango de puertos en el host del cliente"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -461,6 +562,7 @@ msgstr "Salida"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Pasa argumentos adicionales a iptables. ¡Utilícelo con cuidado!"
 msgstr "Pasa argumentos adicionales a iptables. ¡Utilícelo con cuidado!"
 
 
@@ -494,6 +596,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocolo"
 msgstr "Protocolo"
 
 
@@ -539,11 +642,44 @@ msgstr "Restringir enmascaramiento a las subredes origen"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Restringir a la familia de direcciones"
 msgstr "Restringir a la familia de direcciones"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Enrutamiento/NAT Offloading"
 msgstr "Enrutamiento/NAT Offloading"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sábado"
 msgstr "Sábado"
 
 
@@ -556,6 +692,7 @@ msgid "Software flow offloading"
 msgstr "Descarga de flujo por software"
 msgstr "Descarga de flujo por software"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Dirección IP de origen"
 msgstr "Dirección IP de origen"
 
 
@@ -570,6 +707,7 @@ msgstr "Dirección de origen"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Puerto de origen"
 msgstr "Puerto de origen"
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr "Zona de origen"
 msgstr "Zona de origen"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Fecha de inicio (aaaa-mm-dd)"
 msgstr "Fecha de inicio (aaaa-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Hora de inicio (hh.mm.ss)"
 msgstr "Hora de inicio (hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Fecha de finalización (aaaa-mm-dd)"
 msgstr "Fecha de finalización (aaaa-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Hora de finalización (hh.mm.ss)"
 msgstr "Hora de finalización (hh.mm.ss)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Domingo"
 msgstr "Domingo"
 
 
@@ -640,14 +783,17 @@ msgstr ""
 "esta zona."
 "esta zona."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Jueves"
 msgstr "Jueves"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Restricciones de tiempo"
 msgstr "Restricciones de tiempo"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Tiempo en UTC"
 msgstr "Tiempo en UTC"
 
 
@@ -667,6 +813,12 @@ msgstr "A %s por <var>este dispositivo</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "A %s, %s en %s"
 msgstr "A %s, %s en %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -683,6 +835,7 @@ msgstr ""
 "o para abrir puertos WAN en el enrutador."
 "o para abrir puertos WAN en el enrutador."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Martes"
 msgstr "Martes"
 
 
@@ -690,6 +843,11 @@ msgstr "Martes"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "No se puede guardar el contenido: %s"
 msgstr "No se puede guardar el contenido: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -729,10 +887,12 @@ msgid "Via %s at %s"
 msgstr "Vía %s a %s"
 msgstr "Vía %s a %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Miércoles"
 msgstr "Miércoles"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Días de la semana"
 msgstr "Días de la semana"
 
 
@@ -761,6 +921,10 @@ msgstr "Aceptar"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "cualquiera"
 msgstr "cualquiera"
 
 
@@ -787,6 +951,11 @@ msgstr "cualquier zona"
 msgid "day"
 msgid "day"
 msgstr "Día"
 msgstr "Día"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "No seguir"
 msgstr "No seguir"
@@ -842,6 +1011,10 @@ msgstr "Tipo"
 msgid "types"
 msgid "types"
 msgstr "Tipos"
 msgstr "Tipos"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Forzar seguimiento de conexión"
 #~ msgstr "Forzar seguimiento de conexión"
 
 
@@ -870,9 +1043,6 @@ msgstr "Tipos"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Añadir y editar..."
 #~ msgstr "Añadir y editar..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "No reescribir"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Zona externa"
 #~ msgstr "Zona externa"
 
 
@@ -915,9 +1085,6 @@ msgstr "Tipos"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(SNAT sin nombre)"
 #~ msgstr "(SNAT sin nombre)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Dirección IP destino"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Reenvío entre zonas"
 #~ msgstr "Reenvío entre zonas"
 
 

+ 174 - 4
applications/luci-app-firewall/po/fr/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Action"
 msgstr "Action"
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Paramètres avancés"
 msgstr "Paramètres avancés"
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permettre la transmission vers les <em>zones destination</em> :"
 msgstr "Permettre la transmission vers les <em>zones destination</em> :"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "N'importe lequel"
 msgstr "N'importe lequel"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "N'importe quel jour"
 msgstr "N'importe quel jour"
 
 
@@ -130,7 +143,7 @@ msgstr "Réseaux couverts"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Sous-réseaux couverts"
 msgstr "Sous-réseaux couverts"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Régles spécifiques"
 msgstr "Régles spécifiques"
 
 
@@ -145,11 +158,16 @@ msgstr ""
 "feu. Les commandes sont exécutées après chaque redémarrage du pare-feu, "
 "feu. Les commandes sont exécutées après chaque redémarrage du pare-feu, "
 "juste après le chargement de l'ensemble de règles par défaut."
 "juste après le chargement de l'ensemble de règles par défaut."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Adresse IP de destination"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Adresse de destination"
 msgstr "Adresse de destination"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Port de destination"
 msgstr "Port de destination"
 
 
@@ -175,6 +193,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -193,6 +215,7 @@ msgstr "Supprimer les paquets invalides"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Activer"
 msgstr "Activer"
 
 
@@ -208,6 +231,10 @@ msgstr "Activer la protection contre le SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Activer les traces (logs) sur cette zone"
 msgstr "Activer les traces (logs) sur cette zone"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -226,6 +253,7 @@ msgstr "Port externe"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Arguments supplémentaires"
 msgstr "Arguments supplémentaires"
 
 
@@ -253,6 +281,10 @@ msgstr "Pare-feu"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Pare-feu - Règles personnalisées"
 msgstr "Pare-feu - Règles personnalisées"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Pare-feu - Redirections de ports"
 msgstr "Pare-feu - Redirections de ports"
@@ -275,6 +307,7 @@ msgid "Forward to"
 msgstr "Transférer à"
 msgstr "Transférer à"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Vendredi"
 msgstr "Vendredi"
 
 
@@ -305,8 +338,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -382,6 +420,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MACs"
 msgstr "MACs"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Contrainte du MSS"
 msgstr "Contrainte du MSS"
@@ -392,13 +434,38 @@ msgstr "Masquage"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Type ICMP correspondant"
 msgstr "Type ICMP correspondant"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -407,17 +474,43 @@ msgstr ""
 "Prendre en compte le trafic dirigé vers le port de destination donné (ou la "
 "Prendre en compte le trafic dirigé vers le port de destination donné (ou la "
 "gamme de ports) sur cet hôte"
 "gamme de ports) sur cet hôte"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Lundi"
 msgstr "Lundi"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nom"
 msgstr "Nom"
@@ -444,6 +537,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -451,6 +552,7 @@ msgstr "Sortie"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser "
 "Passe des arguments supplémentaires aux tables d'adresses IP. A utiliser "
@@ -480,6 +582,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocole"
 msgstr "Protocole"
 
 
@@ -527,11 +630,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Restreindre à cette famille d'adresses"
 msgstr "Restreindre à cette famille d'adresses"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Samedi"
 msgstr "Samedi"
 
 
@@ -574,6 +710,7 @@ msgstr ""
 # msgstr ""
 # msgstr ""
 #
 #
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Adresse IP source"
 msgstr "Adresse IP source"
 
 
@@ -588,6 +725,7 @@ msgstr "Adresse source"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Port source"
 msgstr "Port source"
 
 
@@ -597,22 +735,27 @@ msgid "Source zone"
 msgstr "Zone source"
 msgstr "Zone source"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Dimanche"
 msgstr "Dimanche"
 
 
@@ -659,14 +802,17 @@ msgstr ""
 "disponibles sont membre de cette zone."
 "disponibles sont membre de cette zone."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Jeudi"
 msgstr "Jeudi"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Heure en UTC"
 msgstr "Heure en UTC"
 
 
@@ -686,6 +832,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -702,6 +854,7 @@ msgstr ""
 "hôtes ou pour ouvrir des ports WAN sur le routeur."
 "hôtes ou pour ouvrir des ports WAN sur le routeur."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Mardi"
 msgstr "Mardi"
 
 
@@ -709,6 +862,11 @@ msgstr "Mardi"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -746,10 +904,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Mercredi"
 msgstr "Mercredi"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -778,6 +938,10 @@ msgstr "accepter"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "tous"
 msgstr "tous"
 
 
@@ -804,6 +968,11 @@ msgstr "n'importe quelle zone"
 msgid "day"
 msgid "day"
 msgstr "journée"
 msgstr "journée"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -859,6 +1028,10 @@ msgstr "type"
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Forcer le suivi des connexions"
 #~ msgstr "Forcer le suivi des connexions"
 
 
@@ -886,9 +1059,6 @@ msgstr ""
 #~ msgid "Other..."
 #~ msgid "Other..."
 #~ msgstr "Autre..."
 #~ msgstr "Autre..."
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Adresse IP de destination"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Transmission entre zones"
 #~ msgstr "Transmission entre zones"
 
 

+ 174 - 1
applications/luci-app-firewall/po/he/firewall.po

@@ -32,6 +32,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -46,6 +54,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
@@ -64,6 +73,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -81,11 +91,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -122,7 +135,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -133,11 +146,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -163,6 +181,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -181,6 +203,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -196,6 +219,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -214,6 +241,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -237,6 +265,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -259,6 +291,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -289,8 +322,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -366,6 +404,10 @@ msgstr ""
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -376,30 +418,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -426,6 +519,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -433,6 +534,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -458,6 +560,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -499,11 +602,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -516,6 +652,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -530,6 +667,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -539,22 +677,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -585,14 +728,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -612,6 +758,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -625,6 +777,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -632,6 +785,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -667,10 +825,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -699,6 +859,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -725,6 +889,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -779,3 +948,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 1
applications/luci-app-firewall/po/hi/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -128,7 +141,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -139,11 +152,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -169,6 +187,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -187,6 +209,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -202,6 +225,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -220,6 +247,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -247,6 +275,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -269,6 +301,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -299,8 +332,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -376,6 +414,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -386,30 +428,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -436,6 +529,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -443,6 +544,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -468,6 +570,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -509,11 +612,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -556,6 +692,7 @@ msgstr ""
 # msgstr ""
 # msgstr ""
 #
 #
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -570,6 +707,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -625,14 +768,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -652,6 +798,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -665,6 +817,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -672,6 +825,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -707,10 +865,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -739,6 +899,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -765,6 +929,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -819,3 +988,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 7
applications/luci-app-firewall/po/hu/firewall.po

@@ -36,6 +36,14 @@ msgstr "<var>%d</var> csomag / <var>%s</var>, löket <var>%d</var> csomag"
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> és korlátozás erre: %s"
 msgstr "<var>%s</var> és korlátozás erre: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Továbbítás elfogadása"
 msgstr "Továbbítás elfogadása"
@@ -50,6 +58,7 @@ msgstr "Kimenet elfogadása"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Művelet"
 msgstr "Művelet"
 
 
@@ -74,6 +83,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Speciális beállítások"
 msgstr "Speciális beállítások"
@@ -91,11 +101,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Továbbítás engedélyezése ezekbe a <em>célzónákba</em>:"
 msgstr "Továbbítás engedélyezése ezekbe a <em>célzónákba</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Bármelyik"
 msgstr "Bármelyik"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Bármely nap"
 msgstr "Bármely nap"
 
 
@@ -134,7 +147,7 @@ msgstr "Lefedett hálózatok"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Lefedett alhálózatok"
 msgstr "Lefedett alhálózatok"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Egyéni szabályok"
 msgstr "Egyéni szabályok"
 
 
@@ -149,11 +162,16 @@ msgstr ""
 "parancsok minden tűzfal-újraindítás után végrehajtásra kerülnek, közvetlenül "
 "parancsok minden tűzfal-újraindítás után végrehajtásra kerülnek, közvetlenül "
 "az alapértelmezett szabálykészletek betöltődése után."
 "az alapértelmezett szabálykészletek betöltődése után."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Cél IP-cím"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Célcím"
 msgstr "Célcím"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Célport"
 msgstr "Célport"
 
 
@@ -181,6 +199,10 @@ msgstr ""
 "Ne telepítsen további szabályokat az <em>érvénytelen</em> kapcsolatkövető "
 "Ne telepítsen további szabályokat az <em>érvénytelen</em> kapcsolatkövető "
 "állapottal rendelkező továbbított forgalom visszautasításához."
 "állapottal rendelkező továbbított forgalom visszautasításához."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Ne írja felül"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Ne kövesse a továbbítást"
 msgstr "Ne kövesse a továbbítást"
@@ -199,6 +221,7 @@ msgstr "Érvénytelen csomagok eldobása"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Engedélyezés"
 msgstr "Engedélyezés"
 
 
@@ -214,6 +237,10 @@ msgstr "SYN-elárasztás elleni védelem engedélyezése"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Naplózás engedélyezése ezen a zónán"
 msgstr "Naplózás engedélyezése ezen a zónán"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Kísérleti funkció. Nem teljesen kompatibilis a QoS/SQM használatával."
 msgstr "Kísérleti funkció. Nem teljesen kompatibilis a QoS/SQM használatával."
@@ -234,6 +261,7 @@ msgstr "Külső port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "További argumentumok"
 msgstr "További argumentumok"
 
 
@@ -257,6 +285,10 @@ msgstr "Tűzfal"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Tűzfal – egyéni szabályok"
 msgstr "Tűzfal – egyéni szabályok"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Tűzfal – porttovábbítások"
 msgstr "Tűzfal – porttovábbítások"
@@ -279,6 +311,7 @@ msgid "Forward to"
 msgstr "Továbbítás ide"
 msgstr "Továbbítás ide"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Péntek"
 msgstr "Péntek"
 
 
@@ -310,8 +343,13 @@ msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 "Ettől: %s, <var>ezen az eszközön</var>, ezekkel a forrásokkal: %s és %s"
 "Ettől: %s, <var>ezen az eszközön</var>, ezekkel a forrásokkal: %s és %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -387,6 +425,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC-ek"
 msgstr "MAC-ek"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS összefogás"
 msgstr "MSS összefogás"
@@ -397,13 +439,38 @@ msgstr "Álcázás"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Illesztés"
 msgstr "Illesztés"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "ICMP-típus illesztése"
 msgstr "ICMP-típus illesztése"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -412,17 +479,43 @@ msgstr ""
 "Az ezen a gépen lévő megadott célportra vagy porttartományra irányított "
 "Az ezen a gépen lévő megadott célportra vagy porttartományra irányított "
 "bejövő forgalom illesztése"
 "bejövő forgalom illesztése"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Hétfő"
 msgstr "Hétfő"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Hónap napjai"
 msgstr "Hónap napjai"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Név"
 msgstr "Név"
@@ -452,6 +545,14 @@ msgstr ""
 "Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományából eredő "
 "Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományából eredő "
 "bejövő forgalom illesztése"
 "bejövő forgalom illesztése"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -459,6 +560,7 @@ msgstr "Kimenet"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "Átadja a további argumentumokat az iptables részére. Használja "
 "Átadja a további argumentumokat az iptables részére. Használja "
@@ -495,6 +597,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protokoll"
 msgstr "Protokoll"
 
 
@@ -536,11 +639,44 @@ msgstr "Álcázás korlátozása a megadott forrás alhálózatokra"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Korlátozás címcsaládra"
 msgstr "Korlátozás címcsaládra"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Útválasztás vagy NAT kiürítés"
 msgstr "Útválasztás vagy NAT kiürítés"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Szombat"
 msgstr "Szombat"
 
 
@@ -553,6 +689,7 @@ msgid "Software flow offloading"
 msgstr "Szoftveres áramláskiürítés"
 msgstr "Szoftveres áramláskiürítés"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Forrás IP-cím"
 msgstr "Forrás IP-cím"
 
 
@@ -567,6 +704,7 @@ msgstr "Forráscím"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Forrásport"
 msgstr "Forrásport"
 
 
@@ -576,22 +714,27 @@ msgid "Source zone"
 msgstr "Forrászóna"
 msgstr "Forrászóna"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Kezdés dátuma (ÉÉÉÉ-HH-NN)"
 msgstr "Kezdés dátuma (ÉÉÉÉ-HH-NN)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Kezdés ideje (ÓÓ.PP.MM)"
 msgstr "Kezdés ideje (ÓÓ.PP.MM)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Leállítás dátuma (ÉÉÉÉ-HH-NN)"
 msgstr "Leállítás dátuma (ÉÉÉÉ-HH-NN)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Leállítás ideje (ÓÓ.PP.MM)"
 msgstr "Leállítás ideje (ÓÓ.PP.MM)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Vasárnap"
 msgstr "Vasárnap"
 
 
@@ -637,14 +780,17 @@ msgstr ""
 "tagjai ennek a zónának."
 "tagjai ennek a zónának."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Csütörtök"
 msgstr "Csütörtök"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Időkorlátozások"
 msgstr "Időkorlátozások"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Idő UTC szerint"
 msgstr "Idő UTC szerint"
 
 
@@ -664,6 +810,12 @@ msgstr "Ide: %s, <var>ezen az eszközön</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Erre: %s, %s ebben: %s"
 msgstr "Erre: %s, %s ebben: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -680,6 +832,7 @@ msgstr ""
 "visszautasításához vagy WAN portok megnyitásához az útválasztón."
 "visszautasításához vagy WAN portok megnyitásához az útválasztón."
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Kedd"
 msgstr "Kedd"
 
 
@@ -687,6 +840,11 @@ msgstr "Kedd"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Nem lehet elmenteni a tartalmat: %s"
 msgstr "Nem lehet elmenteni a tartalmat: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -726,10 +884,12 @@ msgid "Via %s at %s"
 msgstr "Ezen keresztül: %s, itt: %s"
 msgstr "Ezen keresztül: %s, itt: %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Szerda"
 msgstr "Szerda"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Hétköznapok"
 msgstr "Hétköznapok"
 
 
@@ -758,6 +918,10 @@ msgstr "elfogadás"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "bármely"
 msgstr "bármely"
 
 
@@ -784,6 +948,11 @@ msgstr "bármely zóna"
 msgid "day"
 msgid "day"
 msgstr "nap"
 msgstr "nap"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "ne kövessen"
 msgstr "ne kövessen"
@@ -839,6 +1008,10 @@ msgstr "típus"
 msgid "types"
 msgid "types"
 msgstr "típusok"
 msgstr "típusok"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Kapcsolat követés kényszerítése"
 #~ msgstr "Kapcsolat követés kényszerítése"
 
 
@@ -848,9 +1021,6 @@ msgstr "típusok"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Hozzáadás és szerkesztés..."
 #~ msgstr "Hozzáadás és szerkesztés..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Ne írja felül"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Külső zóna"
 #~ msgstr "Külső zóna"
 
 
@@ -890,9 +1060,6 @@ msgstr "típusok"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(Névtelen SNAT)"
 #~ msgstr "(Névtelen SNAT)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Cél IP-cím"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Zónák-közötti továbbítás"
 #~ msgstr "Zónák-közötti továbbítás"
 
 

+ 174 - 7
applications/luci-app-firewall/po/it/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> e limita a %s"
 msgstr "<var>%s</var> e limita a %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr "Accetta output"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Azione"
 msgstr "Azione"
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Opzioni Avanzate"
 msgstr "Opzioni Avanzate"
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permetti rounting a <em>zone di destinazione</em>:"
 msgstr "Permetti rounting a <em>zone di destinazione</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Qualsiasi"
 msgstr "Qualsiasi"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Qualsiasi giorno"
 msgstr "Qualsiasi giorno"
 
 
@@ -128,7 +141,7 @@ msgstr "Reti coperte"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Sottoreti coperte"
 msgstr "Sottoreti coperte"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Regole Personalizzate"
 msgstr "Regole Personalizzate"
 
 
@@ -143,11 +156,16 @@ msgstr ""
 "comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre "
 "comandi sono eseguiti dopo ogni riavvio del firewall, giusto dopo le altre "
 "regole che sono state caricate."
 "regole che sono state caricate."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Indirizzo IP destinazione"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Indirizzo di destinazione"
 msgstr "Indirizzo di destinazione"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Porta di destinazione"
 msgstr "Porta di destinazione"
 
 
@@ -173,6 +191,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Non riscrivere"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -191,6 +213,7 @@ msgstr "Scarta pacchetti invalidi"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Attiva"
 msgstr "Attiva"
 
 
@@ -206,6 +229,10 @@ msgstr "Attiva protezione SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Attiva registro su questa zona"
 msgstr "Attiva registro su questa zona"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -224,6 +251,7 @@ msgstr "Porta Esterna"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Comandi extra"
 msgstr "Comandi extra"
 
 
@@ -247,6 +275,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Regole Personalizzate"
 msgstr "Firewall - Regole Personalizzate"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Inoltro Porte"
 msgstr "Firewall - Inoltro Porte"
@@ -269,6 +301,7 @@ msgid "Forward to"
 msgstr "Inoltra a"
 msgstr "Inoltra a"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Venerdì"
 msgstr "Venerdì"
 
 
@@ -299,8 +332,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -376,6 +414,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MACs"
 msgstr "MACs"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -386,13 +428,38 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Corrispondenza"
 msgstr "Corrispondenza"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Corrispondenza tipo ICMP"
 msgstr "Corrispondenza tipo ICMP"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -401,17 +468,43 @@ msgstr ""
 "Corrispondi traffico in entrata diretto alla porta o intervallo di porte "
 "Corrispondi traffico in entrata diretto alla porta o intervallo di porte "
 "dato su questo host"
 "dato su questo host"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Lunedì"
 msgstr "Lunedì"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Giorni del Mese"
 msgstr "Giorni del Mese"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nome"
 msgstr "Nome"
@@ -440,6 +533,14 @@ msgstr ""
 "Corrispondi solo traffico in entrata originato dalla porta o intervallo di "
 "Corrispondi solo traffico in entrata originato dalla porta o intervallo di "
 "porte sorgenti su host cliente"
 "porte sorgenti su host cliente"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -447,6 +548,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa comandi addizionali a iptables. Usare con cura!"
 msgstr "Passa comandi addizionali a iptables. Usare con cura!"
 
 
@@ -474,6 +576,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocollo"
 msgstr "Protocollo"
 
 
@@ -515,11 +618,44 @@ msgstr "Limita il Masquerading alle subnet sorgente date"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Limita agli indirizzi famiglia"
 msgstr "Limita agli indirizzi famiglia"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sabato"
 msgstr "Sabato"
 
 
@@ -553,6 +689,7 @@ msgstr ""
 # msgid "Protocol"
 # msgid "Protocol"
 # msgstr ""
 # msgstr ""
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Indirizzo IP di origine"
 msgstr "Indirizzo IP di origine"
 
 
@@ -567,6 +704,7 @@ msgstr "Indirizzo di origine"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Porta di origine"
 msgstr "Porta di origine"
 
 
@@ -576,22 +714,27 @@ msgid "Source zone"
 msgstr "Zona di origine"
 msgstr "Zona di origine"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Data di Inizio (yyyy-mm-dd)"
 msgstr "Data di Inizio (yyyy-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Data di Stop (yyyy-mm-dd)"
 msgstr "Data di Stop (yyyy-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Domenica"
 msgstr "Domenica"
 
 
@@ -637,14 +780,17 @@ msgstr ""
 "disponibili sono membri di questa zona."
 "disponibili sono membri di questa zona."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Giovedì"
 msgstr "Giovedì"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Orario in UTC"
 msgstr "Orario in UTC"
 
 
@@ -664,6 +810,12 @@ msgstr "Verso %s su <var>questo dispositivo</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Verso %s, %s in %s"
 msgstr "Verso %s, %s in %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -680,6 +832,7 @@ msgstr ""
 "per aprire porte WAN sul router."
 "per aprire porte WAN sul router."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Martedì"
 msgstr "Martedì"
 
 
@@ -687,6 +840,11 @@ msgstr "Martedì"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -722,10 +880,12 @@ msgid "Via %s at %s"
 msgstr "Via %s a %s"
 msgstr "Via %s a %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Mercoledì"
 msgstr "Mercoledì"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Giorni della Settimana"
 msgstr "Giorni della Settimana"
 
 
@@ -754,6 +914,10 @@ msgstr "accetta"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "qualsiasi"
 msgstr "qualsiasi"
 
 
@@ -780,6 +944,11 @@ msgstr "qualsiasi zona"
 msgid "day"
 msgid "day"
 msgstr "giorno"
 msgstr "giorno"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "non tracciare"
 msgstr "non tracciare"
@@ -835,6 +1004,10 @@ msgstr ""
 msgid "types"
 msgid "types"
 msgstr "tipi"
 msgstr "tipi"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Forza tracciamento connessione"
 #~ msgstr "Forza tracciamento connessione"
 
 
@@ -847,9 +1020,6 @@ msgstr "tipi"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Aggiungi e modifica..."
 #~ msgstr "Aggiungi e modifica..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Non riscrivere"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Zona Esterna"
 #~ msgstr "Zona Esterna"
 
 
@@ -880,9 +1050,6 @@ msgstr "tipi"
 #~ msgid "To source port"
 #~ msgid "To source port"
 #~ msgstr "Verso la porta sorgente"
 #~ msgstr "Verso la porta sorgente"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Indirizzo IP destinazione"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Inoltro tra le zone"
 #~ msgstr "Inoltro tra le zone"
 
 

+ 174 - 4
applications/luci-app-firewall/po/ja/firewall.po

@@ -39,6 +39,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var>, %s を上限に設定"
 msgstr "<var>%s</var>, %s を上限に設定"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "転送を許可"
 msgstr "転送を許可"
@@ -53,6 +61,7 @@ msgstr "出力を許可"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "動作"
 msgstr "動作"
 
 
@@ -77,6 +86,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "詳細設定"
 msgstr "詳細設定"
@@ -94,11 +104,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "<em>宛先ゾーン</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/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "全て"
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "全日"
 msgstr "全日"
 
 
@@ -137,7 +150,7 @@ msgstr "対象ネットワーク"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "カバーされるサブネット"
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "手動設定ルール"
 msgstr "手動設定ルール"
 
 
@@ -152,11 +165,16 @@ msgstr ""
 "ドは、ファイアウォール機能の起動ごとに、標準のルールが読み込まれた後に実行さ"
 "ドは、ファイアウォール機能の起動ごとに、標準のルールが読み込まれた後に実行さ"
 "れます。"
 "れます。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "宛先アドレス"
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "宛先ポート"
 msgstr "宛先ポート"
 
 
@@ -185,6 +203,10 @@ msgstr ""
 "追加ルールをインストールしません。これは、複雑で非対称なルートのセットアップ"
 "追加ルールをインストールしません。これは、複雑で非対称なルートのセットアップ"
 "に必要となることがあります。"
 "に必要となることがあります。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "リライトしない"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "転送を追跡しない"
 msgstr "転送を追跡しない"
@@ -203,6 +225,7 @@ msgstr "無効なパケットを遮断する"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "有効"
 msgstr "有効"
 
 
@@ -218,6 +241,10 @@ msgstr "SYN-Floodプロテクションを有効にする"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "このゾーンのログ記録を有効にする"
 msgstr "このゾーンのログ記録を有効にする"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "実験的な機能です。 QoS/SQM との完全な互換性はありません。"
 msgstr "実験的な機能です。 QoS/SQM との完全な互換性はありません。"
@@ -236,6 +263,7 @@ msgstr "外部ポート"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "追加の引数"
 msgstr "追加の引数"
 
 
@@ -259,6 +287,10 @@ msgstr "ファイアウォール"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "ファイアウォール - 手動設定ルール"
 msgstr "ファイアウォール - 手動設定ルール"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "ファイアウォール - ポートフォワーディング"
 msgstr "ファイアウォール - ポートフォワーディング"
@@ -281,6 +313,7 @@ msgid "Forward to"
 msgstr "転送先"
 msgstr "転送先"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "金曜日"
 msgstr "金曜日"
 
 
@@ -311,8 +344,13 @@ msgstr "送信元 %s, %s (<var>デバイス</var>)"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "送信元 %s, %s, %s (<var>デバイス</var>)"
 msgstr "送信元 %s, %s, %s (<var>デバイス</var>)"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -388,6 +426,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC"
 msgstr "MAC"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSSクランプ"
 msgstr "MSSクランプ"
@@ -398,13 +440,38 @@ msgstr "マスカレード"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "対象"
 msgstr "対象"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "ICMPタイプの一致"
 msgstr "ICMPタイプの一致"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -413,17 +480,43 @@ msgstr ""
 "設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり"
 "設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり"
 "ます"
 "ます"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "月曜日"
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "月間"
 msgstr "月間"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "名前"
 msgstr "名前"
@@ -454,6 +547,14 @@ msgstr ""
 "設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ"
 "設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ"
 "フィックと一致したトラフィックのみを対象にします。"
 "フィックと一致したトラフィックのみを対象にします。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -461,6 +562,7 @@ msgstr "送信"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "iptablesにパススルーする追加の引数を設定してください。ただし、注意して設定し"
 "iptablesにパススルーする追加の引数を設定してください。ただし、注意して設定し"
@@ -496,6 +598,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "プロトコル"
 msgstr "プロトコル"
 
 
@@ -539,11 +642,44 @@ msgstr "設定された送信元サブネットへのマスカレードを制限
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "アドレスファミリの制限"
 msgstr "アドレスファミリの制限"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "ルーティング/NAT オフロード"
 msgstr "ルーティング/NAT オフロード"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "土曜日"
 msgstr "土曜日"
 
 
@@ -556,6 +692,7 @@ msgid "Software flow offloading"
 msgstr "ソフトウェア フローオフロード"
 msgstr "ソフトウェア フローオフロード"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "送信元IPアドレス"
 msgstr "送信元IPアドレス"
 
 
@@ -570,6 +707,7 @@ msgstr "送信元アドレス"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "送信元ポート"
 msgstr "送信元ポート"
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr "送信元ゾーン"
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "開始日 (yyyy-mm-dd)"
 msgstr "開始日 (yyyy-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "開始時刻 (hh.mm.ss)"
 msgstr "開始時刻 (hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "停止日 (yyyy-mm-dd)"
 msgstr "停止日 (yyyy-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "停止時刻 (hh.mm.ss)"
 msgstr "停止時刻 (hh.mm.ss)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "日曜日"
 msgstr "日曜日"
 
 
@@ -638,14 +781,17 @@ msgstr ""
 "のゾーンに属するかを設定します。"
 "のゾーンに属するかを設定します。"
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "木曜日"
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "時間制限"
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "UTC時刻を使用"
 msgstr "UTC時刻を使用"
 
 
@@ -665,6 +811,12 @@ msgstr "宛先 %s (<var>デバイス</var>)"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "宛先 %s, %s (%s)"
 msgstr "宛先 %s, %s (%s)"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -681,6 +833,7 @@ msgstr ""
 "設定することができます。"
 "設定することができます。"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "火曜日"
 msgstr "火曜日"
 
 
@@ -688,6 +841,11 @@ msgstr "火曜日"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "内容を保存できません: %s"
 msgstr "内容を保存できません: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -727,10 +885,12 @@ msgid "Via %s at %s"
 msgstr "経由 %s , %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "水曜日"
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "曜日"
 msgstr "曜日"
 
 
@@ -759,6 +919,10 @@ msgstr "許可"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "全て"
 msgstr "全て"
 
 
@@ -785,6 +949,11 @@ msgstr "全てのゾーン"
 msgid "day"
 msgid "day"
 msgstr "日"
 msgstr "日"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "コネクション追跡を行わない"
 msgstr "コネクション追跡を行わない"
@@ -840,6 +1009,10 @@ msgstr "タイプ"
 msgid "types"
 msgid "types"
 msgstr "タイプ"
 msgstr "タイプ"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "強制的にコネクション追跡を行う"
 #~ msgstr "強制的にコネクション追跡を行う"
 
 
@@ -868,9 +1041,6 @@ msgstr "タイプ"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "追加及び編集..."
 #~ msgstr "追加及び編集..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "リライトしない"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "外部ゾーン"
 #~ msgstr "外部ゾーン"
 
 

+ 174 - 4
applications/luci-app-firewall/po/ko/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "<em>Destination zone</em> 으로 forward 허용:"
 msgstr "<em>Destination zone</em> 으로 forward 허용:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -128,7 +141,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Custom Rule"
 msgstr "Custom Rule"
 
 
@@ -142,11 +155,16 @@ msgstr ""
 "수 있도록 합니다.  입력된 명령어들은 매 방화벽 재시작시 실행되는데 default "
 "수 있도록 합니다.  입력된 명령어들은 매 방화벽 재시작시 실행되는데 default "
 "ruleset 이 load 된 후 시점입니다."
 "ruleset 이 load 된 후 시점입니다."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Destination IP 주소"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Destination 주소"
 msgstr "Destination 주소"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -172,6 +190,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -190,6 +212,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "활성화"
 msgstr "활성화"
 
 
@@ -205,6 +228,10 @@ msgstr "SYN-flood protection 활성화"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "zone 의 logging 활성화"
 msgstr "zone 의 logging 활성화"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -223,6 +250,7 @@ msgstr "외부 port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "추가 argument"
 msgstr "추가 argument"
 
 
@@ -246,6 +274,10 @@ msgstr "방화벽"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "방화벽 - Custom Rules"
 msgstr "방화벽 - Custom Rules"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "방화벽 - Port Forwards"
 msgstr "방화벽 - Port Forwards"
@@ -268,6 +300,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "금요일"
 msgstr "금요일"
 
 
@@ -298,8 +331,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -375,6 +413,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -385,30 +427,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "월요일"
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "이름"
 msgstr "이름"
@@ -435,6 +528,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -442,6 +543,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "iptables 명령에 추가 인자들을 더합니다.  조심해 사용하세요!"
 msgstr "iptables 명령에 추가 인자들을 더합니다.  조심해 사용하세요!"
 
 
@@ -469,6 +571,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -510,11 +613,44 @@ msgstr "주어진 source subnet 으로 Masquerading 제한"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Address family 제한"
 msgstr "Address family 제한"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "토요일"
 msgstr "토요일"
 
 
@@ -527,6 +663,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Source IP 주소"
 msgstr "Source IP 주소"
 
 
@@ -541,6 +678,7 @@ msgstr "Source 주소"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -550,22 +688,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "시작 날짜 (yyyy-mm-dd)"
 msgstr "시작 날짜 (yyyy-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "종료 날짜 (yyyy-mm-dd)"
 msgstr "종료 날짜 (yyyy-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "일요일"
 msgstr "일요일"
 
 
@@ -610,14 +753,17 @@ msgstr ""
 "에서는 zone 의 영향을 받을 네트워크들을 지정할 수 있습니다."
 "에서는 zone 의 영향을 받을 네트워크들을 지정할 수 있습니다."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "목요일"
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "UTC 기준시"
 msgstr "UTC 기준시"
 
 
@@ -637,6 +783,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -653,6 +805,7 @@ msgstr ""
 "open 할때 사용됩니다."
 "open 할때 사용됩니다."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "화요일"
 msgstr "화요일"
 
 
@@ -660,6 +813,11 @@ msgstr "화요일"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -695,10 +853,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "수요일"
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "주일"
 msgstr "주일"
 
 
@@ -727,6 +887,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -753,6 +917,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -808,6 +977,10 @@ msgstr ""
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "추가 후 수정..."
 #~ msgstr "추가 후 수정..."
 
 
@@ -829,9 +1002,6 @@ msgstr ""
 #~ msgid "New source NAT"
 #~ msgid "New source NAT"
 #~ msgstr "새로운 source NAT"
 #~ msgstr "새로운 source NAT"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Destination IP 주소"
-
 #~ msgid ""
 #~ msgid ""
 #~ "Source NAT is a specific form of masquerading which allows fine grained "
 #~ "Source NAT is a specific form of masquerading which allows fine grained "
 #~ "control over the source IP used for outgoing traffic, for example to map "
 #~ "control over the source IP used for outgoing traffic, for example to map "

+ 174 - 1
applications/luci-app-firewall/po/mr/firewall.po

@@ -38,6 +38,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -52,6 +60,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
@@ -70,6 +79,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "प्रगत सेटिंग्ज"
 msgstr "प्रगत सेटिंग्ज"
@@ -87,11 +97,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -128,7 +141,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -139,11 +152,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -169,6 +187,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -187,6 +209,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "सक्षम करा"
 msgstr "सक्षम करा"
 
 
@@ -202,6 +225,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -220,6 +247,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -247,6 +275,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -269,6 +301,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -299,8 +332,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -376,6 +414,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -386,30 +428,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "नाव"
 msgstr "नाव"
@@ -436,6 +529,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -443,6 +544,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -468,6 +570,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "प्रोटोकॉल"
 msgstr "प्रोटोकॉल"
 
 
@@ -509,11 +612,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -556,6 +692,7 @@ msgstr ""
 # msgstr ""
 # msgstr ""
 #
 #
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -570,6 +707,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -625,14 +768,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -652,6 +798,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -665,6 +817,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -672,6 +825,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -707,10 +865,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -739,6 +899,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -765,6 +929,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -819,3 +988,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 1
applications/luci-app-firewall/po/ms/firewall.po

@@ -36,6 +36,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -50,6 +58,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Tindakan"
 msgstr "Tindakan"
 
 
@@ -68,6 +77,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -85,11 +95,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -126,7 +139,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -137,11 +150,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -167,6 +185,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -185,6 +207,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -200,6 +223,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -218,6 +245,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -241,6 +269,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -263,6 +295,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -293,8 +326,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -370,6 +408,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -380,30 +422,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -430,6 +523,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -437,6 +538,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -462,6 +564,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -503,11 +606,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -520,6 +656,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -534,6 +671,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -543,22 +681,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -589,14 +732,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -616,6 +762,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -629,6 +781,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -636,6 +789,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -671,10 +829,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -703,6 +863,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -729,6 +893,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -783,3 +952,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 7
applications/luci-app-firewall/po/no/firewall.po

@@ -34,6 +34,14 @@ msgstr "<var>%d</var> pakker per <var>%s</var>, burst <var>%d</var>pakker."
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> og begrens til %s"
 msgstr "<var>%s</var> og begrens til %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -48,6 +56,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Handling"
 msgstr "Handling"
 
 
@@ -66,6 +75,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Avanserte Innstillinger"
 msgstr "Avanserte Innstillinger"
@@ -83,11 +93,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Tillat videresending til <em>destinasjon soner</em>:"
 msgstr "Tillat videresending til <em>destinasjon soner</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Enhver"
 msgstr "Enhver"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -124,7 +137,7 @@ msgstr "Gjeldene nettverk"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Egendefinerte Regler"
 msgstr "Egendefinerte Regler"
 
 
@@ -138,11 +151,16 @@ msgstr ""
 "som ikke dekkes av brannmurens standardoppsett. Kommandoene utføres etter "
 "som ikke dekkes av brannmurens standardoppsett. Kommandoene utføres etter "
 "hver omstart av brannmuren, rett etter at standard regelsett er lastet."
 "hver omstart av brannmuren, rett etter at standard regelsett er lastet."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Destinasjon IP adresse"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Destinasjon adresse"
 msgstr "Destinasjon adresse"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Destinasjon port"
 msgstr "Destinasjon port"
 
 
@@ -168,6 +186,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Ikke omskriv"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -186,6 +208,7 @@ msgstr "Forkast ugyldige pakker"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Aktiver"
 msgstr "Aktiver"
 
 
@@ -201,6 +224,10 @@ msgstr "Aktiver SYN-flood beskyttelse"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Aktiver logging av denne sonen"
 msgstr "Aktiver logging av denne sonen"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -219,6 +246,7 @@ msgstr "Ekstern port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Ekstra argumenter"
 msgstr "Ekstra argumenter"
 
 
@@ -242,6 +270,10 @@ msgstr "Brannmur"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Brannmur - Egendefinerte Regler"
 msgstr "Brannmur - Egendefinerte Regler"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Brannmur - Port Videresending"
 msgstr "Brannmur - Port Videresending"
@@ -264,6 +296,7 @@ msgid "Forward to"
 msgstr "Videresend til"
 msgstr "Videresend til"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -294,8 +327,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -371,6 +409,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS Kontroll (Clamping)"
 msgstr "MSS Kontroll (Clamping)"
@@ -381,13 +423,38 @@ msgstr "Masquerading"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Match"
 msgstr "Match"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Match ICMP type"
 msgstr "Match ICMP type"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -396,17 +463,43 @@ msgstr ""
 "Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller "
 "Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller "
 "portområdet på denne verten"
 "portområdet på denne verten"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Navn"
 msgstr "Navn"
@@ -435,6 +528,14 @@ msgstr ""
 "Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller "
 "Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller "
 "fra portområdet til klienten"
 "fra portområdet til klienten"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -442,6 +543,7 @@ msgstr "Utdata"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!"
 msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!"
 
 
@@ -469,6 +571,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protokoll"
 msgstr "Protokoll"
 
 
@@ -512,11 +615,44 @@ msgstr "Begrens Masqeuerading til oppgitt kilde subnett"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Begrens til adresse familie"
 msgstr "Begrens til adresse familie"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -529,6 +665,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Kilde IP adresse"
 msgstr "Kilde IP adresse"
 
 
@@ -543,6 +680,7 @@ msgstr "Kilde adresse"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Kilde port"
 msgstr "Kilde port"
 
 
@@ -552,22 +690,27 @@ msgid "Source zone"
 msgstr "Kilde sone"
 msgstr "Kilde sone"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -613,14 +756,17 @@ msgstr ""
 "sone."
 "sone."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -640,6 +786,12 @@ msgstr "Til %s på <var>denne enheten</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Til %s, %s i %s"
 msgstr "Til %s, %s i %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -656,6 +808,7 @@ msgstr ""
 "porter på ruteren."
 "porter på ruteren."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -663,6 +816,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -698,10 +856,12 @@ msgid "Via %s at %s"
 msgstr "Via %s på %s"
 msgstr "Via %s på %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -730,6 +890,10 @@ msgstr "godta"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "enhver"
 msgstr "enhver"
 
 
@@ -756,6 +920,11 @@ msgstr "enhver sone"
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "ikke track"
 msgstr "ikke track"
@@ -811,6 +980,10 @@ msgstr ""
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr ""
 #~ msgstr ""
 #~ "Bruk <abbr title=\\\"connection tracking\\\">forbindelse sporing</abbr>"
 #~ "Bruk <abbr title=\\\"connection tracking\\\">forbindelse sporing</abbr>"
@@ -821,9 +994,6 @@ msgstr ""
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Legg til og redigere..."
 #~ msgstr "Legg til og redigere..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Ikke omskriv"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Ekstern sone"
 #~ msgstr "Ekstern sone"
 
 
@@ -863,9 +1033,6 @@ msgstr ""
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(SNAT uten navn)"
 #~ msgstr "(SNAT uten navn)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Destinasjon IP adresse"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Sone til Sone Videresending"
 #~ msgstr "Sone til Sone Videresending"
 
 

+ 176 - 9
applications/luci-app-firewall/po/pl/firewall.po

@@ -40,6 +40,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> i limit do %s"
 msgstr "<var>%s</var> i limit do %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Zaakceptuj przekazywanie"
 msgstr "Zaakceptuj przekazywanie"
@@ -54,6 +62,7 @@ msgstr "Zaakceptuj wyjście"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Akcja"
 msgstr "Akcja"
 
 
@@ -78,6 +87,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Ustawienia zaawansowane"
 msgstr "Ustawienia zaawansowane"
@@ -95,11 +105,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Zezwól na przekazywanie do <em>strefy docelowej</em>:"
 msgstr "Zezwól na przekazywanie do <em>strefy docelowej</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Każdy"
 msgstr "Każdy"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Każdy dzień"
 msgstr "Każdy dzień"
 
 
@@ -138,7 +151,7 @@ msgstr "Objęte sieci"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Objęte podsieci"
 msgstr "Objęte podsieci"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Własne reguły"
 msgstr "Własne reguły"
 
 
@@ -152,11 +165,16 @@ msgstr ""
 "są objęte składnią zapory. Polecenia wykonywane są po każdym restarcie "
 "są objęte składnią zapory. Polecenia wykonywane są po każdym restarcie "
 "zapory, zaraz po załadowaniu zestawu reguł domyślnych."
 "zapory, zaraz po załadowaniu zestawu reguł domyślnych."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Docelowy adres IP"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Adres docelowy"
 msgstr "Adres docelowy"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Port docelowy"
 msgstr "Port docelowy"
 
 
@@ -185,6 +203,10 @@ msgstr ""
 "state <em>invalid</em>. Może to być wymagane w przypadku skomplikowanych "
 "state <em>invalid</em>. Może to być wymagane w przypadku skomplikowanych "
 "asymetrycznych ustawień trasy."
 "asymetrycznych ustawień trasy."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Nie przepisuj"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Nie śledź przekazywania"
 msgstr "Nie śledź przekazywania"
@@ -203,6 +225,7 @@ msgstr "Porzuć wadliwe pakiety"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Włącz"
 msgstr "Włącz"
 
 
@@ -218,6 +241,10 @@ msgstr "Włącz ochronę SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Włącz logowanie tej strefy"
 msgstr "Włącz logowanie tej strefy"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Funkcja eksperymentalna. Nie w pełni kompatybilna z QoS/SQM."
 msgstr "Funkcja eksperymentalna. Nie w pełni kompatybilna z QoS/SQM."
@@ -237,6 +264,7 @@ msgstr "Port zewnętrzny"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Dodatkowe argumenty"
 msgstr "Dodatkowe argumenty"
 
 
@@ -263,6 +291,10 @@ msgstr "Zapora sieciowa"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Zapora sieciowa - Reguły własne"
 msgstr "Zapora sieciowa - Reguły własne"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Zapora sieciowa - Przekazywane porty"
 msgstr "Zapora sieciowa - Przekazywane porty"
@@ -285,6 +317,7 @@ msgid "Forward to"
 msgstr "Przekazuj do"
 msgstr "Przekazuj do"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Piątek"
 msgstr "Piątek"
 
 
@@ -315,8 +348,13 @@ msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s oraz %s"
 msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s oraz %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -392,6 +430,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MACs"
 msgstr "MACs"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Dostosuj MSS"
 msgstr "Dostosuj MSS"
@@ -402,13 +444,38 @@ msgstr "Maskarada"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Dopasuj"
 msgstr "Dopasuj"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Dopasuj typ ICMP"
 msgstr "Dopasuj typ ICMP"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -417,17 +484,43 @@ msgstr ""
 "Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na "
 "Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na "
 "tym hoście"
 "tym hoście"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Poniedziałek"
 msgstr "Poniedziałek"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Dni miesiąca"
 msgstr "Dni miesiąca"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nazwa"
 msgstr "Nazwa"
@@ -456,6 +549,14 @@ msgstr ""
 "Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu "
 "Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu "
 "portów na hoście klienta"
 "portów na hoście klienta"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -463,6 +564,7 @@ msgstr "Ruch wychodzący"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!"
 "Przekazuje dodatkowe argumenty do iptables. Zachowaj szczególną ostrożność!"
@@ -497,6 +599,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protokół"
 msgstr "Protokół"
 
 
@@ -542,11 +645,44 @@ msgstr "Ogranicz maskaradę do wskazanych podsieci źródłowych"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Ogranicz do rodziny adresów"
 msgstr "Ogranicz do rodziny adresów"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Routing/NAT Offloading"
 msgstr "Routing/NAT Offloading"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sobota"
 msgstr "Sobota"
 
 
@@ -559,6 +695,7 @@ msgid "Software flow offloading"
 msgstr "Programowy flow offloading"
 msgstr "Programowy 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Źródłowy adres IP"
 msgstr "Źródłowy adres IP"
 
 
@@ -573,6 +710,7 @@ msgstr "Adres źródłowy"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Port źródłowy"
 msgstr "Port źródłowy"
 
 
@@ -582,22 +720,27 @@ msgid "Source zone"
 msgstr "Strefa źródłowa"
 msgstr "Strefa źródłowa"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Data rozpoczęcia (rrrr-mm-dd)"
 msgstr "Data rozpoczęcia (rrrr-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Czas rozpoczęcia (hh.mm.ss)"
 msgstr "Czas rozpoczęcia (hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Data zakończenia (yyyyy-mm-dd)"
 msgstr "Data zakończenia (yyyyy-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Czas zatrzymania (yyyyy-mm-dd)"
 msgstr "Czas zatrzymania (yyyyy-mm-dd)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Niedziela"
 msgstr "Niedziela"
 
 
@@ -637,18 +780,21 @@ msgstr ""
 "Ta sekcja definiuje ustawienia ogólne %q. Opcje <em>wejście</em> i "
 "Ta sekcja definiuje ustawienia ogólne %q. Opcje <em>wejście</em> i "
 "<em>wyjście</em> określające domyślną politykę dla ruchu przychodzącego i "
 "<em>wyjście</em> określające domyślną politykę dla ruchu przychodzącego i "
 "wychodzącego w tej strefie, podczas gdy <em>przekazywanie</em> opisuje "
 "wychodzącego w tej strefie, podczas gdy <em>przekazywanie</em> opisuje "
-"politykę ruchu przekazywanego pomiędzy różnymi sieciami wewnątrz strefy. <em>"
-"Objęte sieci</em> określają dostępne sieci będące członkami tej strefy."
+"politykę ruchu przekazywanego pomiędzy różnymi sieciami wewnątrz strefy. "
+"<em>Objęte sieci</em> określają dostępne sieci będące członkami tej strefy."
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Czwartek"
 msgstr "Czwartek"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Ograniczenia czasowe"
 msgstr "Ograniczenia czasowe"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Czas w UTC"
 msgstr "Czas w UTC"
 
 
@@ -668,6 +814,12 @@ msgstr "Do %s na <var>tym urządzeniu</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Do %s, %s w %s"
 msgstr "Do %s, %s w %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -684,6 +836,7 @@ msgstr ""
 "albo otworzyć porty WAN routera."
 "albo otworzyć porty WAN routera."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Wtorek"
 msgstr "Wtorek"
 
 
@@ -691,6 +844,11 @@ msgstr "Wtorek"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Nie można zapisać zawartości: %s"
 msgstr "Nie można zapisać zawartości: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -730,10 +888,12 @@ msgid "Via %s at %s"
 msgstr "Przez %s w %s"
 msgstr "Przez %s w %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Środa"
 msgstr "Środa"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Dni tygodnia"
 msgstr "Dni tygodnia"
 
 
@@ -762,6 +922,10 @@ msgstr "akceptuj"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "dowolny"
 msgstr "dowolny"
 
 
@@ -788,6 +952,11 @@ msgstr "dowolna strefa"
 msgid "day"
 msgid "day"
 msgstr "Dzień"
 msgstr "Dzień"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "nie śledź"
 msgstr "nie śledź"
@@ -843,6 +1012,10 @@ msgstr "typ"
 msgid "types"
 msgid "types"
 msgstr "typy"
 msgstr "typy"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Wymuś śledzenie połączeń"
 #~ msgstr "Wymuś śledzenie połączeń"
 
 
@@ -852,9 +1025,6 @@ msgstr "typy"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Dodaj i edytuj..."
 #~ msgstr "Dodaj i edytuj..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Nie przepisuj"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Strefa zewnętrzna"
 #~ msgstr "Strefa zewnętrzna"
 
 
@@ -894,9 +1064,6 @@ msgstr "typy"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(Nienazwany SNAT)"
 #~ msgstr "(Nienazwany SNAT)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Docelowy adres IP"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Przekazywanie pomiędzy strefami"
 #~ msgstr "Przekazywanie pomiędzy strefami"
 
 

+ 174 - 7
applications/luci-app-firewall/po/pt-br/firewall.po

@@ -38,6 +38,14 @@ msgstr "<var>%d</var> pcts. por <var>%s</var>, pico <var>%d</var> pcts."
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> e limite a %s"
 msgstr "<var>%s</var> e limite a %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Aceitar encaminhamento"
 msgstr "Aceitar encaminhamento"
@@ -52,6 +60,7 @@ msgstr "Aceitar saída"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Ação"
 msgstr "Ação"
 
 
@@ -76,6 +85,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Configurações Avançadas"
 msgstr "Configurações Avançadas"
@@ -93,11 +103,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permite o encaminhamento para a <em>zona de destino</em>:"
 msgstr "Permite o encaminhamento para a <em>zona de destino</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Qualquer"
 msgstr "Qualquer"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Qualquer dia"
 msgstr "Qualquer dia"
 
 
@@ -136,7 +149,7 @@ msgstr "Redes cobertas"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Sub-redes cobertas"
 msgstr "Sub-redes cobertas"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Regras Personalizadas"
 msgstr "Regras Personalizadas"
 
 
@@ -150,11 +163,16 @@ msgstr ""
 "cobertos por esta ferramenta. Os comandos serão executados após cada "
 "cobertos por esta ferramenta. Os comandos serão executados após cada "
 "reinício do firewall, logo após a carga do conjunto de regras padrão."
 "reinício do firewall, logo após a carga do conjunto de regras padrão."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Endereço IP de destino"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Endereço de destino"
 msgstr "Endereço de destino"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Porta de destino"
 msgstr "Porta de destino"
 
 
@@ -183,6 +201,10 @@ msgstr ""
 "estado do conntrack for <em>invalid</em>. Isto pode ser necessário para "
 "estado do conntrack for <em>invalid</em>. Isto pode ser necessário para "
 "configurações complexas e de rotas assimétricas."
 "configurações complexas e de rotas assimétricas."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Não sobrescreva"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Não rastrear o encaminhamento"
 msgstr "Não rastrear o encaminhamento"
@@ -201,6 +223,7 @@ msgstr "Descartar pacotes inválidos"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Ativar"
 msgstr "Ativar"
 
 
@@ -216,6 +239,10 @@ msgstr "Habilite proteção contra SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Habilite o registro nesta zona"
 msgstr "Habilite o registro nesta zona"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -237,6 +264,7 @@ msgstr "Porta Externa"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Argumentos extras"
 msgstr "Argumentos extras"
 
 
@@ -260,6 +288,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Regras personalizadas"
 msgstr "Firewall - Regras personalizadas"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Encaminhamento de Portas"
 msgstr "Firewall - Encaminhamento de Portas"
@@ -282,6 +314,7 @@ msgid "Forward to"
 msgstr "Encaminhar para"
 msgstr "Encaminhar para"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Sexta-feira"
 msgstr "Sexta-feira"
 
 
@@ -312,8 +345,13 @@ msgstr "De %s <var>neste dispositivo</var> com origem %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "De %s <var>neste dispositivo</var> com origem %s e %s"
 msgstr "De %s <var>neste dispositivo</var> com origem %s e %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -389,6 +427,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MACs"
 msgstr "MACs"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Ajuste do MSS"
 msgstr "Ajuste do MSS"
@@ -399,13 +441,38 @@ msgstr "Mascaramento"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Casa"
 msgstr "Casa"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Casa com ICMP tipo"
 msgstr "Casa com ICMP tipo"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -414,17 +481,43 @@ msgstr ""
 "Casa o tráfego entrante direcionado para uma porta ou faixa de portas de "
 "Casa o tráfego entrante direcionado para uma porta ou faixa de portas de "
 "destino específica neste computador"
 "destino específica neste computador"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Segunda-Feira"
 msgstr "Segunda-Feira"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Dias do mês"
 msgstr "Dias do mês"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nome"
 msgstr "Nome"
@@ -454,6 +547,14 @@ msgstr ""
 "Somente case o tráfego entrante vindo da porta de origem fornecida ou "
 "Somente case o tráfego entrante vindo da porta de origem fornecida ou "
 "intervalo de portas no equipamento cliente"
 "intervalo de portas no equipamento cliente"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -461,6 +562,7 @@ msgstr "Saída"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!"
 msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!"
 
 
@@ -493,6 +595,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocolo"
 msgstr "Protocolo"
 
 
@@ -535,11 +638,44 @@ msgstr "Restringe o mascaramento para uma subrede de origem específica"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Restringe para uma família de endereços"
 msgstr "Restringe para uma família de endereços"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Aceleração de Roteamento/NAT"
 msgstr "Aceleração de Roteamento/NAT"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sábado"
 msgstr "Sábado"
 
 
@@ -552,6 +688,7 @@ msgid "Software flow offloading"
 msgstr "Aceleração de fluxo de dados via Software"
 msgstr "Aceleração de fluxo de dados via Software"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Endereço IP de origem"
 msgstr "Endereço IP de origem"
 
 
@@ -566,6 +703,7 @@ msgstr "Endereço de origem"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Porta de origem"
 msgstr "Porta de origem"
 
 
@@ -575,22 +713,27 @@ msgid "Source zone"
 msgstr "Zona de origem"
 msgstr "Zona de origem"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Dia inicial (aaaa-mm-dd)"
 msgstr "Dia inicial (aaaa-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Hora de Início (hh.mm.ss)"
 msgstr "Hora de Início (hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Dia final (aaaa-mm-dd)"
 msgstr "Dia final (aaaa-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Hora de Parada (hh.mm.ss)"
 msgstr "Hora de Parada (hh.mm.ss)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Domingo"
 msgstr "Domingo"
 
 
@@ -635,14 +778,17 @@ msgstr ""
 "zona."
 "zona."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Quita-feira"
 msgstr "Quita-feira"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Restrições de tempo"
 msgstr "Restrições de tempo"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Hora em UTC"
 msgstr "Hora em UTC"
 
 
@@ -662,6 +808,12 @@ msgstr "Para %s <var>neste dispositivo</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Para %s, %s em %s"
 msgstr "Para %s, %s em %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -678,6 +830,7 @@ msgstr ""
 "ou abrir portas WAN no roteador."
 "ou abrir portas WAN no roteador."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Terça-feira"
 msgstr "Terça-feira"
 
 
@@ -685,6 +838,11 @@ msgstr "Terça-feira"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Não foi possível salvar os conteúdos: %s"
 msgstr "Não foi possível salvar os conteúdos: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -724,10 +882,12 @@ msgid "Via %s at %s"
 msgstr "Através do %s na %s"
 msgstr "Através do %s na %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Quarta-feira"
 msgstr "Quarta-feira"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Dias da semana"
 msgstr "Dias da semana"
 
 
@@ -756,6 +916,10 @@ msgstr "aceitar"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "qualquer"
 msgstr "qualquer"
 
 
@@ -782,6 +946,11 @@ msgstr "qualquer zona"
 msgid "day"
 msgid "day"
 msgstr "dia"
 msgstr "dia"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "não rastrear"
 msgstr "não rastrear"
@@ -837,6 +1006,10 @@ msgstr "tipo"
 msgid "types"
 msgid "types"
 msgstr "tipos"
 msgstr "tipos"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Force o rastreamento da conexão"
 #~ msgstr "Force o rastreamento da conexão"
 
 
@@ -858,9 +1031,6 @@ msgstr "tipos"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Adicionar e editar..."
 #~ msgstr "Adicionar e editar..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Não sobrescreva"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Zona externa"
 #~ msgstr "Zona externa"
 
 
@@ -903,9 +1073,6 @@ msgstr "tipos"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(SNAT Sem Nome)"
 #~ msgstr "(SNAT Sem Nome)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Endereço IP de destino"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Encaminhamento entre Zonas"
 #~ msgstr "Encaminhamento entre Zonas"
 
 

+ 174 - 7
applications/luci-app-firewall/po/pt/firewall.po

@@ -38,6 +38,14 @@ msgstr "<var>%d</var> pcts. por <var>%s</var>, burst <var>%d</var> pcts."
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> e limite a %s"
 msgstr "<var>%s</var> e limite a %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Aceitar o encaminhamento"
 msgstr "Aceitar o encaminhamento"
@@ -52,6 +60,7 @@ msgstr "Aceitar a saída"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Ação"
 msgstr "Ação"
 
 
@@ -76,6 +85,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Definições Avançadas"
 msgstr "Definições Avançadas"
@@ -93,11 +103,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permitir encaminhamento para <em>zonas de destino</em>:"
 msgstr "Permitir encaminhamento para <em>zonas de destino</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Qualquer"
 msgstr "Qualquer"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Qualquer dia"
 msgstr "Qualquer dia"
 
 
@@ -136,7 +149,7 @@ msgstr "Redes abrangidas"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Subredes abrangidas"
 msgstr "Subredes abrangidas"
 
 
-#: 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Regras Personalizadas"
 msgstr "Regras Personalizadas"
 
 
@@ -151,11 +164,16 @@ msgstr ""
 "comandos são executados a seguir ao reinicio da firewall, logo a seguir ao "
 "comandos são executados a seguir ao reinicio da firewall, logo a seguir ao "
 "conjunto de regras predefinidas serem carregadas."
 "conjunto de regras predefinidas serem carregadas."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Endereço IP de destino"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Endereço de destino"
 msgstr "Endereço de destino"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Porta de destino"
 msgstr "Porta de destino"
 
 
@@ -184,6 +202,10 @@ msgstr ""
 "conntrack <em>invalid</em>. Isto pode ser necessário para configurações "
 "conntrack <em>invalid</em>. Isto pode ser necessário para configurações "
 "complexas de rotas assimétricas."
 "complexas de rotas assimétricas."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Não re-escrever"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Não rastrear o encaminhamento"
 msgstr "Não rastrear o encaminhamento"
@@ -202,6 +224,7 @@ msgstr "Cancelar pacotes inválidos"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Ativar"
 msgstr "Ativar"
 
 
@@ -217,6 +240,10 @@ msgstr "Ativar a Proteção SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Ativar registo nesta zona"
 msgstr "Ativar registo nesta zona"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Característica experimental. Não totalmente compatível com QoS/SQM."
 msgstr "Característica experimental. Não totalmente compatível com QoS/SQM."
@@ -237,6 +264,7 @@ msgstr "Porta externa"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Argumentos adicionais"
 msgstr "Argumentos adicionais"
 
 
@@ -260,6 +288,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Regras Personalizadas"
 msgstr "Firewall - Regras Personalizadas"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Encaminhamento de Portas"
 msgstr "Firewall - Encaminhamento de Portas"
@@ -282,6 +314,7 @@ msgid "Forward to"
 msgstr "Encaminhar para"
 msgstr "Encaminhar para"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Sexta-feira"
 msgstr "Sexta-feira"
 
 
@@ -312,8 +345,13 @@ msgstr "De %s <var>neste aparelho</var> com a fonte %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "De %s <var>neste aparelho</var> com as fontes %s e %s"
 msgstr "De %s <var>neste aparelho</var> com as fontes %s e %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -389,6 +427,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MACs"
 msgstr "MACs"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Fixação de MSS"
 msgstr "Fixação de MSS"
@@ -399,13 +441,38 @@ msgstr "Mascaramento"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Corresponder"
 msgstr "Corresponder"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Correspondência do tipo de ICMP"
 msgstr "Correspondência do tipo de ICMP"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -414,17 +481,43 @@ msgstr ""
 "O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de "
 "O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de "
 "portas neste host"
 "portas neste host"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Segunda-feira"
 msgstr "Segunda-feira"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Dias do mês"
 msgstr "Dias do mês"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nome"
 msgstr "Nome"
@@ -453,6 +546,14 @@ msgstr ""
 "Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um "
 "Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um "
 "intervalo de portas no host cliente"
 "intervalo de portas no host cliente"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -460,6 +561,7 @@ msgstr "Saída"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!"
 msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!"
 
 
@@ -492,6 +594,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocolo"
 msgstr "Protocolo"
 
 
@@ -536,11 +639,44 @@ msgstr "Restringir Mascaramento a sub-redes de origem fornecidas"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Restringir a família de endereços"
 msgstr "Restringir a família de endereços"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Descargar Roteamento/NAT"
 msgstr "Descargar Roteamento/NAT"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sábado"
 msgstr "Sábado"
 
 
@@ -553,6 +689,7 @@ msgid "Software flow offloading"
 msgstr "Descarga de fluxo de software"
 msgstr "Descarga de fluxo de software"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Endereço IP de origem"
 msgstr "Endereço IP de origem"
 
 
@@ -567,6 +704,7 @@ msgstr "Endereço de origem"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Porta de origem"
 msgstr "Porta de origem"
 
 
@@ -576,22 +714,27 @@ msgid "Source zone"
 msgstr "Zona de origem"
 msgstr "Zona de origem"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Data de Início (aaaaa-mm-dd)"
 msgstr "Data de Início (aaaaa-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Hora de início (hh.mm.ss)"
 msgstr "Hora de início (hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Data de Paragem (aaaaa-mm-dd)"
 msgstr "Data de Paragem (aaaaa-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Tempo de Parada (hh.mm.ss)"
 msgstr "Tempo de Parada (hh.mm.ss)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Domingo"
 msgstr "Domingo"
 
 
@@ -637,14 +780,17 @@ msgstr ""
 "zona."
 "zona."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Quinta-feira"
 msgstr "Quinta-feira"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Restrições de Tempo"
 msgstr "Restrições de Tempo"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Tempo em UTC"
 msgstr "Tempo em UTC"
 
 
@@ -664,6 +810,12 @@ msgstr "Para %s em <var>este dispositivo</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Para %s, %s em %s"
 msgstr "Para %s, %s em %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -680,6 +832,7 @@ msgstr ""
 "para abrir portas WAN no router."
 "para abrir portas WAN no router."
 
 
 #: 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Terça-feira"
 msgstr "Terça-feira"
 
 
@@ -687,6 +840,11 @@ msgstr "Terça-feira"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Incapaz de gravar conteúdos: %s"
 msgstr "Incapaz de gravar conteúdos: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -726,10 +884,12 @@ msgid "Via %s at %s"
 msgstr "Via %s no %s"
 msgstr "Via %s no %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Quarta-feira"
 msgstr "Quarta-feira"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Dias úteis"
 msgstr "Dias úteis"
 
 
@@ -758,6 +918,10 @@ msgstr "aceitar"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "qualquer"
 msgstr "qualquer"
 
 
@@ -784,6 +948,11 @@ msgstr "qualquer zona"
 msgid "day"
 msgid "day"
 msgstr "dia"
 msgstr "dia"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "não seguir"
 msgstr "não seguir"
@@ -839,6 +1008,10 @@ msgstr "tipo"
 msgid "types"
 msgid "types"
 msgstr "tipos"
 msgstr "tipos"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Forçar rasto de ligação"
 #~ msgstr "Forçar rasto de ligação"
 
 
@@ -858,9 +1031,6 @@ msgstr "tipos"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Adicionar e editar..."
 #~ msgstr "Adicionar e editar..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Não re-escrever"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Zona externa"
 #~ msgstr "Zona externa"
 
 
@@ -900,9 +1070,6 @@ msgstr "tipos"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(SNAT Sem Nome)"
 #~ msgstr "(SNAT Sem Nome)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Endereço IP de destino"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Encaminhamento Inter-Zona"
 #~ msgstr "Encaminhamento Inter-Zona"
 
 

+ 174 - 7
applications/luci-app-firewall/po/ro/firewall.po

@@ -37,6 +37,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -51,6 +59,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Actiune"
 msgstr "Actiune"
 
 
@@ -69,6 +78,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Setări avansate"
 msgstr "Setări avansate"
@@ -86,11 +96,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permite trecerea catre <em>zonele sursa</em>."
 msgstr "Permite trecerea catre <em>zonele sursa</em>."
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Oricare"
 msgstr "Oricare"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Orice zi"
 msgstr "Orice zi"
 
 
@@ -127,7 +140,7 @@ msgstr "Retele acoperite"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Reguli suplimentare"
 msgstr "Reguli suplimentare"
 
 
@@ -138,11 +151,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Destinaţie adresă IP"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Destinaţie adresă"
 msgstr "Destinaţie adresă"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Portul destinatie"
 msgstr "Portul destinatie"
 
 
@@ -168,6 +186,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Nu rescrie"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -186,6 +208,7 @@ msgstr "Descarcă pachetele invalide"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Activează"
 msgstr "Activează"
 
 
@@ -201,6 +224,10 @@ msgstr "Activează protecţia SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Activeaza log in aceasta zona"
 msgstr "Activeaza log in aceasta zona"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Funcție experimentală. Nu este complet compatibiă cu QoS/SQM."
 msgstr "Funcție experimentală. Nu este complet compatibiă cu QoS/SQM."
@@ -219,6 +246,7 @@ msgstr "Port extern"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -242,6 +270,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Firewall - Reguli particularizate"
 msgstr "Firewall - Reguli particularizate"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Port-uri forwardate"
 msgstr "Firewall - Port-uri forwardate"
@@ -264,6 +296,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Vineri"
 msgstr "Vineri"
 
 
@@ -294,8 +327,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -371,6 +409,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Ajustare MSS"
 msgstr "Ajustare MSS"
@@ -381,30 +423,81 @@ msgstr "Translatare"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Potrivire"
 msgstr "Potrivire"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Potriveste pe tipul de ICMP"
 msgstr "Potriveste pe tipul de ICMP"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Luni"
 msgstr "Luni"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Nume"
 msgstr "Nume"
@@ -431,6 +524,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -438,6 +539,7 @@ msgstr "Ieşire"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -463,6 +565,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protocol"
 msgstr "Protocol"
 
 
@@ -504,11 +607,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Sâmbătă"
 msgstr "Sâmbătă"
 
 
@@ -521,6 +657,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Sursă adresă IP"
 msgstr "Sursă adresă IP"
 
 
@@ -535,6 +672,7 @@ msgstr "Adresa sursa"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Port sursa"
 msgstr "Port sursa"
 
 
@@ -544,22 +682,27 @@ msgid "Source zone"
 msgstr "Zona sursa"
 msgstr "Zona sursa"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Duminică"
 msgstr "Duminică"
 
 
@@ -590,14 +733,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Joi"
 msgstr "Joi"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Restricţii de timp"
 msgstr "Restricţii de timp"
 
 
 #: 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -617,6 +763,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -630,6 +782,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Marţi"
 msgstr "Marţi"
 
 
@@ -637,6 +790,11 @@ msgstr "Marţi"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -672,10 +830,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Miercuri"
 msgstr "Miercuri"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -704,6 +864,10 @@ msgstr "accept"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "oricare"
 msgstr "oricare"
 
 
@@ -730,6 +894,11 @@ msgstr "orice zona"
 msgid "day"
 msgid "day"
 msgstr "zi"
 msgstr "zi"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -785,6 +954,10 @@ msgstr "tip"
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Forteaza urmarirea conexiunilor"
 #~ msgstr "Forteaza urmarirea conexiunilor"
 
 
@@ -794,9 +967,6 @@ msgstr ""
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Adaugă şi editează..."
 #~ msgstr "Adaugă şi editează..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Nu rescrie"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Zonă externă"
 #~ msgstr "Zonă externă"
 
 
@@ -815,9 +985,6 @@ msgstr ""
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(SNAT fără nume)"
 #~ msgstr "(SNAT fără nume)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Destinaţie adresă IP"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "Forwardare intre-zone"
 #~ msgstr "Forwardare intre-zone"
 
 

+ 174 - 4
applications/luci-app-firewall/po/ru/firewall.po

@@ -40,6 +40,14 @@ msgstr "<var>%d</var> пакетов за <var>%s</var>, подряд <var>%d</v
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> с пределом в %s"
 msgstr "<var>%s</var> с пределом в %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Принимать перенаправляемый трафик"
 msgstr "Принимать перенаправляемый трафик"
@@ -54,6 +62,7 @@ msgstr "Принимать исходящий трафик"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Действие"
 msgstr "Действие"
 
 
@@ -78,6 +87,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Дополнительные настройки"
 msgstr "Дополнительные настройки"
@@ -95,11 +105,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Разрешить перенаправление в <em>'зоны назначения'</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/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Любой"
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Любой день"
 msgstr "Любой день"
 
 
@@ -138,7 +151,7 @@ msgstr "Охватываемые сети"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Охватываемые подсети"
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Пользовательские правила"
 msgstr "Пользовательские правила"
 
 
@@ -153,11 +166,16 @@ msgstr ""
 "каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил "
 "каждой перезагрузки межсетевого экрана, сразу после загрузки набора правил "
 "по умолчанию."
 "по умолчанию."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Адрес назначения"
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Порт назначения"
 msgstr "Порт назначения"
 
 
@@ -186,6 +204,10 @@ msgstr ""
 "трафика с состоянием <em>недействительный</em> (<em>invalid</em>). Это может "
 "трафика с состоянием <em>недействительный</em> (<em>invalid</em>). Это может "
 "потребоваться для сложных настроек асимметричной маршрутизации."
 "потребоваться для сложных настроек асимметричной маршрутизации."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Не перезаписывать"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Не отслеживать перенаправляемый трафик"
 msgstr "Не отслеживать перенаправляемый трафик"
@@ -204,6 +226,7 @@ msgstr "Отбрасывать некорректные пакеты"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Включить"
 msgstr "Включить"
 
 
@@ -219,6 +242,10 @@ msgstr "Включить защиту от SYN-flood атак"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Включить журналирование в этой зоне"
 msgstr "Включить журналирование в этой зоне"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Экспериментальный функционал. Не полностью совместим с QoS/SQM."
 msgstr "Экспериментальный функционал. Не полностью совместим с QoS/SQM."
@@ -239,6 +266,7 @@ msgstr "Внешний порт"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Дополнительные аргументы"
 msgstr "Дополнительные аргументы"
 
 
@@ -262,6 +290,10 @@ msgstr "Межсетевой экран"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Межсетевой экран - Пользовательские правила"
 msgstr "Межсетевой экран - Пользовательские правила"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Межсетевой экран - Перенаправление портов"
 msgstr "Межсетевой экран - Перенаправление портов"
@@ -284,6 +316,7 @@ msgid "Forward to"
 msgstr "Перенаправлять на"
 msgstr "Перенаправлять на"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Пятница"
 msgstr "Пятница"
 
 
@@ -314,8 +347,13 @@ msgstr "Из %s в <var>это устройство</var> с источнико
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "Из %s в <var>это устройство</var> с источниками %s and %s"
 msgstr "Из %s в <var>это устройство</var> с источниками %s and %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -391,6 +429,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC-адреса"
 msgstr "MAC-адреса"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Ограничение MSS"
 msgstr "Ограничение MSS"
@@ -401,13 +443,38 @@ msgstr "Маскарадинг"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Входящий трафик"
 msgstr "Входящий трафик"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Соответствовать ICMP типу"
 msgstr "Соответствовать ICMP типу"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -416,17 +483,43 @@ msgstr ""
 "Порт или диапазон портов, входящие подключения на который будут "
 "Порт или диапазон портов, входящие подключения на который будут "
 "перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
 "перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Понедельник"
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Дни месяца"
 msgstr "Дни месяца"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Имя"
 msgstr "Имя"
@@ -458,6 +551,14 @@ msgstr ""
 "Применять правило только для входящего трафика от указанного порта или "
 "Применять правило только для входящего трафика от указанного порта или "
 "диапазона портов клиентского хоста"
 "диапазона портов клиентского хоста"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -465,6 +566,7 @@ msgstr "Исходящий трафик"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "Передаёт дополнительные аргументы таблице iptables. Используйте с "
 "Передаёт дополнительные аргументы таблице iptables. Используйте с "
@@ -499,6 +601,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Протокол"
 msgstr "Протокол"
 
 
@@ -543,11 +646,44 @@ msgstr "Использовать маскарадинг только для ук
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Использовать протокол"
 msgstr "Использовать протокол"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Маршрутизация/NAT offloading"
 msgstr "Маршрутизация/NAT offloading"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Суббота"
 msgstr "Суббота"
 
 
@@ -560,6 +696,7 @@ msgid "Software flow offloading"
 msgstr "Программный 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "IP-адрес источника"
 msgstr "IP-адрес источника"
 
 
@@ -574,6 +711,7 @@ msgstr "Адрес источника"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Порт источника"
 msgstr "Порт источника"
 
 
@@ -583,22 +721,27 @@ msgid "Source zone"
 msgstr "Зона источника"
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Дата начала (год-мес-день)"
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Время начала (чч.мм.сс)"
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Дата окончания (год-мес-день)"
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Время окончания (чч.мм.сс)"
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Воскресенье"
 msgstr "Воскресенье"
 
 
@@ -642,14 +785,17 @@ msgstr ""
 "доступные сети являются членами этой зоны."
 "доступные сети являются членами этой зоны."
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Четверг"
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Временные ограничения"
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Время UTC"
 msgstr "Время UTC"
 
 
@@ -669,6 +815,12 @@ msgstr "К %s на <var>этом устройстве</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "К %s, %s в %s"
 msgstr "К %s, %s в %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -685,6 +837,7 @@ msgstr ""
 "портов маршрутизатора."
 "портов маршрутизатора."
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Вторник"
 msgstr "Вторник"
 
 
@@ -692,6 +845,11 @@ msgstr "Вторник"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Невозможно сохранить содержимое: %s"
 msgstr "Невозможно сохранить содержимое: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -731,10 +889,12 @@ msgid "Via %s at %s"
 msgstr "Через %s, %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Среда"
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Дни недели"
 msgstr "Дни недели"
 
 
@@ -763,6 +923,10 @@ msgstr "принимать"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "любой"
 msgstr "любой"
 
 
@@ -789,6 +953,11 @@ msgstr "любой зоны"
 msgid "day"
 msgid "day"
 msgstr "день"
 msgstr "день"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "не отслеживать"
 msgstr "не отслеживать"
@@ -844,6 +1013,10 @@ msgstr "тип"
 msgid "types"
 msgid "types"
 msgstr "типы"
 msgstr "типы"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Принудительно включать отслеживание соединений"
 #~ msgstr "Принудительно включать отслеживание соединений"
 
 
@@ -872,9 +1045,6 @@ msgstr "типы"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Добавить и редактировать..."
 #~ msgstr "Добавить и редактировать..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Не перезаписывать"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Внешняя зона"
 #~ msgstr "Внешняя зона"
 
 

+ 174 - 1
applications/luci-app-firewall/po/sk/firewall.po

@@ -36,6 +36,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -50,6 +58,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Akcia"
 msgstr "Akcia"
 
 
@@ -68,6 +77,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -85,11 +95,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -126,7 +139,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -137,11 +150,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -167,6 +185,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -185,6 +207,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -200,6 +223,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -218,6 +245,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -241,6 +269,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -263,6 +295,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -293,8 +326,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -370,6 +408,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -380,30 +422,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -430,6 +523,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -437,6 +538,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -462,6 +564,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -503,11 +606,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -520,6 +656,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -534,6 +671,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -543,22 +681,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -589,14 +732,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -616,6 +762,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -629,6 +781,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -636,6 +789,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -671,10 +829,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -703,6 +863,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -729,6 +893,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -783,3 +952,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 7
applications/luci-app-firewall/po/sv/firewall.po

@@ -36,6 +36,14 @@ msgstr "<var>%d</var> pkt. per <var>%s</var>, brustna <var>%d</var> pkt."
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> och gränsen till %s"
 msgstr "<var>%s</var> och gränsen till %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -50,6 +58,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Åtgärd"
 msgstr "Åtgärd"
 
 
@@ -68,6 +77,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Avancerade inställningar"
 msgstr "Avancerade inställningar"
@@ -85,11 +95,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Till vidarebefordring till <em>destinationszonerna:</em>:"
 msgstr "Till vidarebefordring till <em>destinationszonerna:</em>:"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Något"
 msgstr "Något"
 
 
 #: 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -126,7 +139,7 @@ msgstr "Nätverk som omfattas"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Anpassade regler"
 msgstr "Anpassade regler"
 
 
@@ -137,11 +150,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "Destinationens IP-adress"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Destinationens adress"
 msgstr "Destinationens adress"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Destinationsport"
 msgstr "Destinationsport"
 
 
@@ -167,6 +185,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "Skriv inte om igen"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -185,6 +207,7 @@ msgstr "Släpp ogiltiga paket"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Aktivera"
 msgstr "Aktivera"
 
 
@@ -200,6 +223,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Aktivera loggning i den här zonen"
 msgstr "Aktivera loggning i den här zonen"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -218,6 +245,7 @@ msgstr "Extern port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Extra argument"
 msgstr "Extra argument"
 
 
@@ -241,6 +269,10 @@ msgstr "Brandvägg"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Brandvägg - Anpassade regler"
 msgstr "Brandvägg - Anpassade regler"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Brandvägg - Vidarebefordring av port"
 msgstr "Brandvägg - Vidarebefordring av port"
@@ -263,6 +295,7 @@ msgid "Forward to"
 msgstr "Vidarebefordra till"
 msgstr "Vidarebefordra till"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "Fredag"
 msgstr "Fredag"
 
 
@@ -293,8 +326,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -370,6 +408,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -380,13 +422,38 @@ msgstr "Maskering"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Matcha"
 msgstr "Matcha"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Matchar ICMP-typ"
 msgstr "Matchar ICMP-typ"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -395,17 +462,43 @@ msgstr ""
 "Matcha inkommande trafik dirigerad till den angivna destinationsporten eller "
 "Matcha inkommande trafik dirigerad till den angivna destinationsporten eller "
 "portens räckvidd på den här värden"
 "portens räckvidd på den här värden"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Måndag"
 msgstr "Måndag"
 
 
 #: 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Dagar i månaden"
 msgstr "Dagar i månaden"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Namn"
 msgstr "Namn"
@@ -433,6 +526,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -440,6 +541,7 @@ msgstr "Utmatning"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -465,6 +567,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Protokoll"
 msgstr "Protokoll"
 
 
@@ -506,11 +609,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Begränsa till adressfamilj"
 msgstr "Begränsa till adressfamilj"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Lördag"
 msgstr "Lördag"
 
 
@@ -523,6 +659,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "IP-adress för källa"
 msgstr "IP-adress för källa"
 
 
@@ -537,6 +674,7 @@ msgstr "Adress för källkod"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -546,22 +684,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Startdatum (åååå-mm-dd)"
 msgstr "Startdatum (åååå-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Stopptid (åååå-mm-dd)"
 msgstr "Stopptid (åååå-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Söndag"
 msgstr "Söndag"
 
 
@@ -592,14 +735,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Torsdag"
 msgstr "Torsdag"
 
 
 #: 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Tid enligt UTC"
 msgstr "Tid enligt UTC"
 
 
@@ -619,6 +765,12 @@ msgstr "Till %s på <var>den här enheten</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "Till %s, %s i %s"
 msgstr "Till %s, %s i %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -632,6 +784,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Tisdag"
 msgstr "Tisdag"
 
 
@@ -639,6 +792,11 @@ msgstr "Tisdag"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -674,10 +832,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Onsdag"
 msgstr "Onsdag"
 
 
 #: 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Veckodagar"
 msgstr "Veckodagar"
 
 
@@ -706,6 +866,10 @@ msgstr "acceptera"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "något"
 msgstr "något"
 
 
@@ -732,6 +896,11 @@ msgstr "alla zoner"
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "spåra inte"
 msgstr "spåra inte"
@@ -787,6 +956,10 @@ msgstr "typ"
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Disable"
 #~ msgid "Disable"
 #~ msgstr "Inaktivera"
 #~ msgstr "Inaktivera"
 
 
@@ -799,9 +972,6 @@ msgstr ""
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "Lägg till och redigera..."
 #~ msgstr "Lägg till och redigera..."
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "Skriv inte om igen"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "Extern zon"
 #~ msgstr "Extern zon"
 
 
@@ -835,9 +1005,6 @@ msgstr ""
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(Namnlös SNAT)"
 #~ msgstr "(Namnlös SNAT)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "Destinationens IP-adress"
-
 #~ msgid "Match forwarded traffic to the given destination port or port range."
 #~ msgid "Match forwarded traffic to the given destination port or port range."
 #~ msgstr ""
 #~ msgstr ""
 #~ "Matcha vidarebefordrad trafik till den angivna destinationsporten eller "
 #~ "Matcha vidarebefordrad trafik till den angivna destinationsporten eller "

+ 174 - 1
applications/luci-app-firewall/po/templates/firewall.pot

@@ -25,6 +25,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -39,6 +47,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
@@ -57,6 +66,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -74,11 +84,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -115,7 +128,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -126,11 +139,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -156,6 +174,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -174,6 +196,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -189,6 +212,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -207,6 +234,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -230,6 +258,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -252,6 +284,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -282,8 +315,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -359,6 +397,10 @@ msgstr ""
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -369,30 +411,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -419,6 +512,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -426,6 +527,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -451,6 +553,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -492,11 +595,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -509,6 +645,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -523,6 +660,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -532,22 +670,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -578,14 +721,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -605,6 +751,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -618,6 +770,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -625,6 +778,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -660,10 +818,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -692,6 +852,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -718,6 +882,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -772,3 +941,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 1
applications/luci-app-firewall/po/tr/firewall.po

@@ -36,6 +36,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -50,6 +58,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Eylem"
 msgstr "Eylem"
 
 
@@ -68,6 +77,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -85,11 +95,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -126,7 +139,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -137,11 +150,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr ""
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr ""
 msgstr ""
 
 
@@ -167,6 +185,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -185,6 +207,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr ""
 msgstr ""
 
 
@@ -200,6 +223,10 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -218,6 +245,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -241,6 +269,10 @@ msgstr ""
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -263,6 +295,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -293,8 +326,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -370,6 +408,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr ""
 msgstr ""
@@ -380,30 +422,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -430,6 +523,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -437,6 +538,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -462,6 +564,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr ""
 msgstr ""
 
 
@@ -503,11 +606,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -520,6 +656,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr ""
 msgstr ""
 
 
@@ -534,6 +671,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr ""
 msgstr ""
 
 
@@ -543,22 +681,27 @@ msgid "Source zone"
 msgstr ""
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -589,14 +732,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -616,6 +762,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -629,6 +781,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -636,6 +789,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -671,10 +829,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -703,6 +863,10 @@ msgstr ""
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -729,6 +893,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -783,3 +952,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 1
applications/luci-app-firewall/po/uk/firewall.po

@@ -37,6 +37,14 @@ msgstr "<var>%d</var> пакетів за <var>%s</var>, підряд <var>%d</v
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> з лімітом %s"
 msgstr "<var>%s</var> з лімітом %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "Приймати переспрямовування"
 msgstr "Приймати переспрямовування"
@@ -51,6 +59,7 @@ msgstr "Приймати вихідний"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Дія"
 msgstr "Дія"
 
 
@@ -75,6 +84,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "Додаткові параметри"
 msgstr "Додаткові параметри"
@@ -92,11 +102,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Дозволити переспрямовування до <em>зон призначення</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/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "Будь-який"
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "Будь-який день"
 msgstr "Будь-який день"
 
 
@@ -140,7 +153,7 @@ msgstr "Охоплені мережі"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "Охоплені підмережі"
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "Настроювані правила"
 msgstr "Настроювані правила"
 
 
@@ -155,11 +168,16 @@ msgstr ""
 "виконуються після кожного перезавантаження брандмауера, відразу після "
 "виконуються після кожного перезавантаження брандмауера, відразу після "
 "завантаження типового набору правил."
 "завантаження типового набору правил."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Адреса призначення"
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Порт призначення"
 msgstr "Порт призначення"
 
 
@@ -188,6 +206,10 @@ msgstr ""
 "зі станом відслідковування з'єднань <em>invalid</em>. Це може знадобитися "
 "зі станом відслідковування з'єднань <em>invalid</em>. Це може знадобитися "
 "для складних налаштувань асиметричного маршруту."
 "для складних налаштувань асиметричного маршруту."
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "Не відслідковувати переспрямовування"
 msgstr "Не відслідковувати переспрямовування"
@@ -206,6 +228,7 @@ msgstr "Відкидати помилкові пакети"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Увімкнути"
 msgstr "Увімкнути"
 
 
@@ -221,6 +244,10 @@ msgstr "Увімкнути захист від SYN-flood"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "Увімкнути реєстрування у цій зоні"
 msgstr "Увімкнути реєстрування у цій зоні"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "Експериментальна функція. Не повністю сумісно з QoS / SQM."
 msgstr "Експериментальна функція. Не повністю сумісно з QoS / SQM."
@@ -241,6 +268,7 @@ msgstr "Зовнішній порт"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "Додаткові аргументи"
 msgstr "Додаткові аргументи"
 
 
@@ -264,6 +292,10 @@ msgstr "Брандмауер"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "Брандмауер — Настроювані правила"
 msgstr "Брандмауер — Настроювані правила"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "Брандмауер — Переспрямовування портів"
 msgstr "Брандмауер — Переспрямовування портів"
@@ -286,6 +318,7 @@ msgid "Forward to"
 msgstr "переспрямовування до"
 msgstr "переспрямовування до"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "П'ятниця"
 msgstr "П'ятниця"
 
 
@@ -316,8 +349,13 @@ msgstr "Від %s на <var>цьому пристрої</var> з джерело
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "Від %s на <var>цьому пристрої</var> з джерелом %s та %s"
 msgstr "Від %s на <var>цьому пристрої</var> з джерелом %s та %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -393,6 +431,10 @@ msgstr "MAC-адреса"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC-адреси"
 msgstr "MAC-адреси"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "Затискання MSS"
 msgstr "Затискання MSS"
@@ -403,13 +445,38 @@ msgstr "Підміна"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "Зіставляти"
 msgstr "Зіставляти"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "Зіставляти ICMP типу"
 msgstr "Зіставляти ICMP типу"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
@@ -418,17 +485,43 @@ msgstr ""
 "Зіставляти вхідний трафік, спрямований на заданий порт призначення або "
 "Зіставляти вхідний трафік, спрямований на заданий порт призначення або "
 "діапазон портів цього вузла"
 "діапазон портів цього вузла"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "Понеділок"
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "Дні місяця"
 msgstr "Дні місяця"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "Ім'я"
 msgstr "Ім'я"
@@ -457,6 +550,14 @@ msgstr ""
 "Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або "
 "Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або "
 "діапазоні портів вузла клієнта"
 "діапазоні портів вузла клієнта"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -464,6 +565,7 @@ msgstr "Вихідний"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 "Передача додаткових аргументів для IPTables. Використовуйте з обережністю!"
 "Передача додаткових аргументів для IPTables. Використовуйте з обережністю!"
@@ -497,6 +599,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Протокол"
 msgstr "Протокол"
 
 
@@ -539,11 +642,44 @@ msgstr "Обмежити підміну заданими підмережами
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "Обмежити сімейство протоколів"
 msgstr "Обмежити сімейство протоколів"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Розвантаження маршрутизації/NAT"
 msgstr "Розвантаження маршрутизації/NAT"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "Субота"
 msgstr "Субота"
 
 
@@ -556,6 +692,7 @@ msgid "Software flow offloading"
 msgstr "Програмне розвантаження потоку"
 msgstr "Програмне розвантаження потоку"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "IP-адреса джерела"
 msgstr "IP-адреса джерела"
 
 
@@ -570,6 +707,7 @@ msgstr "Адреса джерела"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Порт джерела"
 msgstr "Порт джерела"
 
 
@@ -579,22 +717,27 @@ msgid "Source zone"
 msgstr "Зона джерела"
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Дата початку (рррр-мм-дд)"
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "Час початку (гг:хх:сс)"
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Дата зупинки (рррр-мм-дд)"
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Час зупинки (гг:хх:сс)"
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "Неділя"
 msgstr "Неділя"
 
 
@@ -639,14 +782,17 @@ msgstr ""
 "мережі</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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "Четвер"
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "Часові обмеження"
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "Час в UTC"
 msgstr "Час в UTC"
 
 
@@ -666,6 +812,12 @@ msgstr "%s на <var>цього пристрою</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "%s, %s у %s"
 msgstr "%s, %s у %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -682,6 +834,7 @@ 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "Вівторок"
 msgstr "Вівторок"
 
 
@@ -689,6 +842,11 @@ msgstr "Вівторок"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "Не вдалося зберегти вміст: %s"
 msgstr "Не вдалося зберегти вміст: %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -728,10 +886,12 @@ msgid "Via %s at %s"
 msgstr "Через %s на %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "Середа"
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "Дні тижня"
 msgstr "Дні тижня"
 
 
@@ -760,6 +920,10 @@ msgstr "приймати"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "будь-який"
 msgstr "будь-який"
 
 
@@ -786,6 +950,11 @@ msgstr "будь-якій зоні"
 msgid "day"
 msgid "day"
 msgstr "день"
 msgstr "день"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "не відстеж."
 msgstr "не відстеж."
@@ -841,6 +1010,10 @@ msgstr "типом"
 msgid "types"
 msgid "types"
 msgstr "типами"
 msgstr "типами"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "Примусове відслідковування з'єднань"
 #~ msgstr "Примусове відслідковування з'єднань"
 
 

+ 174 - 1
applications/luci-app-firewall/po/vi/firewall.po

@@ -40,6 +40,14 @@ msgstr ""
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr ""
 msgstr ""
@@ -54,6 +62,7 @@ msgstr ""
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "Hành động"
 msgstr "Hành động"
 
 
@@ -72,6 +81,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr ""
 msgstr ""
@@ -89,11 +99,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr ""
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -130,7 +143,7 @@ msgstr ""
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr ""
 msgstr ""
 
 
@@ -141,11 +154,16 @@ msgid ""
 "each firewall restart, right after the default ruleset has been loaded."
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "Địa chỉ điểm đến"
 msgstr "Địa chỉ điểm đến"
 
 
 #: 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "Cổng điểm đến"
 msgstr "Cổng điểm đến"
 
 
@@ -172,6 +190,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr ""
 msgstr ""
@@ -190,6 +212,7 @@ msgstr "Bỏ qua nhưng gói không hợp lý"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "Kích hoạt"
 msgstr "Kích hoạt"
 
 
@@ -206,6 +229,10 @@ msgstr "SYN-flood bảo vệ "
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr ""
 msgstr ""
@@ -224,6 +251,7 @@ msgstr "External port"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr ""
 msgstr ""
 
 
@@ -247,6 +275,10 @@ msgstr "Firewall"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr ""
 msgstr ""
@@ -269,6 +301,7 @@ msgid "Forward to"
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr ""
 msgstr ""
 
 
@@ -299,8 +332,13 @@ msgstr ""
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -378,6 +416,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #, fuzzy
 #, fuzzy
 msgid "MSS clamping"
 msgid "MSS clamping"
@@ -389,30 +431,81 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr ""
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
@@ -439,6 +532,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -446,6 +547,7 @@ msgstr "Output"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
 msgstr ""
 
 
@@ -471,6 +573,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "Giao thức"
 msgstr "Giao thức"
 
 
@@ -512,11 +615,44 @@ msgstr ""
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr ""
 msgstr ""
 
 
@@ -529,6 +665,7 @@ msgid "Software flow offloading"
 msgstr ""
 msgstr ""
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 #, fuzzy
 #, fuzzy
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "Đỉa chỉ MAC nguồn"
 msgstr "Đỉa chỉ MAC nguồn"
@@ -545,6 +682,7 @@ msgstr "Đỉa chỉ MAC nguồn"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "Cổng nguồn"
 msgstr "Cổng nguồn"
 
 
@@ -555,22 +693,27 @@ msgid "Source zone"
 msgstr "Cổng nguồn"
 msgstr "Cổng nguồn"
 
 
 #: 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr ""
 msgstr ""
 
 
@@ -603,14 +746,17 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr ""
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr ""
 msgstr ""
 
 
@@ -630,6 +776,12 @@ msgstr ""
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -643,6 +795,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr ""
 msgstr ""
 
 
@@ -650,6 +803,11 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -685,10 +843,12 @@ msgid "Via %s at %s"
 msgstr ""
 msgstr ""
 
 
 #: 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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr ""
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr ""
 msgstr ""
 
 
@@ -717,6 +877,10 @@ msgstr "chấp nhận"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr ""
 msgstr ""
 
 
@@ -743,6 +907,11 @@ msgstr ""
 msgid "day"
 msgid "day"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr ""
 msgstr ""
@@ -797,3 +966,7 @@ msgstr ""
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:209
 msgid "types"
 msgid "types"
 msgstr ""
 msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""

+ 174 - 7
applications/luci-app-firewall/po/zh-cn/firewall.po

@@ -40,6 +40,14 @@ msgstr "<var>%d</var> 数据包/<var>%s</var>,突发 <var>%d</var> 数据包
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> 并限制到 %s"
 msgstr "<var>%s</var> 并限制到 %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "接受转发"
 msgstr "接受转发"
@@ -54,6 +62,7 @@ msgstr "接受出站"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "动作"
 msgstr "动作"
 
 
@@ -76,6 +85,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "高级设置"
 msgstr "高级设置"
@@ -93,11 +103,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "允许转发到<em>目标区域</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/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "任何"
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr "每天"
 msgstr "每天"
 
 
@@ -134,7 +147,7 @@ msgstr "涵盖的网络"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr "涵盖的子网"
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "自定义规则"
 msgstr "自定义规则"
 
 
@@ -147,11 +160,16 @@ msgstr ""
 "自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时,"
 "自定义规则允许您执行不属于防火墙框架的任意 iptables 命令。每次重启防火墙时,"
 "在默认的规则运行后这些命令将立即执行。"
 "在默认的规则运行后这些命令将立即执行。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "目标 IP 地址"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "目标地址"
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "目标端口"
 msgstr "目标端口"
 
 
@@ -179,6 +197,10 @@ msgstr ""
 "不安装额外的规则以拒绝 conntrack 状态为<em>无效</em>的转发流量。对复杂的非对"
 "不安装额外的规则以拒绝 conntrack 状态为<em>无效</em>的转发流量。对复杂的非对"
 "称路由这可能是必需的设置。"
 "称路由这可能是必需的设置。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "不重写"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "不跟踪转发"
 msgstr "不跟踪转发"
@@ -197,6 +219,7 @@ msgstr "丢弃无效数据包"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "启用"
 msgstr "启用"
 
 
@@ -212,6 +235,10 @@ msgstr "启用 SYN-flood 防御"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "启用此区域的日志记录"
 msgstr "启用此区域的日志记录"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "实验特性。与 QoS/SQM 不完全兼容。"
 msgstr "实验特性。与 QoS/SQM 不完全兼容。"
@@ -230,6 +257,7 @@ msgstr "外部端口"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "额外参数"
 msgstr "额外参数"
 
 
@@ -253,6 +281,10 @@ msgstr "防火墙"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "防火墙 - 自定义规则"
 msgstr "防火墙 - 自定义规则"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "防火墙 - 端口转发"
 msgstr "防火墙 - 端口转发"
@@ -275,6 +307,7 @@ msgid "Forward to"
 msgstr "转发到"
 msgstr "转发到"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "星期五"
 msgstr "星期五"
 
 
@@ -305,8 +338,13 @@ msgstr "来自 %s 位于<var>本设备</var>源于 %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "来自 %s 位于<var>本设备</var>源端口 %s 源 MAC %s"
 msgstr "来自 %s 位于<var>本设备</var>源端口 %s 源 MAC %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -382,6 +420,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC"
 msgstr "MAC"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS 钳制"
 msgstr "MSS 钳制"
@@ -392,30 +434,81 @@ msgstr "IP 动态伪装"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "匹配规则"
 msgstr "匹配规则"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "匹配 ICMP 类型"
 msgstr "匹配 ICMP 类型"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量"
 msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "星期一"
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "日期"
 msgstr "日期"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "名称"
 msgstr "名称"
@@ -442,6 +535,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量"
 msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -449,6 +550,7 @@ msgstr "出站数据"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "传递到 iptables 的额外参数。小心使用!"
 msgstr "传递到 iptables 的额外参数。小心使用!"
 
 
@@ -478,6 +580,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "协议"
 msgstr "协议"
 
 
@@ -519,11 +622,44 @@ msgstr "要限制 IP 动态伪装的源子网"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "限制地址"
 msgstr "限制地址"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Routing/NAT 分载"
 msgstr "Routing/NAT 分载"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "星期六"
 msgstr "星期六"
 
 
@@ -536,6 +672,7 @@ msgid "Software flow offloading"
 msgstr "软件流量分载"
 msgstr "软件流量分载"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "源 IP 地址"
 msgstr "源 IP 地址"
 
 
@@ -550,6 +687,7 @@ msgstr "源地址"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "源端口"
 msgstr "源端口"
 
 
@@ -559,22 +697,27 @@ msgid "Source zone"
 msgstr "源区域"
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "开始日期(yyyy-mm-dd)"
 msgstr "开始日期(yyyy-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr "开始时间(hh.mm.ss)"
 msgstr "开始时间(hh.mm.ss)"
 
 
 #: 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "停止日期(yyyy-mm-dd)"
 msgstr "停止日期(yyyy-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr "停止时间(hh.mm.ss)"
 msgstr "停止时间(hh.mm.ss)"
 
 
 #: 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "星期日"
 msgstr "星期日"
 
 
@@ -612,14 +755,17 @@ 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "星期四"
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr "时间限制"
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "UTC 时间"
 msgstr "UTC 时间"
 
 
@@ -639,6 +785,12 @@ msgstr "到 %s 位于<var>本设备</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "到 %s, %s 位于 %s"
 msgstr "到 %s, %s 位于 %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -654,6 +806,7 @@ 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "星期二"
 msgstr "星期二"
 
 
@@ -661,6 +814,11 @@ msgstr "星期二"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr "无法保存内容:%s"
 msgstr "无法保存内容:%s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -696,10 +854,12 @@ msgid "Via %s at %s"
 msgstr "通过 %s 在 %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "星期三"
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "星期"
 msgstr "星期"
 
 
@@ -728,6 +888,10 @@ msgstr "接受"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "任意"
 msgstr "任意"
 
 
@@ -754,6 +918,11 @@ msgstr "所有区域"
 msgid "day"
 msgid "day"
 msgstr "日"
 msgstr "日"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "不跟踪"
 msgstr "不跟踪"
@@ -809,6 +978,10 @@ msgstr "类型"
 msgid "types"
 msgid "types"
 msgstr "类型"
 msgstr "类型"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "强制连接追踪"
 #~ msgstr "强制连接追踪"
 
 
@@ -835,9 +1008,6 @@ msgstr "类型"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "添加并编辑…"
 #~ msgstr "添加并编辑…"
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "不重写"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "外部区域"
 #~ msgstr "外部区域"
 
 
@@ -880,9 +1050,6 @@ msgstr "类型"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(未命名 SNAT)"
 #~ msgstr "(未命名 SNAT)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "目标 IP 地址"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "端口触发"
 #~ msgstr "端口触发"
 
 

+ 174 - 7
applications/luci-app-firewall/po/zh-tw/firewall.po

@@ -37,6 +37,14 @@ msgstr "<var>%d</var> 資料包/<var>%s</var>,突發 <var>%d</var> 資料包
 msgid "<var>%s</var> and limit to %s"
 msgid "<var>%s</var> and limit to %s"
 msgstr "<var>%s</var> 並限制到 %s"
 msgstr "<var>%s</var> 並限制到 %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:279
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:266
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:293
 msgid "Accept forward"
 msgid "Accept forward"
 msgstr "接受轉發"
 msgstr "接受轉發"
@@ -51,6 +59,7 @@ msgstr "接受出站"
 
 
 #: 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: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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgid "Action"
 msgstr "行動"
 msgstr "行動"
 
 
@@ -69,6 +78,7 @@ msgstr ""
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgid "Advanced Settings"
 msgstr "高階設定"
 msgstr "高階設定"
@@ -86,11 +96,14 @@ msgid "Allow forward to <em>destination zones</em>:"
 msgstr "允許轉發到<em>目標區域</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/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgid "Any"
 msgstr "任何"
 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: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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgid "Any day"
 msgstr ""
 msgstr ""
 
 
@@ -127,7 +140,7 @@ msgstr "覆蓋網路"
 msgid "Covered subnets"
 msgid "Covered subnets"
 msgstr ""
 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:53
 msgid "Custom Rules"
 msgid "Custom Rules"
 msgstr "自訂規則"
 msgstr "自訂規則"
 
 
@@ -140,11 +153,16 @@ msgstr ""
 "自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在"
 "自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在"
 "預設的規則執行後這些指令將立即執行。"
 "預設的規則執行後這些指令將立即執行。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:237
+msgid "Destination IP address"
+msgstr "目標 IP 位址"
+
 #: 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:339
 msgid "Destination address"
 msgid "Destination address"
 msgstr "目標位址"
 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:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgid "Destination port"
 msgstr "目標埠"
 msgstr "目標埠"
 
 
@@ -170,6 +188,10 @@ msgid ""
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 "<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:124
+msgid "Do not rewrite"
+msgstr "不重寫"
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:297
 msgid "Do not track forward"
 msgid "Do not track forward"
 msgstr "不跟蹤轉發"
 msgstr "不跟蹤轉發"
@@ -188,6 +210,7 @@ msgstr "丟棄無效資料包"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
 #: 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgid "Enable"
 msgstr "啟用"
 msgstr "啟用"
 
 
@@ -203,6 +226,10 @@ msgstr "啟用 SYN-flood 防禦"
 msgid "Enable logging on this zone"
 msgid "Enable logging on this zone"
 msgstr "啟用此區域的日誌記錄"
 msgstr "啟用此區域的日誌記錄"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "Expecting: %s"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
 msgstr "實驗特性。與 QoS/SQM 不完全相容。"
 msgstr "實驗特性。與 QoS/SQM 不完全相容。"
@@ -221,6 +248,7 @@ msgstr "外部埠"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
 #: 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgid "Extra arguments"
 msgstr "附加引數"
 msgstr "附加引數"
 
 
@@ -244,6 +272,10 @@ msgstr "防火牆"
 msgid "Firewall - Custom Rules"
 msgid "Firewall - Custom Rules"
 msgstr "防火牆 - 自訂規則"
 msgstr "防火牆 - 自訂規則"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:153
+msgid "Firewall - NAT 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/forwards.js:92
 msgid "Firewall - Port Forwards"
 msgid "Firewall - Port Forwards"
 msgstr "防火牆 - 埠轉發"
 msgstr "防火牆 - 埠轉發"
@@ -266,6 +298,7 @@ msgid "Forward to"
 msgstr "轉發到"
 msgstr "轉發到"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgid "Friday"
 msgstr "星期五"
 msgstr "星期五"
 
 
@@ -296,8 +329,13 @@ msgstr "來自 %s 位於<var>本裝置</var>源於 %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgid "From %s on <var>this device</var> with source %s and %s"
 msgstr "來自 %s 位於<var>本裝置</var>源埠 %s 源 MAC %s"
 msgstr "來自 %s 位於<var>本裝置</var>源埠 %s 源 MAC %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:92
+msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:161
 #: 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:31
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:16
@@ -373,6 +411,10 @@ msgstr "MAC"
 msgid "MACs"
 msgid "MACs"
 msgstr "MAC"
 msgstr "MAC"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgid "MSS clamping"
 msgstr "MSS 鉗制"
 msgstr "MSS 鉗制"
@@ -383,30 +425,81 @@ msgstr "IP 動態偽裝"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
 #: 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgid "Match"
 msgstr "匹配規則"
 msgstr "匹配規則"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:84
+msgid ""
+"Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
+"with firewall mark %{mark}}"
+msgstr ""
+
 #: 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:254
 msgid "Match ICMP type"
 msgid "Match ICMP type"
 msgstr "匹配 ICMP 型別"
 msgstr "匹配 ICMP 型別"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:238
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
+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:214
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:227
+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:224
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
 msgid ""
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 "on this host"
 msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。"
 msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:310
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:372
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgid "Monday"
 msgstr "星期一"
 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:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgid "Month Days"
 msgstr "日期"
 msgstr "日期"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:156
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:154
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
 #: 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:201
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
 msgid "Name"
 msgstr "名字"
 msgstr "名字"
@@ -433,6 +526,14 @@ msgid ""
 "range on the client host"
 "range on the client host"
 msgstr "僅匹配源自客戶端主機上給定源埠或源埠範圍的入站流量。"
 msgstr "僅匹配源自客戶端主機上給定源埠或源埠範圍的入站流量。"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
+msgid "Outbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Outbound zone"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgid "Output"
@@ -440,6 +541,7 @@ msgstr "出站資料"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
 #: 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "傳遞到 iptables 的額外引數。小心使用!"
 msgstr "傳遞到 iptables 的額外引數。小心使用!"
 
 
@@ -465,6 +567,7 @@ msgstr "埠轉發允許 Internet 上的遠端計算機連線到內部網路中
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 #: 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/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgid "Protocol"
 msgstr "協議"
 msgstr "協議"
 
 
@@ -506,11 +609,44 @@ msgstr "要限制 IP 動態偽裝的源子網"
 msgid "Restrict to address family"
 msgid "Restrict to address family"
 msgstr "限制位址"
 msgstr "限制位址"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:268
+msgid "Rewrite IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:269
+msgid "Rewrite matched traffic to the specified source IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:299
+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:298
+msgid "Rewrite port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:183
+msgid "Rewrite to"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:115
+msgid "Rewrite to %{ipaddr?%{port?%{ipaddr}, %{port}:%{ipaddr}}:%{port}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+msgid "Rewrite to outbound device IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
 msgid "Routing/NAT Offloading"
 msgid "Routing/NAT Offloading"
 msgstr "Routing/NAT 分載"
 msgstr "Routing/NAT 分載"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:264
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
 #: 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:347
 msgid "Saturday"
 msgid "Saturday"
 msgstr "星期六"
 msgstr "星期六"
 
 
@@ -523,6 +659,7 @@ msgid "Software flow offloading"
 msgstr "軟體流量分載"
 msgstr "軟體流量分載"
 
 
 #: 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:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgid "Source IP address"
 msgstr "源 IP 位址"
 msgstr "源 IP 位址"
 
 
@@ -537,6 +674,7 @@ msgstr "源位址"
 
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgid "Source port"
 msgstr "源埠"
 msgstr "源埠"
 
 
@@ -546,22 +684,27 @@ msgid "Source zone"
 msgstr "源區域"
 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:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "開始日期(yyyy-mm-dd)"
 msgstr "開始日期(yyyy-mm-dd)"
 
 
 #: 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:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 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:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "停止日期(yyyy-mm-dd)"
 msgstr "停止日期(yyyy-mm-dd)"
 
 
 #: 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:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 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:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgid "Sunday"
 msgstr "星期日"
 msgstr "星期日"
 
 
@@ -599,14 +742,17 @@ 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:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgid "Thursday"
 msgstr "星期四"
 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:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgid "Time Restrictions"
 msgstr ""
 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:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgid "Time in UTC"
 msgstr "UTC 時間"
 msgstr "UTC 時間"
 
 
@@ -626,6 +772,12 @@ msgstr "到 %s 位於<var>本裝置</var>"
 msgid "To %s, %s in %s"
 msgid "To %s, %s in %s"
 msgstr "到 %s, %s 位於 %s"
 msgstr "到 %s, %s 位於 %s"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:102
+msgid ""
+"To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
 #: 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/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgid "Traffic Rules"
@@ -641,6 +793,7 @@ 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:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgid "Tuesday"
 msgstr "星期二"
 msgstr "星期二"
 
 
@@ -648,6 +801,11 @@ msgstr "星期二"
 msgid "Unable to save contents: %s"
 msgid "Unable to save contents: %s"
 msgstr ""
 msgstr ""
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:166
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:170
+msgid "Unnamed NAT"
+msgstr ""
+
 #: 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: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:122
 msgid "Unnamed forward"
 msgid "Unnamed forward"
@@ -683,10 +841,12 @@ msgid "Via %s at %s"
 msgstr "通過 %s 在 %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:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgid "Wednesday"
 msgstr "星期三"
 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:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgid "Week Days"
 msgstr "星期"
 msgstr "星期"
 
 
@@ -715,6 +875,10 @@ msgstr "接受"
 #: 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: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:342
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:218
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:242
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "any"
 msgid "any"
 msgstr "所有"
 msgstr "所有"
 
 
@@ -741,6 +905,11 @@ msgstr "所有區域"
 msgid "day"
 msgid "day"
 msgstr "日"
 msgstr "日"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:302
+msgid "do not rewrite"
+msgstr ""
+
 #: 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:360
 msgid "don't track"
 msgid "don't track"
 msgstr "不跟蹤"
 msgstr "不跟蹤"
@@ -796,6 +965,10 @@ msgstr "型別"
 msgid "types"
 msgid "types"
 msgstr "型別"
 msgstr "型別"
 
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
+msgid "valid firewall mark"
+msgstr ""
+
 #~ msgid "Force connection tracking"
 #~ msgid "Force connection tracking"
 #~ msgstr "強制連線追蹤"
 #~ msgstr "強制連線追蹤"
 
 
@@ -817,9 +990,6 @@ msgstr "型別"
 #~ msgid "Add and edit..."
 #~ msgid "Add and edit..."
 #~ msgstr "新增並編輯…"
 #~ msgstr "新增並編輯…"
 
 
-#~ msgid "Do not rewrite"
-#~ msgstr "不重寫"
-
 #~ msgid "External zone"
 #~ msgid "External zone"
 #~ msgstr "外部區域"
 #~ msgstr "外部區域"
 
 
@@ -862,9 +1032,6 @@ msgstr "型別"
 #~ msgid "(Unnamed SNAT)"
 #~ msgid "(Unnamed SNAT)"
 #~ msgstr "(未命名 SNAT)"
 #~ msgstr "(未命名 SNAT)"
 
 
-#~ msgid "Destination IP address"
-#~ msgstr "目標 IP 位址"
-
 #~ msgid "Inter-Zone Forwarding"
 #~ msgid "Inter-Zone Forwarding"
 #~ msgstr "埠觸發"
 #~ msgstr "埠觸發"