Browse Source

treewide: i18n - sync translations

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Hannu Nyman 4 years ago
parent
commit
0590f15eed
100 changed files with 9094 additions and 5558 deletions
  1. 170 96
      applications/luci-app-firewall/po/bg/firewall.po
  2. 170 96
      applications/luci-app-firewall/po/ca/firewall.po
  3. 170 96
      applications/luci-app-firewall/po/cs/firewall.po
  4. 176 101
      applications/luci-app-firewall/po/de/firewall.po
  5. 170 96
      applications/luci-app-firewall/po/el/firewall.po
  6. 170 96
      applications/luci-app-firewall/po/en/firewall.po
  7. 172 98
      applications/luci-app-firewall/po/es/firewall.po
  8. 170 96
      applications/luci-app-firewall/po/fr/firewall.po
  9. 170 96
      applications/luci-app-firewall/po/he/firewall.po
  10. 170 96
      applications/luci-app-firewall/po/hi/firewall.po
  11. 170 96
      applications/luci-app-firewall/po/hu/firewall.po
  12. 170 96
      applications/luci-app-firewall/po/it/firewall.po
  13. 170 96
      applications/luci-app-firewall/po/ja/firewall.po
  14. 170 96
      applications/luci-app-firewall/po/ko/firewall.po
  15. 170 96
      applications/luci-app-firewall/po/mr/firewall.po
  16. 170 96
      applications/luci-app-firewall/po/ms/firewall.po
  17. 170 96
      applications/luci-app-firewall/po/no/firewall.po
  18. 174 100
      applications/luci-app-firewall/po/pl/firewall.po
  19. 170 96
      applications/luci-app-firewall/po/pt-br/firewall.po
  20. 170 96
      applications/luci-app-firewall/po/pt/firewall.po
  21. 170 96
      applications/luci-app-firewall/po/ro/firewall.po
  22. 170 96
      applications/luci-app-firewall/po/ru/firewall.po
  23. 170 96
      applications/luci-app-firewall/po/sk/firewall.po
  24. 170 96
      applications/luci-app-firewall/po/sv/firewall.po
  25. 170 96
      applications/luci-app-firewall/po/templates/firewall.pot
  26. 170 96
      applications/luci-app-firewall/po/tr/firewall.po
  27. 170 96
      applications/luci-app-firewall/po/uk/firewall.po
  28. 170 96
      applications/luci-app-firewall/po/vi/firewall.po
  29. 170 96
      applications/luci-app-firewall/po/zh-cn/firewall.po
  30. 170 96
      applications/luci-app-firewall/po/zh-tw/firewall.po
  31. 59 50
      applications/luci-app-upnp/po/bg/upnp.po
  32. 62 50
      applications/luci-app-upnp/po/ca/upnp.po
  33. 62 50
      applications/luci-app-upnp/po/cs/upnp.po
  34. 62 50
      applications/luci-app-upnp/po/de/upnp.po
  35. 62 50
      applications/luci-app-upnp/po/el/upnp.po
  36. 59 50
      applications/luci-app-upnp/po/en/upnp.po
  37. 62 50
      applications/luci-app-upnp/po/es/upnp.po
  38. 62 50
      applications/luci-app-upnp/po/fr/upnp.po
  39. 59 50
      applications/luci-app-upnp/po/he/upnp.po
  40. 59 50
      applications/luci-app-upnp/po/hi/upnp.po
  41. 62 50
      applications/luci-app-upnp/po/hu/upnp.po
  42. 62 50
      applications/luci-app-upnp/po/it/upnp.po
  43. 62 50
      applications/luci-app-upnp/po/ja/upnp.po
  44. 59 50
      applications/luci-app-upnp/po/ko/upnp.po
  45. 62 50
      applications/luci-app-upnp/po/mr/upnp.po
  46. 62 50
      applications/luci-app-upnp/po/ms/upnp.po
  47. 62 50
      applications/luci-app-upnp/po/no/upnp.po
  48. 62 50
      applications/luci-app-upnp/po/pl/upnp.po
  49. 62 50
      applications/luci-app-upnp/po/pt-br/upnp.po
  50. 64 51
      applications/luci-app-upnp/po/pt/upnp.po
  51. 62 50
      applications/luci-app-upnp/po/ro/upnp.po
  52. 62 50
      applications/luci-app-upnp/po/ru/upnp.po
  53. 62 50
      applications/luci-app-upnp/po/sk/upnp.po
  54. 62 50
      applications/luci-app-upnp/po/sv/upnp.po
  55. 59 50
      applications/luci-app-upnp/po/templates/upnp.pot
  56. 62 50
      applications/luci-app-upnp/po/tr/upnp.po
  57. 62 50
      applications/luci-app-upnp/po/uk/upnp.po
  58. 62 50
      applications/luci-app-upnp/po/vi/upnp.po
  59. 62 50
      applications/luci-app-upnp/po/zh-cn/upnp.po
  60. 62 50
      applications/luci-app-upnp/po/zh-tw/upnp.po
  61. 3 3
      applications/luci-app-vpn-policy-routing/po/bg/vpn-policy-routing.po
  62. 3 3
      applications/luci-app-vpn-policy-routing/po/ca/vpn-policy-routing.po
  63. 3 3
      applications/luci-app-vpn-policy-routing/po/cs/vpn-policy-routing.po
  64. 3 3
      applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po
  65. 3 3
      applications/luci-app-vpn-policy-routing/po/el/vpn-policy-routing.po
  66. 3 3
      applications/luci-app-vpn-policy-routing/po/es/vpn-policy-routing.po
  67. 3 3
      applications/luci-app-vpn-policy-routing/po/fr/vpn-policy-routing.po
  68. 3 3
      applications/luci-app-vpn-policy-routing/po/he/vpn-policy-routing.po
  69. 3 3
      applications/luci-app-vpn-policy-routing/po/hi/vpn-policy-routing.po
  70. 3 3
      applications/luci-app-vpn-policy-routing/po/hu/vpn-policy-routing.po
  71. 3 3
      applications/luci-app-vpn-policy-routing/po/it/vpn-policy-routing.po
  72. 3 3
      applications/luci-app-vpn-policy-routing/po/ja/vpn-policy-routing.po
  73. 3 3
      applications/luci-app-vpn-policy-routing/po/ko/vpn-policy-routing.po
  74. 3 3
      applications/luci-app-vpn-policy-routing/po/mr/vpn-policy-routing.po
  75. 3 3
      applications/luci-app-vpn-policy-routing/po/ms/vpn-policy-routing.po
  76. 3 3
      applications/luci-app-vpn-policy-routing/po/nb_NO/vpn-policy-routing.po
  77. 5 5
      applications/luci-app-vpn-policy-routing/po/pl/vpn-policy-routing.po
  78. 3 3
      applications/luci-app-vpn-policy-routing/po/pt/vpn-policy-routing.po
  79. 3 3
      applications/luci-app-vpn-policy-routing/po/pt_BR/vpn-policy-routing.po
  80. 3 3
      applications/luci-app-vpn-policy-routing/po/ro/vpn-policy-routing.po
  81. 3 3
      applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po
  82. 3 3
      applications/luci-app-vpn-policy-routing/po/sk/vpn-policy-routing.po
  83. 3 3
      applications/luci-app-vpn-policy-routing/po/sv/vpn-policy-routing.po
  84. 3 3
      applications/luci-app-vpn-policy-routing/po/tr/vpn-policy-routing.po
  85. 3 3
      applications/luci-app-vpn-policy-routing/po/uk/vpn-policy-routing.po
  86. 3 3
      applications/luci-app-vpn-policy-routing/po/vi/vpn-policy-routing.po
  87. 3 3
      applications/luci-app-vpn-policy-routing/po/zh-cn/vpn-policy-routing.po
  88. 3 3
      applications/luci-app-vpn-policy-routing/po/zh-tw/vpn-policy-routing.po
  89. 171 90
      modules/luci-base/po/bg/base.po
  90. 171 90
      modules/luci-base/po/ca/base.po
  91. 171 90
      modules/luci-base/po/cs/base.po
  92. 171 90
      modules/luci-base/po/de/base.po
  93. 171 90
      modules/luci-base/po/el/base.po
  94. 171 90
      modules/luci-base/po/en/base.po
  95. 171 90
      modules/luci-base/po/es/base.po
  96. 171 90
      modules/luci-base/po/fr/base.po
  97. 171 90
      modules/luci-base/po/he/base.po
  98. 171 90
      modules/luci-base/po/hi/base.po
  99. 171 90
      modules/luci-base/po/hu/base.po
  100. 171 90
      modules/luci-base/po/it/base.po

+ 170 - 96
applications/luci-app-firewall/po/bg/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -22,7 +22,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -58,8 +58,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr ""
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -156,19 +160,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -207,13 +215,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -225,6 +233,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -237,16 +246,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -279,11 +288,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -296,11 +305,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -336,8 +345,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -366,12 +375,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -380,25 +389,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -406,6 +419,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -426,8 +443,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -438,10 +455,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -460,16 +481,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -478,12 +511,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -499,9 +532,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -511,24 +543,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -542,8 +575,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -557,29 +590,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -607,7 +640,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -648,7 +681,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -691,52 +724,64 @@ msgstr ""
 # msgid "Protocol"
 # 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -767,17 +812,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -804,19 +849,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -825,18 +874,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -844,6 +898,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -864,12 +926,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -882,23 +944,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -907,7 +972,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -921,10 +986,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -934,11 +1003,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -965,7 +1034,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -989,6 +1058,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/ca/firewall.po

@@ -16,7 +16,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s en %s"
 
@@ -24,7 +24,7 @@ msgstr "%s en %s"
 msgid "%s%s with %s"
 msgstr "%s%s amb %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s en %s"
 
@@ -60,8 +60,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Acció"
@@ -79,8 +79,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -98,18 +98,22 @@ msgstr "Permet el reenviament des dels <em>zones d'origen</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permet el reenviament als <em>zones de destí</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -162,19 +166,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Port de destí"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zona de destí"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -213,13 +221,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Activa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -231,6 +239,7 @@ msgstr "Habilita protecció contra la inundació SYN"
 msgid "Enable logging on this zone"
 msgstr "Habilita el registre d'aquesta zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -243,16 +252,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Adreça IP extern"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Paràmetres extres"
@@ -281,11 +290,11 @@ msgstr "Tallafocs - Regles personalitzades"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Tallafocs - Reenviaments de port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Tallafocs - Regles de tràfic"
 
@@ -298,11 +307,11 @@ msgstr "Tallafocs - Ajusts de zona"
 msgid "Forward"
 msgstr "Reenvia"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Reenvia a"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Divendres"
@@ -338,8 +347,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -368,12 +377,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 i IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Només IPv4"
@@ -382,25 +391,29 @@ msgstr "Només IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Només IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Entrada"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Adreça IP interna"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Port intern"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zona interna"
 
@@ -408,6 +421,10 @@ msgstr "Zona interna"
 msgid "Limit log messages"
 msgstr "Limita els missatges de registre"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -428,8 +445,8 @@ msgstr "Fixació MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Coincideix"
@@ -440,10 +457,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Coincideix amb el tipus ICMP"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -462,7 +483,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -470,10 +496,17 @@ msgstr ""
 "Coincideix amb trànsit entrant dirigit al port o rang de ports de destí en "
 "aquest host donat"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -482,12 +515,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -503,9 +536,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -515,19 +547,19 @@ msgstr "Nom"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Només coincideix amb trànsit entrant dirigit a la adreça IP donada."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Només coincideix amb trànsit entrant des d'aquests MAC."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Només coincideix amb trànsit entrant des d'aquest IP o rang."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -535,6 +567,7 @@ msgstr ""
 "Només coincideix amb trànsit originant en el host client des del port o del "
 "rang de ports d'origen donat"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -548,8 +581,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa paràmetres addicionals al iptables. Utilitzeu-ho amb cura!"
@@ -563,12 +596,12 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Reenviaments de port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -576,18 +609,18 @@ msgstr ""
 "El reenviament de ports permet que els ordinadors remots en el Internet "
 "connectin a un ordinador o servei específic dins del LAN privat."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocol"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr "Redirigeix trànsit entrant coincidit al port donat en el host intern"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Redirigeix trànsit entrant coincidit al host intern especificat"
 
@@ -615,7 +648,7 @@ msgstr "Restringeix la mascarada a les subxarxes de destí donades"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Restringeix la mascarada a les subxarxes d'origen donades"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Restringeix a la família d'adreces"
@@ -656,7 +689,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Dissabte"
@@ -669,52 +702,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Adreça IP d'origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Adreça MAC d'origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Port d'origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Diumenge"
@@ -760,17 +805,17 @@ msgstr ""
 "<em>Xarxes cobertes</em> especifica quines xarxes disponibles són membres "
 "d'aquesta zona."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -797,12 +842,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Regles de trànsit"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -812,7 +861,7 @@ msgstr ""
 "zones distintes, per exemple per a rebutjar trànsit entre certs hosts o "
 "obrir ports WAN en el encaminador."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Dimarts"
@@ -821,18 +870,23 @@ msgstr "Dimarts"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -840,6 +894,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -860,12 +922,12 @@ msgstr "Via %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -878,23 +940,26 @@ msgstr "Zona ⇒ Reenviaments"
 msgid "Zones"
 msgstr "Zones"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "accepta"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -903,7 +968,7 @@ msgid "any"
 msgstr "qualsevol"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -917,10 +982,14 @@ msgstr "qualsevol IP d'encaminador"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "qualsevol zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -930,11 +999,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr "no rastregis"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -961,7 +1030,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -985,6 +1054,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/cs/firewall.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s v %s"
 
@@ -20,7 +20,7 @@ msgstr "%s v %s"
 msgid "%s%s with %s"
 msgstr "%s%s s %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s v %s"
 
@@ -56,8 +56,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Akce"
@@ -75,8 +75,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -94,18 +94,22 @@ msgstr "Povolit přesměrování ze <em>zdrojových oblastí</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Povolit přesměrování do <em>zdrojových oblastí</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -157,19 +161,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Cílový port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Cílová zóna"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -208,13 +216,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Povolit"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Povolit NAT Loopback"
 
@@ -226,6 +234,7 @@ msgstr "Povolit ochranu proti SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Povolit logování v této oblasti"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -238,16 +247,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Vnější IP adresa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Další argumenty volání"
@@ -276,11 +285,11 @@ msgstr "Firewall - Vlastní pravidla"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Přesměrování portů"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Pravidla síťového provozu"
 
@@ -293,11 +302,11 @@ msgstr "Firewall - Nastavení zón"
 msgid "Forward"
 msgstr "Přesměrování"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Přesměrovat na"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Pátek"
@@ -333,8 +342,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -363,12 +372,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 a IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "pouze IPv4"
@@ -377,25 +386,29 @@ msgstr "pouze IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "pouze IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Vstup"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Vnitřní IP adresa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Vnitřní port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Vnitřní zóna"
 
@@ -403,6 +416,10 @@ msgstr "Vnitřní zóna"
 msgid "Limit log messages"
 msgstr "Omezit logovací zprávy"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -423,8 +440,8 @@ msgstr "MSS clamping"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Shoda"
@@ -435,10 +452,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Odpovídá ICMP typu"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -457,7 +478,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -465,10 +491,17 @@ msgstr ""
 "Vybrat příchozí provoz, směrovaný na zadaný cílový port nebo rozsah portů "
 "tohoto hostitele"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -477,12 +510,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Dny v měsíci"
@@ -498,9 +531,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -510,19 +542,19 @@ msgstr "Název"
 msgid "Network"
 msgstr "Síť"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Vybrat pouze příchozí provoz, směrovaný na danou IP adresu."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Vybrat pouze příchozí provoz z těchto MAC adres."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Vybrat pouze příchozí provoz z této IP nebo rozsahu IP adres."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -530,6 +562,7 @@ msgstr ""
 "Vybrat pouze příchozí provoz, pocházející ze zadaného portu nebo rozsahu "
 "portů klienta"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -543,8 +576,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Předává další argumenty iptables. Používat opatrně!"
@@ -558,12 +591,12 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Přesměrování portů"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -572,19 +605,19 @@ msgstr ""
 "Internetu připojení k vybraným počítačům nebo službám uvnitř privátní sítě "
 "LAN."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protokol"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Přesměrovat vybraný příchozí provoz na uvedený port vnitřního hostitele"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Přesměrovat vybraný příchozí provoz na uvedeného vnitřního hostitele"
 
@@ -612,7 +645,7 @@ msgstr "Omezit maškarádování na uvedené cílové podsítě"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Omezit maškarádování na uvedené zdrojové podsítě"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Omezit na rodinu adres"
@@ -653,7 +686,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sobota"
@@ -666,52 +699,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Zdrojová IP adresa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Zdrojová MAC adresa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Zdrojový port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Neděle"
@@ -755,17 +800,17 @@ msgstr ""
 "pro přesměrování provozu mezi rozdílnými sítěmi uvnitř jedné zóny. "
 "<em>Pokryté sítě</em> určuje, které z dostupných sítí jsou členy této zóny."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Čas v UTC"
@@ -792,12 +837,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Pravidla síťového provozu"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -807,7 +856,7 @@ msgstr ""
 "různými zónami, například pro odmítnutí provozu mezi jistými hostiteli nebo "
 "pro otevření WAN portů na routeru."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Úterý"
@@ -816,18 +865,23 @@ msgstr "Úterý"
 msgid "Unable to save contents: %s"
 msgstr "Nelze uložit obsah: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Nepojmenované pravidlo"
 
@@ -835,6 +889,14 @@ msgstr "Nepojmenované pravidlo"
 msgid "Unnamed zone"
 msgstr "Nepojmenovaná zóna"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -855,12 +917,12 @@ msgstr "Prostřednictvím %s"
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -873,23 +935,26 @@ msgstr "Zóna ⇒ Přesměrování"
 msgid "Zones"
 msgstr "Zóny"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "přijmout"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -898,7 +963,7 @@ msgid "any"
 msgstr "libovolný"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -912,10 +977,14 @@ msgstr "libovolná IP routeru"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "libovolná zóna"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -925,11 +994,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr "nesledovat"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -956,7 +1025,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -980,6 +1049,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 176 - 101
applications/luci-app-firewall/po/de/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s in %s"
 
@@ -22,7 +22,7 @@ msgstr "%s in %s"
 msgid "%s%s with %s"
 msgstr "%s%s mit %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s in %s"
 
@@ -58,8 +58,8 @@ msgstr "Eingang akzeptieren"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Aktion"
@@ -83,8 +83,8 @@ msgstr ""
 "Zonenquellenverkehr, z.B. <code>-p tcp --sport 443</code>, um nur "
 "eingehenden HTTPS-Verkehr übereinstimmen zu lassen."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -102,18 +102,22 @@ msgstr "Erlaube Weiterleitung von <em>Quellzone</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Erlaube Weiterleitung zu <em>Zielzone</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Beliebig"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Automatische Helferzuordnung"
@@ -168,19 +172,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Zielport"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Ziel-Zone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Weiterleiten verwerfen"
@@ -222,13 +230,13 @@ msgstr "Ausgang nicht verfolgen"
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Aktivieren"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "NAT-Loopback aktivieren"
 
@@ -240,6 +248,7 @@ msgstr "Schutz vor SYN-flood-Attacken"
 msgid "Enable logging on this zone"
 msgstr "Protokollierung innerhalb der Zone aktivieren"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr "Erwarte: %s"
@@ -253,16 +262,16 @@ msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 "Wählt explizit zulässige Verbindungs-Tracking-Helfer für den Zonenverkehr aus"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Externe IP-Adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Zusätzliche Argumente"
@@ -291,11 +300,11 @@ msgstr "Firewall - Benutzerdefinierte Regeln"
 msgid "Firewall - NAT Rules"
 msgstr "Firewall - NAT Regeln"
 
-#: 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Portweiterleitungen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Traffic-Regeln"
 
@@ -308,11 +317,11 @@ msgstr "Firewall - Zoneneinstellungen"
 msgid "Forward"
 msgstr "Weitergeleitet"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Weiterleiten an"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Freitag"
@@ -348,8 +357,8 @@ msgstr "Von %s auf <var>dieses Gerät</var> mit Quelle %s und %s"
 msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
 msgstr "Von %{ipaddr?:beliebigen Hosts} %{port?mit Quell-%{port}}"
 
-#: 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/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -378,12 +387,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 und IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "nur IPv4"
@@ -392,25 +401,29 @@ msgstr "nur IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "nur IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Eingehend"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Interne IP-Adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Interner Port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Interne Zone"
 
@@ -418,6 +431,10 @@ msgstr "Interne Zone"
 msgid "Limit log messages"
 msgstr "Protokollnachrichten limitieren"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -440,8 +457,8 @@ msgstr "MSS Korrektur"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Filter"
@@ -451,13 +468,17 @@ msgid ""
 "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
 "with firewall mark %{mark}}"
 msgstr ""
-"Selektiere %{protocol?%{family}-%{protocol} Verkehr:jeglichen "
-"%{family}-Verkehr} %{mark?mit Firewall-Markierung %{mark}}"
+"Selektiere %{protocol?%{family}-%{protocol} Verkehr:jeglichen %{family}-"
+"Verkehr} %{mark?mit Firewall-Markierung %{mark}}"
 
-#: 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:288
 msgid "Match ICMP type"
 msgstr "Nach ICMP-Typ filtern"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 "Selektiert an die angegebene IP-Adresse gerichteten Verkehr."
@@ -465,7 +486,8 @@ msgstr "Selektiert an die angegebene IP-Adresse gerichteten Verkehr."
 #: 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 "Selektiert an den angegeben Port oder Port-Bereich gerichteten Verkehr."
+msgstr ""
+"Selektiert an den angegeben Port oder Port-Bereich gerichteten Verkehr."
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:214
 msgid "Match forwarded traffic from this IP or range."
@@ -479,7 +501,12 @@ msgstr ""
 "Selektiert weitergeleiteten Verkehr vom angegebenem Quellport oder "
 "Portbereich."
 
-#: 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -487,10 +514,17 @@ msgstr ""
 "Eingehende Verbindungen filtern welche an den angegebenen Port oder "
 "Portbereich auf dem lokalen Gerät gerichtet sind"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
 msgid "Match mark"
 msgstr "Erfasse Markierung"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -503,12 +537,12 @@ msgstr ""
 "Selektiert weitergeleiteten Verkehr welcher die angegebene "
 "Netzwerkschnittstelle benutzt."
 
-#: 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Monatstage"
@@ -526,9 +560,8 @@ msgstr ""
 "NAT-Regeln erlauben eine detaillierte Kontrolle über die verwendete Quell-IP-"
 "Adresse für ausgehenden oder weitergeleiteten Verkehr."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:201
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -538,19 +571,19 @@ msgstr "Name"
 msgid "Network"
 msgstr "Netzwerk"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Selektiert nur Traffic der an die angegebene IP-Adresse gerichtet ist."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Selektiert nur Traffic von den angegebenen MAC-Adressen."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Selektiert nur Traffic vom angebenem Quell-IP-Adressbereich."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -558,6 +591,7 @@ msgstr ""
 "Nur eingehenden Datenverkehr, der vom angegebenen Quellport oder Portbereich "
 "des Client-Host stammt, selektieren"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr "Ausgehende Schnittstelle"
@@ -571,8 +605,8 @@ msgstr "Ausgehende Zone"
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -594,12 +628,12 @@ msgstr ""
 "führen können, dass der Firewall-Regelsatz außer Funktion gesetzt wird und "
 "alle Dienste vollständig offengelegt werden."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Portweiterleitungen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -607,20 +641,20 @@ msgstr ""
 "Portweiterleitungen ermöglichen es entfernten Rechnern im Internet auf "
 "bestimmte Computer oder Dienste im lokalen LAN zuzugreifen."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Gefilterte Verbindungen an den angegeben Port auf dem internen Host "
 "weiterleiten"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Gefilterte Verbindungen an den angegeben internen Host weiterleiten"
 
@@ -649,7 +683,7 @@ msgstr "NAT auf die angegebenen Ziel-Subnetze beschränken"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "NAT auf die angegebenen Quell-Subnetze beschränken"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Beschränke auf Adressfamilie"
@@ -692,7 +726,7 @@ msgstr "Routing/NAT-Beschleunigung"
 msgid "SNAT - Rewrite to specific source IP or port"
 msgstr "SNAT - Umschreiben auf spezifische Quell-IP oder Port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Samstag"
@@ -705,52 +739,64 @@ msgstr "Softwarebasierte Auslagerung von Routing/NAT"
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Quell-IP-Adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Quell-MAC-Adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Quellport"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (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:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (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:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Sonntag"
@@ -797,17 +843,17 @@ msgstr ""
 "dieser Zone zu. <em>Covered networks</em> definiert welche der verfügbaren "
 "Netzwerke zu dieser Zone gehören."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Zeit ist UTC"
@@ -833,15 +879,19 @@ msgid ""
 "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
 "%{device?egress device %{device}}"
 msgstr ""
-"Zu %{ipaddr?:beliebigem Host} %{port?an %{port}} %{zone?über Zone %{zone}} %{"
-"device?ausgehende Schnittstelle %{device}}"
+"Zu %{ipaddr?:beliebigem Host} %{port?an %{port}} %{zone?über Zone %{zone}} "
+"%{device?ausgehende Schnittstelle %{device}}"
 
-#: 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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Traffic-Regeln"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -851,7 +901,7 @@ msgstr ""
 "zum Beispiel um Traffic zwischen bestimmten Rechnern zu unterbinden oder um "
 "WAN-Ports auf dem Router zu öffnen."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Dienstag"
@@ -860,18 +910,23 @@ msgstr "Dienstag"
 msgid "Unable to save contents: %s"
 msgstr "Inhalt kann nicht gespeichert werden: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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 "Unbenannte NAT-Regel"
 
-#: 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:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Unbenannte Portweiterleitung"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Unbennante Regel"
 
@@ -879,6 +934,14 @@ msgstr "Unbennante Regel"
 msgid "Unnamed zone"
 msgstr "Unbenannte Zone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -903,12 +966,12 @@ msgstr "Über %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Wochentage"
@@ -923,23 +986,26 @@ msgstr "Zonen"
 
 # Die richtige Übersetzung von ACCEPT im Firewallkontext ist nicht "Annehmen" sondern "Zulassen". Man kann ja keinen
 # ausgehenden Traffic annehmen. 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "zulassen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -948,7 +1014,7 @@ msgid "any"
 msgstr "beliebig"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -962,10 +1028,14 @@ msgstr "beliebige Router-IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "beliebige Zone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "Tag"
@@ -975,11 +1045,11 @@ msgstr "Tag"
 msgid "do not rewrite"
 msgstr "nicht umschreiben"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
 msgid "don't track"
 msgstr "nicht verfolgen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -1006,7 +1076,7 @@ msgstr "Port"
 msgid "ports"
 msgstr "Ports"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1030,6 +1100,11 @@ msgstr "Typ"
 msgid "types"
 msgstr "Typen"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr "gültige Firewall-Markierung"

+ 170 - 96
applications/luci-app-firewall/po/el/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -22,7 +22,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr "%s%s με %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -58,8 +58,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Ενέργεια"
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr "Οποιοδήποτε"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -156,19 +160,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr "Διεύθυνση προορισμού"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Θύρα προορισμού"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Ζώνη προορισμού"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -207,13 +215,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr "Αγνόηση μη-έγκυρων πακετών"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Ενεργοποίηση"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -226,6 +234,7 @@ msgstr "Προστασία SYN-flood"
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -238,16 +247,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Εξωτερική διεύθυνση IP"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr "Εξωτερική θύρα"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Επιπλέον παράμετροι"
@@ -276,11 +285,11 @@ msgstr "Τείχος προστασίας - Προσαρμοσμένοι Καν
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Τείχος προστασίας - Προώθηση Θυρών"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Τείχος προστασίας - Κανόνες Κίνησεις"
 
@@ -293,11 +302,11 @@ msgstr "Τείχος προστασίας - Ρυθμίσεις Ζώνης"
 msgid "Forward"
 msgstr "Προώθηση"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -333,8 +342,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -363,12 +372,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 και IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Μόνο IPv4"
@@ -377,27 +386,31 @@ msgstr "Μόνο IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Μόνο IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Είσοδος"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 #, fuzzy
 msgid "Internal IP address"
 msgstr "Εσωτερική διεύθυνση"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 #, fuzzy
 msgid "Internal port"
 msgstr "Εξωτερική θύρα"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Εσωτερική ζώνη"
 
@@ -405,6 +418,10 @@ msgstr "Εσωτερική ζώνη"
 msgid "Limit log messages"
 msgstr "Περιορισμός καταγραφών συστήματος"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -426,8 +443,8 @@ msgstr "Περιορισμός MSS"
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -438,10 +455,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -460,16 +481,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -478,12 +511,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -499,9 +532,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -511,24 +543,25 @@ msgstr "Όνομα"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -542,8 +575,8 @@ msgstr ""
 msgid "Output"
 msgstr "Έξοδος"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -557,29 +590,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Προώθηση Θυρών"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Πρωτόκολλο"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -607,7 +640,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -648,7 +681,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -661,55 +694,67 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 #, fuzzy
 msgid "Source IP address"
 msgstr "Διεύθυνση MAC πηγής"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 #, fuzzy
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Θύρα πηγής"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 #, fuzzy
 msgid "Source zone"
 msgstr "Θύρα πηγής"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -742,17 +787,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -779,19 +824,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -800,18 +849,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -819,6 +873,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -839,12 +901,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -857,23 +919,26 @@ msgstr ""
 msgid "Zones"
 msgstr "Ζώνες"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "αποδοχή"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -882,7 +947,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -896,10 +961,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -909,11 +978,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -940,7 +1009,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -964,6 +1033,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/en/firewall.po

@@ -11,7 +11,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -19,7 +19,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -55,8 +55,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Action"
@@ -74,8 +74,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -93,18 +93,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -153,19 +157,23 @@ msgstr ""
 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:373
 msgid "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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Destination port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Destination zone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -204,13 +212,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -222,6 +230,7 @@ msgstr "Enable SYN-flood protection"
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -234,16 +243,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -276,11 +285,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -293,11 +302,11 @@ msgstr ""
 msgid "Forward"
 msgstr "Forward"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -333,8 +342,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -363,12 +372,12 @@ msgid "IPv4"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -377,25 +386,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Input"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Internal IP address"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Internal port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -403,6 +416,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr ""
@@ -423,8 +440,8 @@ msgstr "MSS clamping"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -435,10 +452,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -457,7 +478,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -465,10 +491,17 @@ msgstr ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -477,12 +510,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -498,9 +531,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -510,24 +542,25 @@ msgstr "Name"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -541,8 +574,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -556,30 +589,30 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocol"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Redirect matched incoming traffic to the given port on the internal host"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Redirect matched incoming traffic to the specified internal host"
 
@@ -607,7 +640,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -648,7 +681,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -691,52 +724,64 @@ msgstr ""
 # msgid "Protocol"
 # 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Source IP address"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Source port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -769,17 +814,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -806,19 +851,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -827,18 +876,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -846,6 +900,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -866,12 +928,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -884,23 +946,26 @@ msgstr ""
 msgid "Zones"
 msgstr "Zones"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "accept"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -909,7 +974,7 @@ msgid "any"
 msgstr "any"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -923,10 +988,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -936,11 +1005,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -967,7 +1036,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -991,6 +1060,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 172 - 98
applications/luci-app-firewall/po/es/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10.2-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s en %s"
 
@@ -22,7 +22,7 @@ msgstr "%s en %s"
 msgid "%s%s with %s"
 msgstr "%s%s con %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s en %s"
 
@@ -59,8 +59,8 @@ msgstr "Aceptar entrada"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Acción"
@@ -84,8 +84,8 @@ msgstr ""
 "tráfico de origen de zona, p.e. <code>-p tcp --sport 443</code> para que "
 "solo coincida con el tráfico HTTPS entrante."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -103,18 +103,22 @@ msgstr "Permitir reenvío desde <em>zonas de origen</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permitir reenvío a <em>zonas de destino</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Cualquier día"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Asignación automática de ayuda"
@@ -169,19 +173,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Puerto de destino"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zona de destino"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Descartar reenvío"
@@ -223,13 +231,13 @@ msgstr "No seguir salida"
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Activar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Activar bucle NAT"
 
@@ -241,6 +249,7 @@ msgstr "Activar protección contra inundaciones SYN"
 msgid "Enable logging on this zone"
 msgstr "Activar registro en esta zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr "Esperando: %s"
@@ -255,16 +264,16 @@ msgstr ""
 "Elige explícitamente los ayudantes de seguimiento de conexión permitidos "
 "para el tráfico de zona"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Dirección IP externa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Argumentos extra"
@@ -293,11 +302,11 @@ msgstr "Firewall - Reglas personalizadas"
 msgid "Firewall - NAT Rules"
 msgstr "Firewall - Reglas de NAT"
 
-#: 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Reenvío de puertos"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Reglas de tráfico"
 
@@ -310,11 +319,11 @@ msgstr "Firewall - Configuración de la zona"
 msgid "Forward"
 msgstr "Reenviar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Reenviar a"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Viernes"
@@ -350,8 +359,8 @@ msgstr "De %s en <var>este dispositivo</var> con la fuente %s y %s"
 msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
 msgstr "Desde %{ipaddr?:cualquier host} %{puerto?con origen %{puerto}}"
 
-#: 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/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -380,12 +389,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 e IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Sólo IPv4"
@@ -394,25 +403,29 @@ msgstr "Sólo IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Sólo IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Entrada"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Dirección IP interna"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Puerto interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zona interna"
 
@@ -420,6 +433,10 @@ msgstr "Zona interna"
 msgid "Limit log messages"
 msgstr "Limitar registro de mensajes"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -440,8 +457,8 @@ msgstr "Fijado de MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Coincidir"
@@ -454,10 +471,14 @@ msgstr ""
 "Coincidir %{protocolo?%{familia} %{protocolo} tráfico:cualquiera %{familia} "
 "tráfico} %{marco?con marco de firewall %{marco}}"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:254
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:288
 msgid "Match ICMP type"
 msgstr "Coincidir con tipo ICMP"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 "Haga coincidir el tráfico reenviado dirigido a la dirección IP dada."
@@ -480,7 +501,12 @@ msgstr ""
 "Haga coincidir el tráfico reenviado que se origina en el puerto fuente o "
 "rango de puertos dados."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -488,10 +514,17 @@ msgstr ""
 "Coincidir con tráfico de entrada dirigido al puerto o rango de puertos "
 "destino en este host"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
 msgid "Match mark"
 msgstr "Marca de partido"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -504,12 +537,12 @@ msgstr ""
 "Coincide con el tráfico reenviado utilizando el dispositivo de red saliente "
 "especificado."
 
-#: 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Días del mes"
@@ -527,9 +560,8 @@ msgstr ""
 "Las reglas de NAT permiten un control detallado sobre la IP de origen para "
 "el tráfico saliente o reenviado."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:201
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -539,19 +571,19 @@ msgstr "Nombre"
 msgid "Network"
 msgstr "Red"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Coincidir sólo con tráfico de entrada a esta dirección IP."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Coincidir sólo con tráfico de entrada desde estas MACs."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Coincidir sólo con tráfico de entrada desde esta IP o rango."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -559,6 +591,7 @@ msgstr ""
 "Solo coincida con el tráfico entrante que se origina desde el puerto de "
 "origen o el rango de puertos en el host del cliente"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr "Dispositivo saliente"
@@ -572,8 +605,8 @@ msgstr "Zona de salida"
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Ingrese argumentos adicionales a iptables. ¡Utilícelo con cuidado!"
@@ -593,12 +626,12 @@ msgstr ""
 "conjunto de reglas del firewall se rompa, exponiendo completamente todos los "
 "servicios."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Reenvío de puertos"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -606,20 +639,20 @@ msgstr ""
 "El reenvío de puertos permite a ordenadores remotos en internet conectar a "
 "un ordenador o servicio específico en la LAN privada."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Redirigir el tráfico de entrada que coincida al puerto dado en el host "
 "interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 "Redirigir el tráfico de entrada que coincida al host interno especificado"
@@ -649,7 +682,7 @@ msgstr "Restringir enmascaramiento a las subredes destino"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Restringir enmascaramiento a las subredes origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Restringir a la familia de direcciones"
@@ -694,7 +727,7 @@ msgstr "Enrutamiento/NAT Offloading"
 msgid "SNAT - Rewrite to specific source IP or port"
 msgstr "SNAT - Reescribe a una fuente específica IP o puerto"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sábado"
@@ -707,52 +740,64 @@ msgstr "Descarga basada en software para enrutamiento/NAT"
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Dirección IP de origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Dirección MAC de origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Puerto de origen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Fecha de inicio (aaaa-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr "Hora de inicio (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Fecha de finalización (aaaa-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Hora de finalización (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Domingo"
@@ -798,17 +843,17 @@ msgstr ""
 "<em>Redes cubiertas</em> especifican qué redes disponibles son miembros de "
 "esta zona."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Tiempo en UTC"
@@ -834,15 +879,19 @@ msgid ""
 "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
 "%{device?egress device %{device}}"
 msgstr ""
-"A %{ipaddr?:cualquier destino} %{puerto?a %{puerto}} %{zona?via zona %{zona}}"
-" %{dispositivo?dispositivo de salida %{dispositivo}}"
+"A %{ipaddr?:cualquier destino} %{puerto?a %{puerto}} %{zona?via zona "
+"%{zona}} %{dispositivo?dispositivo de salida %{dispositivo}}"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Reglas de tráfico"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -852,7 +901,7 @@ msgstr ""
 "diferentes zonas, por ejemplo, para rechazar el tráfico entre ciertos hosts "
 "o para abrir puertos WAN en el enrutador."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Martes"
@@ -861,18 +910,23 @@ msgstr "Martes"
 msgid "Unable to save contents: %s"
 msgstr "No se puede guardar el contenido: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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 "NAT sin nombre"
 
-#: 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:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Reenvío sin nombre"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Regla sin nombre"
 
@@ -880,6 +934,14 @@ msgstr "Regla sin nombre"
 msgid "Unnamed zone"
 msgstr "Zona sin nombre"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -904,12 +966,12 @@ msgstr "Vía %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Días de la semana"
@@ -922,23 +984,26 @@ msgstr "Zona ⇒ Reenvíos"
 msgid "Zones"
 msgstr "Zonas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "Aceptar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -947,7 +1012,7 @@ msgid "any"
 msgstr "cualquiera"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -961,10 +1026,14 @@ msgstr "cualquier router IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "cualquier zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "Día"
@@ -974,11 +1043,11 @@ msgstr "Día"
 msgid "do not rewrite"
 msgstr "no reescribir"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
 msgid "don't track"
 msgstr "No seguir"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -1005,7 +1074,7 @@ msgstr "puerto"
 msgid "ports"
 msgstr "puertos"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1029,6 +1098,11 @@ msgstr "Tipo"
 msgid "types"
 msgstr "Tipos"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr "marca de firewall válida"

+ 170 - 96
applications/luci-app-firewall/po/fr/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.10.1\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s dans %s"
 
@@ -22,7 +22,7 @@ msgstr "%s dans %s"
 msgid "%s%s with %s"
 msgstr "%s%s avec %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s dans %s"
 
@@ -58,8 +58,8 @@ msgstr "Accepter l'entrée"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Action"
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr "Permettre la transmission des <em>zones source</em> :"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permettre la transmission vers les <em>zones destination</em> :"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "N'importe quel jour"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -162,19 +166,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Port de destination"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zone de destination"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -213,13 +221,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Activer"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Activer le NAT sur la boucle-locale"
 
@@ -231,6 +239,7 @@ msgstr "Activer la protection contre le SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Activer les traces (logs) sur cette zone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -243,16 +252,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Adresse IP externe"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Arguments supplémentaires"
@@ -285,11 +294,11 @@ msgstr "Pare-feu - Règles personnalisées"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Pare-feu - Redirections de ports"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Pare-feu - Règles de trafic"
 
@@ -302,11 +311,11 @@ msgstr "Pare-feu - Configuration des zones"
 msgid "Forward"
 msgstr "Transférer"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Transférer à"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Vendredi"
@@ -342,8 +351,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -372,12 +381,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 et IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "IPv4 seulement"
@@ -386,25 +395,29 @@ msgstr "IPv4 seulement"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "IPv6 seulement"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Entrée"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Adresse IP interne"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Port interne"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zone interne"
 
@@ -412,6 +425,10 @@ msgstr "Zone interne"
 msgid "Limit log messages"
 msgstr "Limiter les messages de journalisation"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -432,8 +449,8 @@ msgstr "Contrainte du MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -444,10 +461,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Type ICMP correspondant"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -466,7 +487,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -474,10 +500,17 @@ msgstr ""
 "Prendre en compte le trafic dirigé vers le port de destination donné (ou la "
 "gamme de ports) sur cet hôte"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -486,12 +519,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -507,9 +540,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -519,24 +551,25 @@ msgstr "Nom"
 msgid "Network"
 msgstr "Réseau"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Montrer seulement le trafic entrant provenant de ces adresses MAC."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -550,8 +583,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -567,12 +600,12 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Redirections de port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -580,20 +613,20 @@ msgstr ""
 "La redirection de port permet aux ordinateurs distants sur Internet, de se "
 "connecter à un ordinateur ou service spécifié dans le réseau local privé."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocole"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Rediriger le trafic entrant correspondant vers le port donné sur l'hôte "
 "interne"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Rediriger le trafic entrant correspondant vers l'hôte interne spécifié"
 
@@ -625,7 +658,7 @@ msgstr ""
 "Restreindre la substitution d'adresses (Masquerade) à ces sous-réseaux "
 "sources"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Restreindre à cette famille d'adresses"
@@ -666,7 +699,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Samedi"
@@ -709,52 +742,64 @@ msgstr ""
 # msgid "Protocol"
 # 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Adresse IP source"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Adresse MAC source"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Port source"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Dimanche"
@@ -801,17 +846,17 @@ msgstr ""
 "cette zone. Les <em>réseaux couverts</em> indiquent quels réseaux "
 "disponibles sont membre de cette zone."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Heure en UTC"
@@ -838,12 +883,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Règles de trafic"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -853,7 +902,7 @@ msgstr ""
 "entre différentes zones, par exemple pour rejeter le trafic entre certains "
 "hôtes ou pour ouvrir des ports WAN sur le routeur."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Mardi"
@@ -862,18 +911,23 @@ msgstr "Mardi"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -881,6 +935,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -903,12 +965,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -921,23 +983,26 @@ msgstr "Zone ⇒ Transmissions"
 msgid "Zones"
 msgstr "Zones"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "accepter"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -946,7 +1011,7 @@ msgid "any"
 msgstr "tous"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -960,10 +1025,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "n'importe quelle zone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "journée"
@@ -973,11 +1042,11 @@ msgstr "journée"
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -1004,7 +1073,7 @@ msgstr "port"
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1028,6 +1097,11 @@ msgstr "type"
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/he/firewall.po

@@ -8,7 +8,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -16,7 +16,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -52,8 +52,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr ""
@@ -71,8 +71,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -90,18 +90,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -150,19 +154,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -201,13 +209,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -219,6 +227,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -231,16 +240,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -269,11 +278,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -286,11 +295,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -326,8 +335,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -356,12 +365,12 @@ msgid "IPv4"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -370,25 +379,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -396,6 +409,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr ""
@@ -416,8 +433,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -428,10 +445,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -450,16 +471,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -468,12 +501,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -489,9 +522,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -501,24 +533,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -532,8 +565,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -547,29 +580,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -597,7 +630,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -638,7 +671,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -651,52 +684,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -727,17 +772,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -764,19 +809,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -785,18 +834,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -804,6 +858,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -824,12 +886,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -842,23 +904,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -867,7 +932,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -881,10 +946,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -894,11 +963,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -925,7 +994,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -949,6 +1018,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/hi/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -22,7 +22,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -58,8 +58,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr ""
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -156,19 +160,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -207,13 +215,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -225,6 +233,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -237,16 +246,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -279,11 +288,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -296,11 +305,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -336,8 +345,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -366,12 +375,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -380,25 +389,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -406,6 +419,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -426,8 +443,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -438,10 +455,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -460,16 +481,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -478,12 +511,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -499,9 +532,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -511,24 +543,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -542,8 +575,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -557,29 +590,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -607,7 +640,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -648,7 +681,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -691,52 +724,64 @@ msgstr ""
 # msgid "Protocol"
 # 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -767,17 +812,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -804,19 +849,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -825,18 +874,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -844,6 +898,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -864,12 +926,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -882,23 +944,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -907,7 +972,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -921,10 +986,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -934,11 +1003,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -965,7 +1034,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -989,6 +1058,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/hu/firewall.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s ebben: %s"
 
@@ -20,7 +20,7 @@ msgstr "%s ebben: %s"
 msgid "%s%s with %s"
 msgstr "%s%s ezzel: %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s ebben: %s"
 
@@ -56,8 +56,8 @@ msgstr "Bemenet elfogadása"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Művelet"
@@ -81,8 +81,8 @@ msgstr ""
 "besorolásához, például <code>-p tcp --sport 443</code> csak a bejövő HTTPS "
 "forgalom illesztéséhez."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -100,18 +100,22 @@ msgstr "Továbbítás engedélyezése a <em>forrászónákból</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Továbbítás engedélyezése ezekbe a <em>célzónákba</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Bármely nap"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Automatikus segítő hozzárendelés"
@@ -166,19 +170,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Célport"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Célzóna"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Továbbítás elvetése"
@@ -219,13 +227,13 @@ msgstr "Ne kövesse a kimenetet"
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Engedélyezés"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "NAT visszacsatolás engedélyezése"
 
@@ -237,6 +245,7 @@ msgstr "SYN-elárasztás elleni védelem engedélyezése"
 msgid "Enable logging on this zone"
 msgstr "Naplózás engedélyezése ezen a zónán"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -251,16 +260,16 @@ msgstr ""
 "Határozottan kiválasztja az engedélyezett kapcsolatkövető segítőket a "
 "zónaforgalomhoz"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Külső IP-cím"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "További argumentumok"
@@ -289,11 +298,11 @@ msgstr "Tűzfal – egyéni szabályok"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Tűzfal – porttovábbítások"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Tűzfal – forgalmi szabályok"
 
@@ -306,11 +315,11 @@ msgstr "Tűzfal – Zóna beállításai"
 msgid "Forward"
 msgstr "Továbbítás"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Továbbítás ide"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Péntek"
@@ -347,8 +356,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -377,12 +386,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 és IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Csak IPv4"
@@ -391,25 +400,29 @@ msgstr "Csak IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Csak IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Bemenet"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Belső IP-cím"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Belső port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Belső zóna"
 
@@ -417,6 +430,10 @@ msgstr "Belső zóna"
 msgid "Limit log messages"
 msgstr "Naplóüzenetek korlátozása"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -437,8 +454,8 @@ msgstr "MSS összefogás"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Illesztés"
@@ -449,10 +466,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "ICMP-típus illesztése"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -471,7 +492,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -479,10 +505,17 @@ msgstr ""
 "Az ezen a gépen lévő megadott célportra vagy porttartományra irányított "
 "bejövő forgalom illesztése"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -491,12 +524,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Hónap napjai"
@@ -512,9 +545,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -524,20 +556,20 @@ msgstr "Név"
 msgid "Network"
 msgstr "Hálózat"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Csak a megadott IP-címre irányított bejövő forgalom illesztése."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Csak ezekről a MAC-ekről érkező bejövő forgalom illesztése."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 "Csak erről az IP-ről vagy tartományból érkező bejövő forgalom illesztése."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -545,6 +577,7 @@ msgstr ""
 "Csak az ügyfélgépen lévő megadott forrásportról vagy porttartományából eredő "
 "bejövő forgalom illesztése"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -558,8 +591,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -581,12 +614,12 @@ msgstr ""
 "tönkre tehetik a tűzfalszabálykészleteket, ezáltal teljesen feltárva az "
 "összes szolgáltatást."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Porttovábbítások"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -595,18 +628,18 @@ msgstr ""
 "személyes helyi hálózat bizonyos számítógépéhez vagy szolgáltatásához "
 "történő csatlakozását."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr "Egyező bejövő forgalom átirányítása a belső gép megadott portjára"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Egyező bejövő forgalom átirányítása a megadott belső gépre"
 
@@ -634,7 +667,7 @@ msgstr "Álcázás korlátozása a megadott célalhálózatokra"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Álcázás korlátozása a megadott forrás alhálózatokra"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Korlátozás címcsaládra"
@@ -675,7 +708,7 @@ msgstr "Útválasztás vagy NAT kiürítés"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Szombat"
@@ -688,52 +721,64 @@ msgstr "Szoftver alapú kiürítés az útválasztásnál vagy NAT-nál"
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Forrás IP-cím"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Forrás MAC-cím"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Forrásport"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Kezdés dátuma (ÉÉÉÉ-HH-NN)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 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:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Leállítás dátuma (ÉÉÉÉ-HH-NN)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Leállítás ideje (ÓÓ.PP.MM)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Vasárnap"
@@ -779,17 +824,17 @@ msgstr ""
 "belül. A <em>lefedett hálózatok</em> adják meg, hogy mely elérhető hálózatok "
 "tagjai ennek a zónának."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Idő UTC szerint"
@@ -816,12 +861,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Forgalmi szabályok"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -831,7 +880,7 @@ msgstr ""
 "szabályokat határozzák meg, például bizonyos gépek közötti forgalom "
 "visszautasításához vagy WAN portok megnyitásához az útválasztón."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Kedd"
@@ -840,18 +889,23 @@ msgstr "Kedd"
 msgid "Unable to save contents: %s"
 msgstr "Nem lehet elmenteni a tartalmat: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Névtelen továbbítás"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Névtelen szabály"
 
@@ -859,6 +913,14 @@ msgstr "Névtelen szabály"
 msgid "Unnamed zone"
 msgstr "Névtelen zóna"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -883,12 +945,12 @@ msgstr "Ezen keresztül: %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Hétköznapok"
@@ -901,23 +963,26 @@ msgstr "Zóna ⇒ Továbbítások"
 msgid "Zones"
 msgstr "Zónák"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "elfogadás"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -926,7 +991,7 @@ msgid "any"
 msgstr "bármely"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -940,10 +1005,14 @@ msgstr "bármely útválasztó IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "bármely zóna"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "nap"
@@ -953,11 +1022,11 @@ msgstr "nap"
 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:394
 msgid "don't track"
 msgstr "ne kövessen"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -984,7 +1053,7 @@ msgstr "port"
 msgid "ports"
 msgstr "portok"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1008,6 +1077,11 @@ msgstr "típus"
 msgid "types"
 msgstr "típusok"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/it/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10.1\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -22,7 +22,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr "%s%s con %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -58,8 +58,8 @@ msgstr "Accetta input"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Azione"
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr "Permetti routing da <em>zone di origine</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permetti rounting a <em>zone di destinazione</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Qualsiasi giorno"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -160,19 +164,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Porta di destinazione"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zona di destinazione"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -211,13 +219,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Attiva"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Attiva NAT Loopback"
 
@@ -229,6 +237,7 @@ msgstr "Attiva protezione SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Attiva registro su questa zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -241,16 +250,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Indirizzo IP Esterno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Comandi extra"
@@ -279,11 +288,11 @@ msgstr "Firewall - Regole Personalizzate"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Inoltro Porte"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Regole Traffico"
 
@@ -296,11 +305,11 @@ msgstr "Firewall - Opzioni delle Zone"
 msgid "Forward"
 msgstr "Inoltra"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Inoltra a"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Venerdì"
@@ -336,8 +345,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -366,12 +375,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 e IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Solo IPv4"
@@ -380,25 +389,29 @@ msgstr "Solo IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Solo IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Ingresso"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Indirizzo IP interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Porta interna"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zona Interna"
 
@@ -406,6 +419,10 @@ msgstr "Zona Interna"
 msgid "Limit log messages"
 msgstr "Limita messaggi del registro"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -426,8 +443,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Corrispondenza"
@@ -438,10 +455,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Corrispondenza tipo ICMP"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -460,7 +481,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -468,10 +494,17 @@ msgstr ""
 "Corrispondi traffico in entrata diretto alla porta o intervallo di porte "
 "dato su questo host"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -480,12 +513,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Giorni del Mese"
@@ -501,9 +534,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -513,19 +545,19 @@ msgstr "Nome"
 msgid "Network"
 msgstr "Rete"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Corrispondi solo traffico in entrata diretto al dato indirizzo IP."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Corrispondi solo traffico in entrata da questi MAC."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Corrispondi solo traffico in entrata da questo IP o intervallo."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -533,6 +565,7 @@ msgstr ""
 "Corrispondi solo traffico in entrata originato dalla porta o intervallo di "
 "porte sorgenti su host cliente"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -546,8 +579,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa comandi addizionali a iptables. Usare con cura!"
@@ -561,12 +594,12 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Inoltri Porta"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -574,18 +607,18 @@ msgstr ""
 "L'inoltro delle porte permette ai computer in remoto su Internet di "
 "connettersi a uno specifico computer o servizio presente nella LAN privata"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocollo"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr "Reindirizza il traffico in entrata alla porta data su host interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Reindirizza il traffico in entrata allo specifico host interno"
 
@@ -613,7 +646,7 @@ msgstr "Limita il Masquerading alle subnet di destinazione date"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Limita il Masquerading alle subnet sorgente date"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Limita agli indirizzi famiglia"
@@ -654,7 +687,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sabato"
@@ -688,52 +721,64 @@ msgstr ""
 # msgstr ""
 # msgid "Protocol"
 # 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Indirizzo IP di origine"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Indirizzo MAC di origine"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Porta di origine"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Data di Inizio (yyyy-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Data di Stop (yyyy-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Domenica"
@@ -779,17 +824,17 @@ msgstr ""
 "differenti nella zona. Le <em>reti coperte</em> specificano quali reti "
 "disponibili sono membri di questa zona."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Orario in UTC"
@@ -816,12 +861,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Regole di Traffico"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -831,7 +880,7 @@ msgstr ""
 "tra zone differenti, per esempio per rifiutare il traffico tra certi host o "
 "per aprire porte WAN sul router."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Martedì"
@@ -840,18 +889,23 @@ msgstr "Martedì"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Regola senza nome"
 
@@ -859,6 +913,14 @@ msgstr "Regola senza nome"
 msgid "Unnamed zone"
 msgstr "Zona senza nome"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -879,12 +941,12 @@ msgstr ""
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Giorni della Settimana"
@@ -897,23 +959,26 @@ msgstr "Zona ⇒ Inoltri"
 msgid "Zones"
 msgstr "Zone"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "accetta"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -922,7 +987,7 @@ msgid "any"
 msgstr "qualsiasi"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -936,10 +1001,14 @@ msgstr "qualsiasi router IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "qualsiasi zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "giorno"
@@ -949,11 +1018,11 @@ msgstr "giorno"
 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:394
 msgid "don't track"
 msgstr "non tracciare"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -980,7 +1049,7 @@ msgstr ""
 msgid "ports"
 msgstr "porti"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1004,6 +1073,11 @@ msgstr ""
 msgid "types"
 msgstr "tipi"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/ja/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s (%s)"
 
@@ -22,7 +22,7 @@ msgstr "%s (%s)"
 msgid "%s%s with %s"
 msgstr "%s%s ,%s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s (%s)"
 
@@ -59,8 +59,8 @@ msgstr "入力を許可"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "動作"
@@ -84,8 +84,8 @@ msgstr ""
 "em> 引数です。(例: HTTPS 受信トラフィックのみにマッチさせる <code>-p tcp --"
 "sport 443</code>)"
 
-#: 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/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -103,18 +103,22 @@ msgstr "<em>送信元ゾーン</em>からの転送を許可する:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "<em>宛先ゾーン</em>への転送を許可する:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr "全て"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "全日"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "自動ヘルパー割り当て"
@@ -169,19 +173,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr "宛先アドレス"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "宛先ポート"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "宛先ゾーン"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "転送を破棄"
@@ -223,13 +231,13 @@ msgstr "出力を追跡しない"
 msgid "Drop invalid packets"
 msgstr "無効なパケットを遮断する"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "有効"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "NATループバックを有効にする"
 
@@ -241,6 +249,7 @@ msgstr "SYN-Floodプロテクションを有効にする"
 msgid "Enable logging on this zone"
 msgstr "このゾーンのログ記録を有効にする"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -253,16 +262,16 @@ msgstr "実験的な機能です。 QoS/SQM との完全な互換性はありま
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr "ゾーン トラフィックのコネクション追跡ヘルパーを明示的に選択します。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "外部IPアドレス"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr "外部ポート"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "追加の引数"
@@ -291,11 +300,11 @@ msgstr "ファイアウォール - 手動設定ルール"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "ファイアウォール - ポートフォワーディング"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "ファイアウォール - トラフィック・ルール"
 
@@ -308,11 +317,11 @@ msgstr "ファイアウォール - ゾーン設定"
 msgid "Forward"
 msgstr "転送"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "転送先"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "金曜日"
@@ -348,8 +357,8 @@ msgstr "送信元 %s, %s, %s (<var>デバイス</var>)"
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -378,12 +387,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4及びIPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "IPv4のみ"
@@ -392,25 +401,29 @@ msgstr "IPv4のみ"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "IPv6のみ"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "受信"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "内部IPアドレス"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "内部ポート"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "内部ゾーン"
 
@@ -418,6 +431,10 @@ msgstr "内部ゾーン"
 msgid "Limit log messages"
 msgstr "ログメッセージを制限"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -438,8 +455,8 @@ msgstr "MSSクランプ"
 msgid "Masquerading"
 msgstr "マスカレード"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "対象"
@@ -450,10 +467,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "ICMPタイプの一致"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -472,7 +493,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -480,10 +506,17 @@ msgstr ""
 "設定された宛先ポート(またはポート範囲)に一致した受信トラフィックが対象になり"
 "ます"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -492,12 +525,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr "月曜日"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "月間"
@@ -513,9 +546,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -525,21 +557,21 @@ msgstr "名前"
 msgid "Network"
 msgstr "ネットワーク"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "設定された宛先IPアドレスと一致した受信トラフィックが対象になります。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "設定されたMACアドレスと一致した受信したトラフィックが対象になります。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 "設定されたIPアドレス (または範囲) と一致した受信したトラフィックが対象になり"
 "ます。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -547,6 +579,7 @@ msgstr ""
 "設定されたクライアントホストの送信元ポート(またはポート範囲)からの受信トラ"
 "フィックと一致したトラフィックのみを対象にします。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -560,8 +593,8 @@ msgstr ""
 msgid "Output"
 msgstr "送信"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -582,12 +615,12 @@ msgstr ""
 "し、全サービスを外部に晒す恐れがあることに、特段の注意を払い使用されなければ"
 "なりません。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "ポートフォワーディング"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -596,19 +629,19 @@ msgstr ""
 "ベートなネットワーク上の、特定のコンピュータやサービスへのアクセスを可能にし"
 "ます。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "プロトコル"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "ルールに一致した受信トラフィックを、内部ホストの設定されたポートへ転送します"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "ルールに一致した受信トラフィックを、設定された内部ホストへ転送します"
 
@@ -637,7 +670,7 @@ msgstr "設定された宛先サブネットへのマスカレードを制限す
 msgid "Restrict Masquerading to given source subnets"
 msgstr "設定された送信元サブネットへのマスカレードを制限する"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "アドレスファミリの制限"
@@ -678,7 +711,7 @@ msgstr "ルーティング/NAT オフロード"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "土曜日"
@@ -691,52 +724,64 @@ msgstr "ルーティング/NAT のための、ソフトウェアベースのオ
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "送信元IPアドレス"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "送信元MACアドレス"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr "送信元アドレス"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "送信元ポート"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr "送信元ゾーン"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (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:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (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:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "日曜日"
@@ -780,17 +825,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:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr "木曜日"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr "時間制限"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "UTC時刻を使用"
@@ -817,12 +862,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "トラフィック・ルール"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -832,7 +881,7 @@ msgstr ""
 "します。例えば、特定のホスト間や、ルーターのWANポートへのトラフィックの拒否を"
 "設定することができます。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "火曜日"
@@ -841,18 +890,23 @@ msgstr "火曜日"
 msgid "Unable to save contents: %s"
 msgstr "内容を保存できません: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "名称未設定の転送"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "名称未設定のルール"
 
@@ -860,6 +914,14 @@ msgstr "名称未設定のルール"
 msgid "Unnamed zone"
 msgstr "名称未設定のゾーン"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -884,12 +946,12 @@ msgstr "経由 %s"
 msgid "Via %s at %s"
 msgstr "経由 %s , %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr "水曜日"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "曜日"
@@ -902,23 +964,26 @@ msgstr "ゾーン ⇒ 転送"
 msgid "Zones"
 msgstr "ゾーン"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "許可"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -927,7 +992,7 @@ msgid "any"
 msgstr "全て"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -941,10 +1006,14 @@ msgstr "全てのルーターIP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "全てのゾーン"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "日"
@@ -954,11 +1023,11 @@ msgstr "日"
 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:394
 msgid "don't track"
 msgstr "コネクション追跡を行わない"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -985,7 +1054,7 @@ msgstr "ポート"
 msgid "ports"
 msgstr "ポート"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1009,6 +1078,11 @@ msgstr "タイプ"
 msgid "types"
 msgstr "タイプ"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/ko/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -22,7 +22,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr "%s%s ,%s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -58,8 +58,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr ""
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr "<em>Source zone</em> 로부터의 forward 허용:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "<em>Destination zone</em> 으로 forward 허용:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -159,19 +163,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -210,13 +218,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "활성화"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "NAT Loopback 활성화"
 
@@ -228,6 +236,7 @@ msgstr "SYN-flood protection 활성화"
 msgid "Enable logging on this zone"
 msgstr "zone 의 logging 활성화"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -240,16 +249,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "외부 IP 주소"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "추가 argument"
@@ -278,11 +287,11 @@ msgstr "방화벽 - Custom Rules"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "방화벽 - Port Forwards"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "방화벽 - Traffic Rules"
 
@@ -295,11 +304,11 @@ msgstr "방화벽 - Zone 설정"
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "금요일"
@@ -335,8 +344,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -365,12 +374,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -379,25 +388,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "내부 IP 주소"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "내부 port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "내부 zone"
 
@@ -405,6 +418,10 @@ msgstr "내부 zone"
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -425,8 +442,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -437,10 +454,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -459,16 +480,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -477,12 +510,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr "월요일"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -498,9 +531,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -510,24 +542,25 @@ msgstr "이름"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -541,8 +574,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "iptables 명령에 추가 인자들을 더합니다.  조심해 사용하세요!"
@@ -556,12 +589,12 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Port Forward"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -569,18 +602,18 @@ msgstr ""
 "Port forwarding 기능은 인터넷 상의 원격 컴퓨터가 내부 LAN 에 속한 특정 컴퓨터"
 "나 서비스에 접속할 수 있도록 합니다."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -608,7 +641,7 @@ msgstr "주어진 destination subnet 으로 Masquerading 제한"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "주어진 source subnet 으로 Masquerading 제한"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Address family 제한"
@@ -649,7 +682,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "토요일"
@@ -662,52 +695,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Source IP 주소"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Source MAC 주소"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "일요일"
@@ -752,17 +797,17 @@ msgstr ""
 "를 오가는 forward traffic 에 대한 정책을 뜻합니다. <em>Covered networks</em> "
 "에서는 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:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr "목요일"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "UTC 기준시"
@@ -789,12 +834,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Traffic Rule"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -804,7 +853,7 @@ msgstr ""
 "다. 예를 들어 특정 host 들 사이의 트래픽을 차단하거나 공유기의 WAN port 를 "
 "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:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "화요일"
@@ -813,18 +862,23 @@ msgstr "화요일"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -832,6 +886,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -852,12 +914,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr "수요일"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "주일"
@@ -870,23 +932,26 @@ msgstr ""
 msgid "Zones"
 msgstr "Zone 내역"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -895,7 +960,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -909,10 +974,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -922,11 +991,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -953,7 +1022,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -977,6 +1046,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/mr/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -22,7 +22,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -58,8 +58,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr ""
@@ -77,8 +77,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -96,18 +96,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -156,19 +160,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -207,13 +215,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "सक्षम करा"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -225,6 +233,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -237,16 +246,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -279,11 +288,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -296,11 +305,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -336,8 +345,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -366,12 +375,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 आणि IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "केवळ IPv4"
@@ -380,25 +389,29 @@ msgstr "केवळ IPv4"
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "केवळ IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -406,6 +419,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -426,8 +443,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -438,10 +455,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -460,16 +481,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -478,12 +511,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -499,9 +532,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -511,24 +543,25 @@ msgstr "नाव"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -542,8 +575,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -557,29 +590,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "प्रोटोकॉल"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -607,7 +640,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -648,7 +681,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -691,52 +724,64 @@ msgstr ""
 # msgid "Protocol"
 # 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -767,17 +812,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -804,19 +849,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -825,18 +874,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -844,6 +898,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -864,12 +926,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -882,23 +944,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -907,7 +972,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -921,10 +986,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -934,11 +1003,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -965,7 +1034,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -989,6 +1058,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/ms/firewall.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -20,7 +20,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -56,8 +56,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Tindakan"
@@ -75,8 +75,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -94,18 +94,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -154,19 +158,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -205,13 +213,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -223,6 +231,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -235,16 +244,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -273,11 +282,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -290,11 +299,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -330,8 +339,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -360,12 +369,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -374,25 +383,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -400,6 +413,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -420,8 +437,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -432,10 +449,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -454,16 +475,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -472,12 +505,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -493,9 +526,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -505,24 +537,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -536,8 +569,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -551,29 +584,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -601,7 +634,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -642,7 +675,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -655,52 +688,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -731,17 +776,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -768,19 +813,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -789,18 +838,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -808,6 +862,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -828,12 +890,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -846,23 +908,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -871,7 +936,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -885,10 +950,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -898,11 +967,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -929,7 +998,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -953,6 +1022,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/no/firewall.po

@@ -10,7 +10,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s i %s"
 
@@ -18,7 +18,7 @@ msgstr "%s i %s"
 msgid "%s%s with %s"
 msgstr "%s%s med %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s i %s"
 
@@ -54,8 +54,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Handling"
@@ -73,8 +73,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -92,18 +92,22 @@ msgstr "Tillat videresending fra <em>kilde soner</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Tillat videresending til <em>destinasjon soner</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -155,19 +159,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Destinasjon port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Destinasjon sone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -206,13 +214,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Aktiver"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Aktiver NAT <abbr title=\"Loopback\">Tilbakekobling</abbr>"
 
@@ -224,6 +232,7 @@ msgstr "Aktiver SYN-flood beskyttelse"
 msgid "Enable logging on this zone"
 msgstr "Aktiver logging av denne sonen"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -236,16 +245,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Ekstern IP adressse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Ekstra argumenter"
@@ -274,11 +283,11 @@ msgstr "Brannmur - Egendefinerte Regler"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Brannmur - Port Videresending"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Brannmur - Trafikk Regler"
 
@@ -291,11 +300,11 @@ msgstr "Brannmur - Sone Innstillinger"
 msgid "Forward"
 msgstr "Videresend"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Videresend til"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -331,8 +340,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -361,12 +370,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 og IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Kun IPv4"
@@ -375,25 +384,29 @@ msgstr "Kun IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Kun IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Inndata"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Intern IP adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Intern port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Intern sone"
 
@@ -401,6 +414,10 @@ msgstr "Intern sone"
 msgid "Limit log messages"
 msgstr "Begrens logging"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -421,8 +438,8 @@ msgstr "MSS Kontroll (Clamping)"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Match"
@@ -433,10 +450,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Match ICMP type"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -455,7 +476,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -463,10 +489,17 @@ msgstr ""
 "Match innkommende trafikk rettet mot den oppgitte destinasjonsport eller "
 "portområdet på denne verten"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -475,12 +508,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -496,9 +529,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -508,19 +540,19 @@ msgstr "Navn"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Match kun innkommende trafikk rettet mot den oppgitt IP adresse."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Match kun innkommende trafikk fra disse MAC adresser."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Match kun innkommende trafikk fra denne IP eller IP område."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -528,6 +560,7 @@ msgstr ""
 "Match kun innkommende trafikk som kommer fra den oppgitte kildeport eller "
 "fra portområdet til klienten"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -541,8 +574,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Sender flere argumenter til iptables. Bruk med forsiktighet!"
@@ -556,12 +589,12 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Port Videresendinger"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -569,20 +602,20 @@ msgstr ""
 "Port videresending tillater at eksterne datamaskiner på Internett kan koble "
 "seg til en bestemt maskin eller tjeneste innenfor det private LAN."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Viderekoble matchet innkommende trafikk til den oppgitte porten på intern "
 "vert"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Viderekoble matchet innkommende trafikk til den angitte interne vert"
 
@@ -610,7 +643,7 @@ msgstr "Begrens Masquerading til oppgitt destinasjons subnett"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Begrens Masqeuerading til oppgitt kilde subnett"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Begrens til adresse familie"
@@ -651,7 +684,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -664,52 +697,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Kilde IP adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Kilde MAC adresse"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Kilde port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -755,17 +800,17 @@ msgstr ""
 "spesifiserer hvilken av de tilgjengelige nettverk som er medlem av denne "
 "sone."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -792,12 +837,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Trafikk Regler"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -807,7 +856,7 @@ msgstr ""
 "for eksempel for å avvise trafikk mellom visse verter eller for å åpne WAN "
 "porter på ruteren."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -816,18 +865,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -835,6 +889,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -855,12 +917,12 @@ msgstr "Via %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -873,23 +935,26 @@ msgstr "Sone = Videresendinger"
 msgid "Zones"
 msgstr "Soner"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "godta"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -898,7 +963,7 @@ msgid "any"
 msgstr "enhver"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -912,10 +977,14 @@ msgstr "enhver ruter IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "enhver sone"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -925,11 +994,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr "ikke track"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -956,7 +1025,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -980,6 +1049,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 174 - 100
applications/luci-app-firewall/po/pl/firewall.po

@@ -15,7 +15,7 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10.2-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s w %s"
 
@@ -23,7 +23,7 @@ msgstr "%s w %s"
 msgid "%s%s with %s"
 msgstr "%s%s z %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s w %s"
 
@@ -60,8 +60,8 @@ msgstr "Zaakceptuj wejście"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Akcja"
@@ -85,8 +85,8 @@ msgstr ""
 "docelowej, np. <code>-p tcp --sport 443</code> tylko w celu dopasowania "
 "ruchu przychodzącego HTTPS."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -104,18 +104,22 @@ msgstr "Zezwól na przekazywanie z <em>strefy źródłowej</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Zezwól na przekazywanie do <em>strefy docelowej</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Każdy dzień"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Automatyczne przydzielanie pomocy"
@@ -169,19 +173,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Port docelowy"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Strefa docelowa"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Odrzuć przekazywanie"
@@ -223,13 +231,13 @@ msgstr "Nie śledź wyjścia"
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Włącz"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Włącz NAT Loopback"
 
@@ -241,6 +249,7 @@ msgstr "Włącz ochronę SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Włącz logowanie tej strefy"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr "Zaleca się użyć: %s"
@@ -254,16 +263,16 @@ msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 "Dokładnie wybiera dozwolone pomoce śledzenia połączeń dla ruchu strefowego"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Zewnętrzne adresy IP"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Dodatkowe argumenty"
@@ -295,11 +304,11 @@ msgstr "Zapora sieciowa - Reguły własne"
 msgid "Firewall - NAT Rules"
 msgstr "Zapora sieciowa - zasady NAT"
 
-#: 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Zapora sieciowa - Przekazywane porty"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Zapora sieciowa - Reguły ruchu"
 
@@ -312,11 +321,11 @@ msgstr "Zapora sieciowa - Ustawienia strefy"
 msgid "Forward"
 msgstr "Przekazuj"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Przekazuj do"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Piątek"
@@ -352,8 +361,8 @@ msgstr "Z %s na <var>to urządzenie</var> ze źródłem %s oraz %s"
 msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
 msgstr "Z %{ipaddr?:any host} %{port?with source %{port}}"
 
-#: 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/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -382,12 +391,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 i IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Tylko IPv4"
@@ -396,25 +405,29 @@ msgstr "Tylko IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Tylko IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Ruch przychodzący"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Wewnętrzny adres IP"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Port wewnętrzny"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Strefa wewnętrzna"
 
@@ -422,6 +435,10 @@ msgstr "Strefa wewnętrzna"
 msgid "Limit log messages"
 msgstr "Ograniczenie logowania"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -442,8 +459,8 @@ msgstr "Dostosuj MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Dopasuj"
@@ -453,13 +470,17 @@ msgid ""
 "Match %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{mark?"
 "with firewall mark %{mark}}"
 msgstr ""
-"Dopasuj %{protocol?%{family} %{protocol} traffic:any %{family} traffic} %{"
-"mark?with firewall mark %{mark}}"
+"Dopasuj %{protocol?%{family} %{protocol} traffic:any %{family} traffic} "
+"%{mark?with firewall mark %{mark}}"
 
-#: 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:288
 msgid "Match ICMP type"
 msgstr "Dopasuj typ ICMP"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 "Dopasuj przesyłany ruch skierowany na podany adres IP."
@@ -481,7 +502,12 @@ msgstr ""
 "Dopasuj przesyłany ruch pochodzący z danego portu źródłowego lub zakresu "
 "portów."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -489,10 +515,17 @@ msgstr ""
 "Dopasuj ruch przychodzący do danego portu docelowego lub zakresu portów na "
 "tym hoście"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:315
 msgid "Match mark"
 msgstr "Znak dopasowania"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 "Odpowiada konkretnemu znakowi zapory lub zakresowi różnych znaków."
@@ -503,12 +536,12 @@ msgstr ""
 "Dopasowuje przesyłany ruch przy użyciu określonego wychodzącego urządzenia "
 "sieciowego."
 
-#: 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Dni miesiąca"
@@ -526,9 +559,8 @@ msgstr ""
 "Reguły NAT umożliwiają precyzyjną kontrolę źródłowego adresu IP w celu "
 "użycia ruchu wychodzącego lub przekazywanego."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:201
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -538,19 +570,19 @@ msgstr "Nazwa"
 msgid "Network"
 msgstr "Sieć"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Dopasuj tylko przychodzący ruch skierowany do danego adresu IP."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Dopasuj tylko ruch z tych adresów MAC."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Dopasuj tylko ruch przychodzący z tego adresu IP lub zakresu adresów."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -558,6 +590,7 @@ msgstr ""
 "Dopasuj tylko ruch przychodzący z podanego portu źródłowego lub zakresu "
 "portów na hoście klienta"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr "Urządzenie wychodzące"
@@ -571,8 +604,8 @@ msgstr "Strefa wychodząca"
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -593,12 +626,12 @@ msgstr ""
 "złamanie zestawu reguł zapory sieciowej, całkowicie odsłaniając wszystkie "
 "usługi."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Przekazywanie portów"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -606,20 +639,20 @@ msgstr ""
 "Przekazanie portów pozwala komputerom z internetu na połączenia z "
 "komputerami z sieci LAN."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protokół"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Przekieruj ruch przychodzący na podany port do wskazanego hosta w sieci "
 "wewnętrznej"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Przekieruj ruch przychodzący do wskazanego hosta w sieci wewnętrznej"
 
@@ -649,7 +682,7 @@ msgstr "Ogranicz maskaradę do wskazanych podsieci źródłowych"
 
 # Wstawiłem rodzinę gdyż gdzieś wcześniej było tak opisane ale klasa pasuje mi tu bardziej.
 # Obsy - niestety ale "rodzina". W gui dotyczy to wyboru IPv4/IPv6, więc "rodzina" a nie klasa.
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Ogranicz do rodziny adresów"
@@ -691,7 +724,7 @@ msgstr "Routing/NAT Offloading"
 msgid "SNAT - Rewrite to specific source IP or port"
 msgstr "SNAT - Przepisz do określonego źródłowego adresu IP lub portu"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:377
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sobota"
@@ -704,52 +737,64 @@ msgstr "Oprogramowanie oparte na offloading dla routingu/NAT"
 msgid "Software 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Źródłowy adres IP"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Źródłowy adres MAC"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Port źródłowy"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Data rozpoczęcia (rrrr-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr "Czas rozpoczęcia (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Data zakończenia (yyyyy-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 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:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Niedziela"
@@ -793,17 +838,17 @@ msgstr ""
 "politykę ruchu przekazywanego pomiędzy różnymi sieciami wewnątrz strefy. "
 "<em>Objęte sieci</em> określają dostępne sieci będące członkami tej strefy."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Czas w UTC"
@@ -829,15 +874,19 @@ msgid ""
 "To %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
 "%{device?egress device %{device}}"
 msgstr ""
-"Do %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} %{"
-"device?egress device %{device}}"
+"Do %{ipaddr?:any destination} %{port?at %{port}} %{zone?via zone %{zone}} "
+"%{device?egress device %{device}}"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:163
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Reguły ruchu sieciowego"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -847,7 +896,7 @@ msgstr ""
 "między strefami, na przykład aby odrzucać ruch między konkretnymi hostami "
 "albo otworzyć porty WAN routera."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Wtorek"
@@ -856,18 +905,23 @@ msgstr "Wtorek"
 msgid "Unable to save contents: %s"
 msgstr "Nie można zapisać zawartości: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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 "Nienazwany NAT"
 
-#: 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:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Przekazywanie bez nazwy"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Nieznana zasada"
 
@@ -875,6 +929,14 @@ msgstr "Nieznana zasada"
 msgid "Unnamed zone"
 msgstr "Strefa bez nazwy"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -899,12 +961,12 @@ msgstr "Przez %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Dni tygodnia"
@@ -917,23 +979,26 @@ msgstr "Strefa ⇒ Przekazywanie"
 msgid "Zones"
 msgstr "Strefy"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "akceptuj"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -942,7 +1007,7 @@ msgid "any"
 msgstr "dowolny"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -956,10 +1021,14 @@ msgstr "dowolne IP routera"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "dowolna strefa"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "Dzień"
@@ -969,11 +1038,11 @@ msgstr "Dzień"
 msgid "do not rewrite"
 msgstr "Nie przepisuj"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:394
 msgid "don't track"
 msgstr "nie śledź"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -1000,7 +1069,7 @@ msgstr "port"
 msgid "ports"
 msgstr "porty"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1024,6 +1093,11 @@ msgstr "typ"
 msgid "types"
 msgstr "typy"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr "prawidłowy znak zapory sieciowej"

+ 170 - 96
applications/luci-app-firewall/po/pt-br/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s in %s"
 
@@ -22,7 +22,7 @@ msgstr "%s in %s"
 msgid "%s%s with %s"
 msgstr "%s%s com %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s em %s"
 
@@ -58,8 +58,8 @@ msgstr "Aceitar entrada"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Ação"
@@ -83,8 +83,8 @@ msgstr ""
 "da zona, por exemplo, <code>-p tcp --sport 443</code> para corresponder "
 "apenas ao tráfego HTTPS de entrada."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -102,18 +102,22 @@ msgstr "Permite o encaminhamento da <em>zona de origem</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permite o encaminhamento para a <em>zona de destino</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Qualquer dia"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Atribuição automática de assistentes"
@@ -167,19 +171,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Porta de destino"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zona de destino"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Descartar o encaminhamento"
@@ -221,13 +229,13 @@ msgstr "Não rastrear a saída"
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Ativar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Habilite o Loopback do NAT"
 
@@ -239,6 +247,7 @@ msgstr "Habilite proteção contra SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Habilite o registro nesta zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -254,16 +263,16 @@ msgstr ""
 "Escolhe explicitamente os assistentes de rastreamento de conexão permitidos "
 "para o tráfego da zona"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Endereço IP externo"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Argumentos extras"
@@ -292,11 +301,11 @@ msgstr "Firewall - Regras personalizadas"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Encaminhamento de Portas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Regras de Tráfego"
 
@@ -309,11 +318,11 @@ msgstr "Firewall - Configurações de Zona"
 msgid "Forward"
 msgstr "Encaminhar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Encaminhar para"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Sexta-feira"
@@ -349,8 +358,8 @@ msgstr "De %s <var>neste dispositivo</var> com origem %s e %s"
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -379,12 +388,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 e IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Somente IPv4"
@@ -393,25 +402,29 @@ msgstr "Somente IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Somente IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Entrada"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Endereço IP interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Porta Interna"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zona interna"
 
@@ -419,6 +432,10 @@ msgstr "Zona interna"
 msgid "Limit log messages"
 msgstr "Limita as mensagens de registro"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -439,8 +456,8 @@ msgstr "Ajuste do MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Casa"
@@ -451,10 +468,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Casa com ICMP tipo"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -473,7 +494,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -481,10 +507,17 @@ msgstr ""
 "Casa o tráfego entrante direcionado para uma porta ou faixa de portas de "
 "destino específica neste computador"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -493,12 +526,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Dias do mês"
@@ -514,9 +547,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -526,20 +558,20 @@ msgstr "Nome"
 msgid "Network"
 msgstr "Rede"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 "Somente case o tráfego entrante direcionado para o endereço IP fornecido."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Somente case o tráfego entrante destes endereços MAC."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Somente case o tráfego entrante desta faixa de endereços IP."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -547,6 +579,7 @@ msgstr ""
 "Somente case o tráfego entrante vindo da porta de origem fornecida ou "
 "intervalo de portas no equipamento cliente"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -560,8 +593,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa argumentos adicionais para o iptables. Use com cuidado!"
@@ -580,12 +613,12 @@ msgstr ""
 "extremo cuidado, pois valores inválidos podem quebrar todo o conjunto de "
 "regras do firewall expondo todos os serviços completamente."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Encaminhamentos de Porta"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -593,19 +626,19 @@ msgstr ""
 "O encaminhamento de portas permite que computadores remotos na Internet "
 "conectem a um computador ou serviço específico dentro da rede local privada."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Redireciona tráfego entrante para a porta especificada no computador interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Redireciona tráfego entrante para o computador interno especificado"
 
@@ -633,7 +666,7 @@ msgstr "Restringe o mascaramento para uma subrede de destino específica"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Restringe o mascaramento para uma subrede de origem específica"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Restringe para uma família de endereços"
@@ -674,7 +707,7 @@ msgstr "Aceleração de Roteamento/NAT"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sábado"
@@ -687,52 +720,64 @@ msgstr "Aceleração de roteamento/NAT baseada em Software"
 msgid "Software flow offloading"
 msgstr "Aceleração de fluxo de dados via Software"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Endereço IP de origem"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Endereço MAC de origem"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Porta de origem"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr "Hora de Início (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Hora de Parada (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Domingo"
@@ -777,17 +822,17 @@ msgstr ""
 "<em>Redes Cobertas</em> especificam que redes disponíveis são membros desta "
 "zona."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Hora em UTC"
@@ -814,12 +859,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Regras de tráfego"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -829,7 +878,7 @@ msgstr ""
 "diferentes zonas. Por exemplo, rejeitar o tráfego entre certos equipamentos "
 "ou abrir portas WAN no roteador."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Terça-feira"
@@ -838,18 +887,23 @@ msgstr "Terça-feira"
 msgid "Unable to save contents: %s"
 msgstr "Não foi possível salvar os conteúdos: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Encaminhamento sem nome"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Regra sem nome"
 
@@ -857,6 +911,14 @@ msgstr "Regra sem nome"
 msgid "Unnamed zone"
 msgstr "Zona sem nome"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -881,12 +943,12 @@ msgstr "Via %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Dias da semana"
@@ -899,23 +961,26 @@ msgstr "Zona ⇒ Encaminhamentos"
 msgid "Zones"
 msgstr "Zonas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "aceitar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -924,7 +989,7 @@ msgid "any"
 msgstr "qualquer"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -938,10 +1003,14 @@ msgstr "qualquer endereço IP do roteador"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "qualquer zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "dia"
@@ -951,11 +1020,11 @@ msgstr "dia"
 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:394
 msgid "don't track"
 msgstr "não rastrear"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -982,7 +1051,7 @@ msgstr "porta"
 msgid "ports"
 msgstr "portas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1006,6 +1075,11 @@ msgstr "tipo"
 msgid "types"
 msgstr "tipos"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/pt/firewall.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s em %s"
 
@@ -22,7 +22,7 @@ msgstr "%s em %s"
 msgid "%s%s with %s"
 msgstr "%s%s with %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s em %s"
 
@@ -58,8 +58,8 @@ msgstr "Aceitar a entrada"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Ação"
@@ -83,8 +83,8 @@ msgstr ""
 "fonte de zona, por exemplo, <code>-p tcp - esporte 443</code> para "
 "corresponder apenas ao tráfego HTTPS de entrada."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -102,18 +102,22 @@ msgstr "Permitir encaminhamento de <em>zonas de origem</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permitir encaminhamento para <em>zonas de destino</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Qualquer dia"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Atribuição automática de assistentes"
@@ -168,19 +172,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Porta de destino"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zona de destino"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Descartar o encaminhamento"
@@ -222,13 +230,13 @@ msgstr "Não rastrear a saída"
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Ativar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Ativar NAT Loopback"
 
@@ -240,6 +248,7 @@ msgstr "Ativar a Proteção SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Ativar registo nesta zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -254,16 +263,16 @@ msgstr ""
 "Escolhe explicitamente os assistentes de rastreamento de conexão permitidos "
 "para o tráfego da zona"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Endereço IP externo"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Argumentos adicionais"
@@ -292,11 +301,11 @@ msgstr "Firewall - Regras Personalizadas"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Encaminhamento de Portas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Regras de Tráfego"
 
@@ -309,11 +318,11 @@ msgstr "Firewall - Definições de Zona"
 msgid "Forward"
 msgstr "Encaminhar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Encaminhar para"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Sexta-feira"
@@ -349,8 +358,8 @@ msgstr "De %s <var>neste aparelho</var> com as fontes %s e %s"
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -379,12 +388,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 e IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Só IPv4"
@@ -393,25 +402,29 @@ msgstr "Só IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Só IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Entrada"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Endereço IP interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Porta interna"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zona Interna"
 
@@ -419,6 +432,10 @@ msgstr "Zona Interna"
 msgid "Limit log messages"
 msgstr "Limitar registo de mensagens"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -439,8 +456,8 @@ msgstr "Fixação de MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Corresponder"
@@ -451,10 +468,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Correspondência do tipo de ICMP"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -473,7 +494,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -481,10 +507,17 @@ msgstr ""
 "O tráfego de entrada corresponde a uma dada porta de destino ou intervalo de "
 "portas neste host"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -493,12 +526,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Dias do mês"
@@ -514,9 +547,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -526,19 +558,19 @@ msgstr "Nome"
 msgid "Network"
 msgstr "Rede"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Só se tráfego de entrada corresponder ao endereço IP fornecido."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Só se o tráfego de entrada corresponder a um destes MACs."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Só se o tráfego de entrada corresponder a este IP ou intervalo."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -546,6 +578,7 @@ msgstr ""
 "Só se o tráfego de entrada corresponder à porta de origem fornecida ou de um "
 "intervalo de portas no host cliente"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -559,8 +592,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "Passa argumentos adicionais para o iptables. Usar com cuidado!"
@@ -579,12 +612,12 @@ msgstr ""
 "cuidado, pois valores inválidos podem tornar o conjunto de regras do "
 "firewall quebrado, expondo completamente todos os serviços."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Encaminhamento de Portas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -592,20 +625,20 @@ msgstr ""
 "O Encaminhamento de Portas permite que computadores remotos na internet se "
 "liguem a um computador ou serviço especifico na rede privada (LAN)."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Redirecionar a entrada de trafego correspondente à porta fornecida no host "
 "interno"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Redirecionar o tráfego de entrada correspondente para o host interno"
 
@@ -634,7 +667,7 @@ msgstr "Restringir o Mascaramento às sub-redes de destino dadas"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Restringir Mascaramento a sub-redes de origem fornecidas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Restringir a família de endereços"
@@ -675,7 +708,7 @@ msgstr "Descargar Roteamento/NAT"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sábado"
@@ -688,52 +721,64 @@ msgstr "Descarga baseada em software para roteamento/NAT"
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Endereço IP de origem"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Endereço MAC de origem"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Porta de origem"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Data de Início (aaaaa-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr "Hora de início (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Data de Paragem (aaaaa-mm-dd)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Tempo de Parada (hh.mm.ss)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Domingo"
@@ -779,17 +824,17 @@ msgstr ""
 "abrangidas</em> especifica quais das redes disponíveis são membros desta "
 "zona."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Tempo em UTC"
@@ -816,12 +861,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Regras de Tráfego"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -831,7 +880,7 @@ msgstr ""
 "diferentes zonas, por exemplo, para rejeitar trafego entre certos hosts ou "
 "para abrir portas WAN no router."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Terça-feira"
@@ -840,18 +889,23 @@ msgstr "Terça-feira"
 msgid "Unable to save contents: %s"
 msgstr "Incapaz de gravar conteúdos: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Encaminhamento sem nome"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Regra sem nome"
 
@@ -859,6 +913,14 @@ msgstr "Regra sem nome"
 msgid "Unnamed zone"
 msgstr "Zona sem nome"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -883,12 +945,12 @@ msgstr "Via %s"
 msgid "Via %s at %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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Dias úteis"
@@ -901,23 +963,26 @@ msgstr "Zona ⇒ Encaminhamentos"
 msgid "Zones"
 msgstr "Zonas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "aceitar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -926,7 +991,7 @@ msgid "any"
 msgstr "qualquer"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -940,10 +1005,14 @@ msgstr "qualquer IP do router"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "qualquer zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "dia"
@@ -953,11 +1022,11 @@ msgstr "dia"
 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:394
 msgid "don't track"
 msgstr "não seguir"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -984,7 +1053,7 @@ msgstr "porta"
 msgid "ports"
 msgstr "portas"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1008,6 +1077,11 @@ msgstr "tipo"
 msgid "types"
 msgstr "tipos"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/ro/firewall.po

@@ -13,7 +13,7 @@ msgstr ""
 "20)) ? 1 : 2;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s în %s"
 
@@ -21,7 +21,7 @@ msgstr "%s în %s"
 msgid "%s%s with %s"
 msgstr "%s%s cu %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s în %s"
 
@@ -57,8 +57,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Actiune"
@@ -76,8 +76,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -95,18 +95,22 @@ msgstr "Permite trecerea din <em>zonele sursa</em>."
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Permite trecerea catre <em>zonele sursa</em>."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Orice zi"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -155,19 +159,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Portul destinatie"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Zonă de destinație"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -206,13 +214,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Activează"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Activează loopback NAT"
 
@@ -224,6 +232,7 @@ msgstr "Activează protecţia SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Activeaza log in aceasta zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -236,16 +245,16 @@ msgstr "Funcție experimentală. Nu este complet compatibiă cu QoS/SQM."
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Adresă IP externă"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -274,11 +283,11 @@ msgstr "Firewall - Reguli particularizate"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Firewall - Port-uri forwardate"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Firewall - Reguli ale traficului"
 
@@ -291,11 +300,11 @@ msgstr "Setari zona la firewall"
 msgid "Forward"
 msgstr "Forward"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Vineri"
@@ -331,8 +340,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -361,12 +370,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 şi IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "doar IPv4"
@@ -375,25 +384,29 @@ msgstr "doar IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "doar IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Intrare"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Adresa IP interna"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Port intern"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Zonă internă"
 
@@ -401,6 +414,10 @@ msgstr "Zonă internă"
 msgid "Limit log messages"
 msgstr "Limitează mesaje în log"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -421,8 +438,8 @@ msgstr "Ajustare MSS"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Potrivire"
@@ -433,10 +450,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Potriveste pe tipul de ICMP"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -455,16 +476,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -473,12 +506,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -494,9 +527,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -506,24 +538,25 @@ msgstr "Nume"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -537,8 +570,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -552,29 +585,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protocol"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -602,7 +635,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -643,7 +676,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Sâmbătă"
@@ -656,52 +689,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "Sursă adresă IP"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "Sursă adresă MAC"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Port sursa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Duminică"
@@ -732,17 +777,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 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:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -769,19 +814,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Marţi"
@@ -790,18 +839,23 @@ msgstr "Marţi"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -809,6 +863,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -829,12 +891,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -847,23 +909,26 @@ msgstr ""
 msgid "Zones"
 msgstr "Zone"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "accept"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -872,7 +937,7 @@ msgid "any"
 msgstr "oricare"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -886,10 +951,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "orice zona"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "zi"
@@ -899,11 +968,11 @@ msgstr "zi"
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -930,7 +999,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -954,6 +1023,11 @@ msgstr "tip"
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/ru/firewall.po

@@ -16,7 +16,7 @@ msgstr ""
 "Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
 "интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s в %s"
 
@@ -24,7 +24,7 @@ msgstr "%s в %s"
 msgid "%s%s with %s"
 msgstr "%s%s с %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s в %s"
 
@@ -60,8 +60,8 @@ msgstr "Принимать входящий трафик"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Действие"
@@ -85,8 +85,8 @@ msgstr ""
 "источника, например <code>-p tcp --sport 443</code> для соответствия только "
 "входящему HTTPS трафику."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -104,18 +104,22 @@ msgstr "Разрешить перенаправление из <em>'зон ис
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Разрешить перенаправление в <em>'зоны назначения'</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr "Любой"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Любой день"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Автоматическое назначение помощников"
@@ -170,19 +174,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr "Адрес назначения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Порт назначения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Зона назначения"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Отклонять перенаправляемый трафик"
@@ -224,13 +232,13 @@ msgstr "Не отслеживать исходящий трафик"
 msgid "Drop invalid packets"
 msgstr "Отбрасывать некорректные пакеты"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Включить"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Включить NAT Loopback"
 
@@ -242,6 +250,7 @@ msgstr "Включить защиту от SYN-flood атак"
 msgid "Enable logging on this zone"
 msgstr "Включить журналирование в этой зоне"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr "Ожидается: %s"
@@ -256,16 +265,16 @@ msgstr ""
 "Явно определяет допустимые варианты помощников (helpers) отслеживания "
 "соединений (connection tracking) трафика в зоне"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Внешний IP-адрес"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr "Внешний порт"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Дополнительные аргументы"
@@ -294,11 +303,11 @@ msgstr "Межсетевой экран - Пользовательские пр
 msgid "Firewall - NAT Rules"
 msgstr "Межсетевой экран - Правила NAT"
 
-#: 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Межсетевой экран - Перенаправление портов"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Межсетевой экран - Правила для трафика"
 
@@ -311,11 +320,11 @@ msgstr "Межсетевой экран - Настройка зон"
 msgid "Forward"
 msgstr "Перенаправление"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Перенаправлять на"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Пятница"
@@ -351,8 +360,8 @@ msgstr "Из %s в <var>это устройство</var> с источника
 msgid "From %{ipaddr?:any host} %{port?with source %{port}}"
 msgstr "Из %{ipaddr?:любой хост} %{port?с источником %{port}}"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:100
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -381,12 +390,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 и IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Только IPv4"
@@ -395,25 +404,29 @@ msgstr "Только IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Только IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Входящий трафик"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Внутренний IP-адрес"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Внутренний порт"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Внутренняя зона"
 
@@ -421,6 +434,10 @@ msgstr "Внутренняя зона"
 msgid "Limit log messages"
 msgstr "Ограничить журнал сообщений"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -442,8 +459,8 @@ msgstr "Ограничение MSS"
 msgid "Masquerading"
 msgstr "Маскарадинг"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Входящий трафик"
@@ -456,10 +473,14 @@ msgstr ""
 "Соответствует %{protocol?%{family} %{protocol} трафику:любому %{family} "
 "трафику} %{mark?с меткой брандмауэра %{mark}}"
 
-#: 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:288
 msgid "Match ICMP type"
 msgstr "Соответствовать ICMP типу"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -484,7 +505,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -492,10 +518,17 @@ msgstr ""
 "Порт или диапазон портов, входящие подключения на который будут "
 "перенаправляться на внутренний порт внутреннего IP-адреса (см. ниже)"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -507,12 +540,12 @@ 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr "Понедельник"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Дни месяца"
@@ -530,9 +563,8 @@ msgstr ""
 "Правила NAT позволяют точно контролировать IP-адрес источника в исходящем "
 "или перенаправляемом трафике."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:121
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:201
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:227
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -542,22 +574,22 @@ msgstr "Имя"
 msgid "Network"
 msgstr "Сеть"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 "Применять правило только для входящих подключений на указанный IP-адрес"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Применять правило только для входящего трафика от этих MAC-адресов."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 "Применять правило только для входящего трафика от этого IP-адреса или "
 "диапазона адресов."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -565,6 +597,7 @@ msgstr ""
 "Применять правило только для входящего трафика от указанного порта или "
 "диапазона портов клиентского хоста"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr "Исходящее устройство"
@@ -578,8 +611,8 @@ msgstr "Исходящая зона"
 msgid "Output"
 msgstr "Исходящий трафик"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -600,12 +633,12 @@ msgstr ""
 "осторожностью, так как неверные значения могут привести к нарушению работы "
 "правил межсетевого экрана, полностью открывая доступ ко всем службам системы."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Перенаправление портов"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -613,20 +646,20 @@ msgstr ""
 "Перенаправленные портов позволяет удалённым компьютерам из Интернета "
 "соединяться с компьютером или службой внутри частной локальной сети."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Протокол"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Перенаправлять трафик на указанный порт или диапазон портов внутреннего IP-"
 "адреса"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Перенаправлять трафик на указанный IP-адрес"
 
@@ -655,7 +688,7 @@ msgstr "Использовать маскарадинг только для ук
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Использовать маскарадинг только для указанных подсетей-отправителей"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Использовать протокол"
@@ -698,7 +731,7 @@ msgstr "Маршрутизация/NAT offloading"
 msgid "SNAT - Rewrite to specific source IP or port"
 msgstr "SNAT — перезаписать на указанный IP-адрес источника или порт"
 
-#: 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Суббота"
@@ -711,52 +744,64 @@ msgstr "Программная реализация offloading для маршр
 msgid "Software flow offloading"
 msgstr "Программный flow offloading"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "IP-адрес источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "MAC-адрес источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr "Адрес источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Порт источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr "Зона источника"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Дата начала (год-мес-день)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr "Время начала (чч.мм.сс)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Дата окончания (год-мес-день)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Время окончания (чч.мм.сс)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Воскресенье"
@@ -800,17 +845,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:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr "Четверг"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr "Временные ограничения"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Время UTC"
@@ -839,12 +884,16 @@ msgstr ""
 "На %{ipaddr?:любой адрес назначения} %{port?порт %{port}} %{zone?через зону "
 "%{zone}} %{device?исходящее устройство %{device}}"
 
-#: 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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Правила для трафика"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -854,7 +903,7 @@ msgstr ""
 "зонами, например, запрет трафика между некоторыми хостами или открытие WAN-"
 "портов маршрутизатора."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Вторник"
@@ -863,18 +912,23 @@ msgstr "Вторник"
 msgid "Unable to save contents: %s"
 msgstr "Невозможно сохранить содержимое: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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 "NAT без имени"
 
-#: 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:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Перенаправление без имени"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Правило без имени"
 
@@ -882,6 +936,14 @@ msgstr "Правило без имени"
 msgid "Unnamed zone"
 msgstr "Зона без имени"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -906,12 +968,12 @@ msgstr "Через %s"
 msgid "Via %s at %s"
 msgstr "Через %s, %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr "Среда"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Дни недели"
@@ -924,23 +986,26 @@ msgstr "Зона ⇒ Перенаправления"
 msgid "Zones"
 msgstr "Зоны"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "принимать"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -949,7 +1014,7 @@ msgid "any"
 msgstr "любой"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -963,10 +1028,14 @@ msgstr "любой IP-адрес маршрутизатора"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "любой зоны"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "день"
@@ -976,11 +1045,11 @@ msgstr "день"
 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:394
 msgid "don't track"
 msgstr "не отслеживать"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -1007,7 +1076,7 @@ msgstr "порт"
 msgid "ports"
 msgstr "порты"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1031,6 +1100,11 @@ msgstr "тип"
 msgid "types"
 msgstr "типы"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr "верная метка брандмауэра"

+ 170 - 96
applications/luci-app-firewall/po/sk/firewall.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -20,7 +20,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -56,8 +56,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Akcia"
@@ -75,8 +75,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -94,18 +94,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -154,19 +158,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -205,13 +213,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -223,6 +231,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -235,16 +244,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -273,11 +282,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -290,11 +299,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -330,8 +339,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -360,12 +369,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -374,25 +383,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -400,6 +413,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -420,8 +437,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -432,10 +449,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -454,16 +475,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -472,12 +505,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -493,9 +526,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -505,24 +537,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -536,8 +569,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -551,29 +584,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -601,7 +634,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -642,7 +675,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -655,52 +688,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -731,17 +776,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -768,19 +813,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -789,18 +838,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -808,6 +862,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -828,12 +890,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -846,23 +908,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -871,7 +936,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -885,10 +950,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -898,11 +967,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -929,7 +998,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -953,6 +1022,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/sv/firewall.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s i %s"
 
@@ -20,7 +20,7 @@ msgstr "%s i %s"
 msgid "%s%s with %s"
 msgstr "%s%s med %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%2, %s i %s"
 
@@ -56,8 +56,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Åtgärd"
@@ -75,8 +75,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -94,18 +94,22 @@ msgstr "Tillåt vidarebefordring från <em>källzonerna</em>:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Till vidarebefordring till <em>destinationszonerna:</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 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:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -154,19 +158,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Destinationsport"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Destinationens zon"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -205,13 +213,13 @@ msgstr ""
 msgid "Drop invalid packets"
 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/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Aktivera"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -223,6 +231,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr "Aktivera loggning i den här zonen"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -235,16 +244,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Extern IP-adress"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Extra argument"
@@ -273,11 +282,11 @@ msgstr "Brandvägg - Anpassade regler"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Brandvägg - Vidarebefordring av port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Brandvägg - Trafikregler"
 
@@ -290,11 +299,11 @@ msgstr "Brandvägg - Zoninställningar"
 msgid "Forward"
 msgstr "Vidarebefordra"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "Vidarebefordra till"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "Fredag"
@@ -330,8 +339,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -360,12 +369,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 och IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Endast IPv4"
@@ -374,25 +383,29 @@ msgstr "Endast IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Endast IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Inmatning"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Intern IP-adress"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Intern port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Intern zon"
 
@@ -400,6 +413,10 @@ msgstr "Intern zon"
 msgid "Limit log messages"
 msgstr "Begränsa loggmeddelanden"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -420,8 +437,8 @@ msgstr ""
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Matcha"
@@ -432,10 +449,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Matchar ICMP-typ"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -454,7 +475,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -462,10 +488,17 @@ msgstr ""
 "Matcha inkommande trafik dirigerad till den angivna destinationsporten eller "
 "portens räckvidd på den här värden"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -474,12 +507,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 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:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Dagar i månaden"
@@ -495,9 +528,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -507,25 +539,26 @@ msgstr "Namn"
 msgid "Network"
 msgstr "Nätverk"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 "Matcha endast inkommande trafik från den här IP-adressen eller räckvidden."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -539,8 +572,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -554,29 +587,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Vidarebefordringar av port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -604,7 +637,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Begränsa till adressfamilj"
@@ -645,7 +678,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Lördag"
@@ -658,52 +691,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "IP-adress för källa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "MAC-adress för källa"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Söndag"
@@ -734,17 +779,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 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:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Tid enligt UTC"
@@ -771,19 +816,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Trafikregler"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Tisdag"
@@ -792,18 +841,23 @@ msgstr "Tisdag"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -811,6 +865,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -831,12 +893,12 @@ msgstr "Via %s"
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 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:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Veckodagar"
@@ -849,23 +911,26 @@ msgstr ""
 msgid "Zones"
 msgstr "Zoner"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "acceptera"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -874,7 +939,7 @@ msgid "any"
 msgstr "något"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -888,10 +953,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "alla zoner"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -901,11 +970,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr "spåra inte"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -932,7 +1001,7 @@ msgstr "port"
 msgid "ports"
 msgstr "portar"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -956,6 +1025,11 @@ msgstr "typ"
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/templates/firewall.pot

@@ -1,7 +1,7 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -9,7 +9,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -45,8 +45,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr ""
@@ -64,8 +64,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -83,18 +83,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -143,19 +147,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -194,13 +202,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -212,6 +220,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -224,16 +233,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -262,11 +271,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -279,11 +288,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -319,8 +328,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -349,12 +358,12 @@ msgid "IPv4"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -363,25 +372,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -389,6 +402,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr ""
@@ -409,8 +426,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -421,10 +438,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -443,16 +464,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -461,12 +494,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -482,9 +515,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -494,24 +526,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -525,8 +558,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -540,29 +573,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -590,7 +623,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -631,7 +664,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -644,52 +677,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -720,17 +765,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -757,19 +802,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -778,18 +827,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -797,6 +851,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -817,12 +879,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -835,23 +897,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -860,7 +925,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -874,10 +939,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -887,11 +956,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -918,7 +987,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -942,6 +1011,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/tr/firewall.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -20,7 +20,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -56,8 +56,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Eylem"
@@ -75,8 +75,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -94,18 +94,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -154,19 +158,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -205,13 +213,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -223,6 +231,7 @@ msgstr ""
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -235,16 +244,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -273,11 +282,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -290,11 +299,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -330,8 +339,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -360,12 +369,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -374,25 +383,29 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -400,6 +413,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -420,8 +437,8 @@ msgstr ""
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -432,10 +449,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -454,16 +475,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -472,12 +505,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -493,9 +526,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -505,24 +537,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -536,8 +569,8 @@ msgstr ""
 msgid "Output"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -551,29 +584,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -601,7 +634,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -642,7 +675,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -655,52 +688,64 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -731,17 +776,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -768,19 +813,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -789,18 +838,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -808,6 +862,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -828,12 +890,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -846,23 +908,26 @@ msgstr ""
 msgid "Zones"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -871,7 +936,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -885,10 +950,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -898,11 +967,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -929,7 +998,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -953,6 +1022,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/uk/firewall.po

@@ -13,7 +13,7 @@ msgstr ""
 "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s у %s"
 
@@ -21,7 +21,7 @@ msgstr "%s у %s"
 msgid "%s%s with %s"
 msgstr "%s%s із %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s у %s"
 
@@ -57,8 +57,8 @@ msgstr "Приймати вхідний"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Дія"
@@ -82,8 +82,8 @@ msgstr ""
 "зони, наприклад, <code>-p tcp --sport 443</code>, щоб зіставляти лише "
 "вхідний трафік HTTPS."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -101,18 +101,22 @@ msgstr "Дозволити переспрямовування від <em>зон
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "Дозволити переспрямовування до <em>зон призначення</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr "Будь-який"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "Будь-який день"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "Автоматичне призначення помічника"
@@ -172,19 +176,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr "Адреса призначення"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Порт призначення"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "Зона призначення"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "Відкидати переспрямовування"
@@ -226,13 +234,13 @@ msgstr "Не відслідковувати вихідний"
 msgid "Drop invalid packets"
 msgstr "Відкидати помилкові пакети"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Увімкнути"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "Увімкнути NAT Loopback"
 
@@ -244,6 +252,7 @@ msgstr "Увімкнути захист від SYN-flood"
 msgid "Enable logging on this zone"
 msgstr "Увімкнути реєстрування у цій зоні"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -258,16 +267,16 @@ msgstr ""
 "В явному вигляді дозволені помічники відслідковування з'єднань для трафіку "
 "зони"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "Зовнішня IP-адреса"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr "Зовнішній порт"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "Додаткові аргументи"
@@ -296,11 +305,11 @@ msgstr "Брандмауер — Настроювані правила"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "Брандмауер — Переспрямовування портів"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "Брандмауер — Правила трафіка"
 
@@ -313,11 +322,11 @@ msgstr "Брандмауер — Параметри зон"
 msgid "Forward"
 msgstr "Переспрямовування"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "переспрямовування до"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "П'ятниця"
@@ -353,8 +362,8 @@ msgstr "Від %s на <var>цьому пристрої</var> з джерело
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -383,12 +392,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 та IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "Лише IPv4"
@@ -397,25 +406,29 @@ msgstr "Лише IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "Лише IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Вхідний"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "Внутрішня IP-адреса"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "Внутрішній порт"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "Внутрішня зона"
 
@@ -423,6 +436,10 @@ msgstr "Внутрішня зона"
 msgid "Limit log messages"
 msgstr "Обмеження повідомлень журналу"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC-адреса"
@@ -443,8 +460,8 @@ msgstr "Затискання MSS"
 msgid "Masquerading"
 msgstr "Підміна"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "Зіставляти"
@@ -455,10 +472,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "Зіставляти ICMP типу"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -477,7 +498,12 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
@@ -485,10 +511,17 @@ msgstr ""
 "Зіставляти вхідний трафік, спрямований на заданий порт призначення або "
 "діапазон портів цього вузла"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -497,12 +530,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr "Понеділок"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "Дні місяця"
@@ -518,9 +551,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -530,19 +562,19 @@ msgstr "Ім'я"
 msgid "Network"
 msgstr "Мережа"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "Зіставляти тільки вхідний трафік, спрямований на задану IP-адресу."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "Зіставляти тільки вхідний трафік від цих MAC-адрес."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "Зіставляти тільки вхідний трафік від цього IP чи діапазону."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
@@ -550,6 +582,7 @@ msgstr ""
 "Зіставляти тільки вхідний трафік, що виникає на заданому порту джерела або "
 "діапазоні портів вузла клієнта"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -563,8 +596,8 @@ msgstr ""
 msgid "Output"
 msgstr "Вихідний"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -584,12 +617,12 @@ msgstr ""
 "особливою обережністю, оскільки невірні значення можуть призвести до "
 "порушення набору правил брандмауера, повністю відкриваючи всі служби."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "Переспрямовування портів"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
@@ -597,19 +630,19 @@ msgstr ""
 "Переспрямовування портів дозволяє віддаленим комп'ютерам з Інтернету "
 "підключатися до певного комп'ютера або служби у приватній мережі."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Протокол"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 "Переспрямувати відповідний вхідний трафік на заданий порт внутрішнього вузла"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "Переспрямувати відповідний вхідний трафік на заданий внутрішній вузол"
 
@@ -637,7 +670,7 @@ msgstr "Обмежити підміну заданими підмережами
 msgid "Restrict Masquerading to given source subnets"
 msgstr "Обмежити підміну заданими підмережами джерела"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "Обмежити сімейство протоколів"
@@ -678,7 +711,7 @@ msgstr "Розвантаження маршрутизації/NAT"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "Субота"
@@ -691,52 +724,64 @@ msgstr "Програмне розвантаження для маршрутиз
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "IP-адреса джерела"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "MAC-адреса джерела"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr "Адреса джерела"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Порт джерела"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr "Зона джерела"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "Дата початку (рррр-мм-дд)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr "Час початку (гг:хх:сс)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "Дата зупинки (рррр-мм-дд)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr "Час зупинки (гг:хх:сс)"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "Неділя"
@@ -781,17 +826,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:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr "Четвер"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr "Часові обмеження"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "Час в UTC"
@@ -818,12 +863,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "Правила трафіка"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -833,7 +882,7 @@ msgstr ""
 "різними зонами, наприклад, відхиляти трафік між певними вузлами або відкрити "
 "порти WAN на маршрутизаторі."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "Вівторок"
@@ -842,18 +891,23 @@ msgstr "Вівторок"
 msgid "Unable to save contents: %s"
 msgstr "Не вдалося зберегти вміст: %s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "Переспрямовування без назви"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "Правило без назви"
 
@@ -861,6 +915,14 @@ msgstr "Правило без назви"
 msgid "Unnamed zone"
 msgstr "Зона без назви"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -885,12 +947,12 @@ msgstr "Через %s"
 msgid "Via %s at %s"
 msgstr "Через %s на %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr "Середа"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "Дні тижня"
@@ -903,23 +965,26 @@ msgstr "Зона ⇒ Переспрямовування"
 msgid "Zones"
 msgstr "Зони"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "приймати"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -928,7 +993,7 @@ msgid "any"
 msgstr "будь-який"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -942,10 +1007,14 @@ msgstr "будь-який IP роутера"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "будь-якій зоні"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "день"
@@ -955,11 +1024,11 @@ msgstr "день"
 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:394
 msgid "don't track"
 msgstr "не відстеж."
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -986,7 +1055,7 @@ msgstr "порт"
 msgid "ports"
 msgstr "порти"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -1010,6 +1079,11 @@ msgstr "типом"
 msgid "types"
 msgstr "типами"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/vi/firewall.po

@@ -16,7 +16,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr ""
 
@@ -24,7 +24,7 @@ msgstr ""
 msgid "%s%s with %s"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr ""
 
@@ -60,8 +60,8 @@ msgstr ""
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "Hành động"
@@ -79,8 +79,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -98,18 +98,22 @@ msgstr ""
 msgid "Allow forward to <em>destination zones</em>:"
 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:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -158,20 +162,24 @@ msgstr ""
 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:373
 msgid "Destination address"
 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:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "Cổng điểm đến"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 #, fuzzy
 msgid "Destination zone"
 msgstr "Điểm đến"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr ""
@@ -210,13 +218,13 @@ msgstr ""
 msgid "Drop invalid packets"
 msgstr "Bỏ qua nhưng gói không hợp lý"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "Kích hoạt"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr ""
 
@@ -229,6 +237,7 @@ msgstr "SYN-flood bảo vệ "
 msgid "Enable logging on this zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -241,16 +250,16 @@ msgstr ""
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 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/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr ""
@@ -279,11 +288,11 @@ msgstr ""
 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:100
 msgid "Firewall - Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr ""
 
@@ -296,11 +305,11 @@ msgstr ""
 msgid "Forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr ""
@@ -336,8 +345,8 @@ msgstr ""
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -366,12 +375,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr ""
@@ -380,27 +389,31 @@ msgstr ""
 msgid "IPv6"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "Input"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 #, fuzzy
 msgid "Internal IP address"
 msgstr "Internal address"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 #, fuzzy
 msgid "Internal port"
 msgstr "External port"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr ""
 
@@ -408,6 +421,10 @@ msgstr ""
 msgid "Limit log messages"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -429,8 +446,8 @@ msgstr "MSS Clamping"
 msgid "Masquerading"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:125
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr ""
@@ -441,10 +458,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -463,16 +484,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -481,12 +514,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr ""
@@ -502,9 +535,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -514,24 +546,25 @@ msgstr ""
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -545,8 +578,8 @@ msgstr ""
 msgid "Output"
 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/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr ""
@@ -560,29 +593,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "Giao thức"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr ""
 
@@ -610,7 +643,7 @@ msgstr ""
 msgid "Restrict Masquerading to given source subnets"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr ""
@@ -651,7 +684,7 @@ msgstr ""
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr ""
@@ -664,55 +697,67 @@ msgstr ""
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 #, fuzzy
 msgid "Source IP address"
 msgstr "Đỉa chỉ MAC nguồn"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 #, fuzzy
 msgid "Source address"
 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/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "Cổng nguồn"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 #, fuzzy
 msgid "Source zone"
 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:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr ""
@@ -745,17 +790,17 @@ msgid ""
 "networks</em> specifies which available networks are members of this zone."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:375
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr ""
@@ -782,19 +827,23 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
 "the router."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr ""
@@ -803,18 +852,23 @@ msgstr ""
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr ""
 
@@ -822,6 +876,14 @@ msgstr ""
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -842,12 +904,12 @@ msgstr ""
 msgid "Via %s at %s"
 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:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr ""
@@ -860,23 +922,26 @@ msgstr ""
 msgid "Zones"
 msgstr "Zones"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "chấp nhận"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -885,7 +950,7 @@ msgid "any"
 msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -899,10 +964,14 @@ msgstr ""
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr ""
@@ -912,11 +981,11 @@ msgstr ""
 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:394
 msgid "don't track"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -943,7 +1012,7 @@ msgstr ""
 msgid "ports"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -967,6 +1036,11 @@ msgstr ""
 msgid "types"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/zh-cn/firewall.po

@@ -16,7 +16,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s 位于 %s"
 
@@ -24,7 +24,7 @@ msgstr "%s 位于 %s"
 msgid "%s%s with %s"
 msgstr "%s%s 和 %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s 位于 %s"
 
@@ -60,8 +60,8 @@ msgstr "接受入站"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "动作"
@@ -83,8 +83,8 @@ msgstr ""
 "附加 <em>iptables</em> 参数对区域入流量分类。如:<code>-p tcp --sport 443</"
 "code> 仅匹配入站 HTTPS 流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -102,18 +102,22 @@ msgstr "允许来自<em>源区域</em>的转发:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "允许转发到<em>目标区域</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr "任何"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr "每天"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr "自动助手分配"
@@ -164,19 +168,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr "目标地址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "目标端口"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "目标区域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "丢弃转发"
@@ -217,13 +225,13 @@ msgstr "不跟踪出站"
 msgid "Drop invalid packets"
 msgstr "丢弃无效数据包"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "启用"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "启用 NAT 环回"
 
@@ -235,6 +243,7 @@ msgstr "启用 SYN-flood 防御"
 msgid "Enable logging on this zone"
 msgstr "启用此区域的日志记录"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -247,16 +256,16 @@ msgstr "实验特性。与 QoS/SQM 不完全兼容。"
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr "为区域流量明确选择允许的连接跟踪助手"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "外部 IP 地址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr "外部端口"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "额外参数"
@@ -285,11 +294,11 @@ msgstr "防火墙 - 自定义规则"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "防火墙 - 端口转发"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "防火墙 - 通信规则"
 
@@ -302,11 +311,11 @@ msgstr "防火墙 - 区域设置"
 msgid "Forward"
 msgstr "转发"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "转发到"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "星期五"
@@ -342,8 +351,8 @@ msgstr "来自 %s 位于<var>本设备</var>源端口 %s 源 MAC %s"
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -372,12 +381,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 和 IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "仅 IPv4"
@@ -386,25 +395,29 @@ msgstr "仅 IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "仅 IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "入站数据"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "内部 IP 地址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "内部端口"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "内部区域"
 
@@ -412,6 +425,10 @@ msgstr "内部区域"
 msgid "Limit log messages"
 msgstr "限制日志信息"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -432,8 +449,8 @@ msgstr "MSS 钳制"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "匹配规则"
@@ -444,10 +461,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "匹配 ICMP 类型"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -466,16 +487,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr "匹配指向此主机上指定目标端口或目标端口范围的入站流量"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -484,12 +517,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr "星期一"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "日期"
@@ -505,9 +538,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -517,24 +549,25 @@ msgstr "名称"
 msgid "Network"
 msgstr "网络"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "仅匹配指定目的 IP 地址的入站流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "仅匹配来自这些 MAC 的入站流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "仅匹配来自此 IP 或 IP 范围的入站流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr "仅匹配源自客户端主机上给定源端口或源端口范围的入站流量"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -548,8 +581,8 @@ msgstr ""
 msgid "Output"
 msgstr "出站数据"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "传递到 iptables 的额外参数。小心使用!"
@@ -566,30 +599,30 @@ msgstr ""
 "他条件来匹配数据包。使用这些选项应格外小心,因为无效值可能会破坏防火墙规则集"
 "而对外暴露所有服务。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "端口转发"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr ""
 "端口转发允许 Internet 上的远程计算机连接到内部网络中的特定计算机或服务。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "协议"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr "重定向匹配的入站流量到内部主机的端口"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "重定向匹配的入站流量到指定的内部主机"
 
@@ -617,7 +650,7 @@ msgstr "要限制 IP 动态伪装的目标子网"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "要限制 IP 动态伪装的源子网"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "限制地址"
@@ -658,7 +691,7 @@ msgstr "Routing/NAT 分载"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "星期六"
@@ -671,52 +704,64 @@ msgstr "基于软件的 Routing/NAT 分载"
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "源 IP 地址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "源 MAC 地址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr "源地址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "源端口"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr "源区域"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (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:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (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:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "星期日"
@@ -754,17 +799,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:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr "星期四"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr "时间限制"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "UTC 时间"
@@ -791,12 +836,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "通信规则"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -805,7 +854,7 @@ msgstr ""
 "通信规则定义了不同区域间的数据包传输策略,例如:拒绝一些主机之间的通信,开放"
 "路由器 WAN 上的端口。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "星期二"
@@ -814,18 +863,23 @@ msgstr "星期二"
 msgid "Unable to save contents: %s"
 msgstr "无法保存内容:%s"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "未命名转发"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "未命名规则"
 
@@ -833,6 +887,14 @@ msgstr "未命名规则"
 msgid "Unnamed zone"
 msgstr "未命名区域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -853,12 +915,12 @@ msgstr "通过 %s"
 msgid "Via %s at %s"
 msgstr "通过 %s 在 %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr "星期三"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "星期"
@@ -871,23 +933,26 @@ msgstr "区域 ⇒ 转发"
 msgid "Zones"
 msgstr "区域"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "接受"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -896,7 +961,7 @@ msgid "any"
 msgstr "任意"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -910,10 +975,14 @@ msgstr "所有路由 IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "所有区域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "日"
@@ -923,11 +992,11 @@ msgstr "日"
 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:394
 msgid "don't track"
 msgstr "不跟踪"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -954,7 +1023,7 @@ msgstr "端口"
 msgid "ports"
 msgstr "端口"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -978,6 +1047,11 @@ msgstr "类型"
 msgid "types"
 msgstr "类型"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 170 - 96
applications/luci-app-firewall/po/zh-tw/firewall.po

@@ -13,7 +13,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
 msgid "%s in %s"
 msgstr "%s 位於 %s"
 
@@ -21,7 +21,7 @@ msgstr "%s 位於 %s"
 msgid "%s%s with %s"
 msgstr "%s%s 和 %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:144
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:152
 msgid "%s, %s in %s"
 msgstr "%s, %s 位於 %s"
 
@@ -57,8 +57,8 @@ msgstr "接受入站"
 msgid "Accept output"
 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:354
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:224
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:388
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Action"
 msgstr "行動"
@@ -76,8 +76,8 @@ msgid ""
 "e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:109
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:178
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:162
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
@@ -95,18 +95,22 @@ msgstr "允許從<em>源區域</em>轉發:"
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "允許轉發到<em>目標區域</em>:"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:244
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:278
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:197
 msgid "Any"
 msgstr "任何"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:370
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:386
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:430
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:446
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:340
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:356
 msgid "Any day"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:397
+msgid "Assign the specified connection tracking helper to matched traffic."
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
 msgid "Automatic helper assignment"
 msgstr ""
@@ -157,19 +161,23 @@ msgstr ""
 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:373
 msgid "Destination address"
 msgstr "目標位址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:345
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:379
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:250
 msgid "Destination port"
 msgstr "目標埠"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:367
 msgid "Destination zone"
 msgstr "目標區域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:256
+msgid "Device name"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:299
 msgid "Discard forward"
 msgstr "丟棄轉發"
@@ -208,13 +216,13 @@ msgstr "不跟蹤出站"
 msgid "Drop invalid packets"
 msgstr "丟棄無效資料包"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:149
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:221
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:157
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:189
 msgid "Enable"
 msgstr "啟用"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:262
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:270
 msgid "Enable NAT Loopback"
 msgstr "啟用 NAT 環回"
 
@@ -226,6 +234,7 @@ msgstr "啟用 SYN-flood 防禦"
 msgid "Enable logging on this zone"
 msgstr "啟用此區域的日誌記錄"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "Expecting: %s"
 msgstr ""
@@ -238,16 +247,16 @@ msgstr "實驗特性。與 QoS/SQM 不完全相容。"
 msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:210
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:218
 msgid "External IP address"
 msgstr "外部 IP 位址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 msgid "External port"
 msgstr "外部埠"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:267
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:422
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:331
 msgid "Extra arguments"
 msgstr "附加引數"
@@ -276,11 +285,11 @@ msgstr "防火牆 - 自訂規則"
 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:100
 msgid "Firewall - Port Forwards"
 msgstr "防火牆 - 埠轉發"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:160
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:169
 msgid "Firewall - Traffic Rules"
 msgstr "防火牆 - 通訊規則"
 
@@ -293,11 +302,11 @@ msgstr "防火牆 - 區域設定"
 msgid "Forward"
 msgstr "轉發"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:135
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:143
 msgid "Forward to"
 msgstr "轉發到"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:436
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:346
 msgid "Friday"
 msgstr "星期五"
@@ -333,8 +342,8 @@ msgstr "來自 %s 位於<var>本裝置</var>源埠 %s 源 MAC %s"
 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/rules.js:168
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:108
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js: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:77
@@ -363,12 +372,12 @@ msgid "IPv4"
 msgstr "IPv4"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:220
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:267
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:192
 msgid "IPv4 and IPv6"
 msgstr "IPv4 和 IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:268
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "僅 IPv4"
@@ -377,25 +386,29 @@ msgstr "僅 IPv4"
 msgid "IPv6"
 msgstr "IPv6"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:235
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:269
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:194
 msgid "IPv6 only"
 msgstr "僅 IPv6"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:239
+msgid "Inbound device"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "入站資料"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
 msgid "Internal IP address"
 msgstr "內部 IP 位址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:251
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:259
 msgid "Internal port"
 msgstr "內部埠"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:233
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:241
 msgid "Internal zone"
 msgstr "內部區域"
 
@@ -403,6 +416,10 @@ msgstr "內部區域"
 msgid "Limit log messages"
 msgstr "限制日誌資訊"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid "Loopback source IP"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:96
 msgid "MAC"
 msgstr "MAC"
@@ -423,8 +440,8 @@ msgstr "MSS 鉗制"
 msgid "Masquerading"
 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/rules.js:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:133
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:214
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:173
 msgid "Match"
 msgstr "匹配規則"
@@ -435,10 +452,14 @@ msgid ""
 "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:288
 msgid "Match ICMP type"
 msgstr "匹配 ICMP 型別"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+msgid "Match device"
+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 ""
@@ -457,16 +478,28 @@ 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:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:232
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:302
 #: 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/forwards.js:284
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:404
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:303
 #: 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 ""
@@ -475,12 +508,12 @@ msgstr ""
 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:432
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:342
 msgid "Monday"
 msgstr "星期一"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:442
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:352
 msgid "Month Days"
 msgstr "日期"
@@ -496,9 +529,8 @@ msgid ""
 "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/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/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:210
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:169
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
 msgid "Name"
@@ -508,24 +540,25 @@ msgstr "名字"
 msgid "Network"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Only match incoming traffic directed at the given IP address."
 msgstr "僅匹配指定目的 IP 位址的入站流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:182
 msgid "Only match incoming traffic from these MACs."
 msgstr "僅匹配來自這些 MAC 的入站流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:195
 msgid "Only match incoming traffic from this IP or range."
 msgstr "僅匹配來自此 IP 或 IP 範圍的入站流量。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:200
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:208
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr "僅匹配源自客戶端主機上給定源埠或源埠範圍的入站流量。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:240
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:309
 msgid "Outbound device"
 msgstr ""
@@ -539,8 +572,8 @@ msgstr ""
 msgid "Output"
 msgstr "出站資料"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:268
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:319
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:332
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "傳遞到 iptables 的額外引數。小心使用!"
@@ -554,29 +587,29 @@ msgid ""
 "all services."
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:103
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:25
 msgid "Port Forwards"
 msgstr "埠轉發"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:93
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:101
 msgid ""
 "Port forwarding allows remote computers on the Internet to connect to a "
 "specific computer or service within the private LAN."
 msgstr "埠轉發允許 Internet 上的遠端計算機連線到內部網路中的特定計算機或服務。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:154
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:241
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:162
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:275
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "Protocol"
 msgstr "協議"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:252
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:260
 msgid ""
 "Redirect matched incoming traffic to the given port on the internal host"
 msgstr "重定向匹配的入站流量到內部主機的埠"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:240
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "重定向匹配的入站流量到指定的內部主機"
 
@@ -604,7 +637,7 @@ msgstr "要限制 IP 動態偽裝的目標子網"
 msgid "Restrict Masquerading to given source subnets"
 msgstr "要限制 IP 動態偽裝的源子網"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:230
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:264
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "限制位址"
@@ -645,7 +678,7 @@ msgstr "Routing/NAT 分載"
 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:437
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:347
 msgid "Saturday"
 msgstr "星期六"
@@ -658,52 +691,64 @@ msgstr "基於軟體的 Routing/NAT 分載"
 msgid "Software flow offloading"
 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:194
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:213
 msgid "Source IP address"
 msgstr "源 IP 位址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:173
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:307
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:341
 msgid "Source MAC address"
 msgstr "源 MAC 位址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:318
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:352
 msgid "Source address"
 msgstr "源位址"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:226
 msgid "Source port"
 msgstr "源埠"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:167
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:301
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:175
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:335
 msgid "Source zone"
 msgstr "源區域"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:401
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:257
+msgid ""
+"Specifies whether to tie this traffic rule to a specific inbound or outbound "
+"network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+msgid ""
+"Specifies whether to use the external or the internal IP address for "
+"reflected traffic."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:461
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:371
 msgid "Start Date (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:453
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:363
 msgid "Start Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:405
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:465
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:375
 msgid "Stop Date (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:457
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:367
 msgid "Stop Time (hh.mm.ss)"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:371
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:431
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:341
 msgid "Sunday"
 msgstr "星期日"
@@ -741,17 +786,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:435
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:345
 msgid "Thursday"
 msgstr "星期四"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:179
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:163
 msgid "Time Restrictions"
 msgstr ""
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:409
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:469
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:379
 msgid "Time in UTC"
 msgstr "UTC 時間"
@@ -778,12 +823,16 @@ msgid ""
 "%{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:397
+msgid "Tracking helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
 #: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:34
 msgid "Traffic Rules"
 msgstr "通訊規則"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:161
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:170
 msgid ""
 "Traffic rules define policies for packets traveling between different zones, "
 "for example to reject traffic between certain hosts or to open WAN ports on "
@@ -792,7 +841,7 @@ msgstr ""
 "通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放"
 "路由器 WAN 上的埠。"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:373
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:343
 msgid "Tuesday"
 msgstr "星期二"
@@ -801,18 +850,23 @@ msgstr "星期二"
 msgid "Unable to save contents: %s"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:299
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:419
+msgid "Unknown or not installed conntrack helper \"%s\""
+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:122
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:116
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:130
 msgid "Unnamed forward"
 msgstr "未命名轉發"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:177
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:211
 msgid "Unnamed rule"
 msgstr "未命名規則"
 
@@ -820,6 +874,14 @@ msgstr "未命名規則"
 msgid "Unnamed zone"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:279
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:278
+msgid "Use internal IP address"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
 msgid ""
 "Use this option to classify zone traffic by raw, non-<em>uci</em> managed "
@@ -840,12 +902,12 @@ msgstr "通過 %s"
 msgid "Via %s at %s"
 msgstr "通過 %s 在 %s"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:374
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:434
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:344
 msgid "Wednesday"
 msgstr "星期三"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:366
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:336
 msgid "Week Days"
 msgstr "星期"
@@ -858,23 +920,26 @@ msgstr "區域 ⇒ 轉發"
 msgid "Zones"
 msgstr "區域"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:47
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:123
 msgid "accept"
 msgstr "接受"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:178
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:191
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:204
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:215
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:255
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:259
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:310
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:321
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:327
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:342
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:186
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:199
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:223
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:263
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:286
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:293
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:344
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:376
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:382
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:399
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:406
 #: 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
@@ -883,7 +948,7 @@ msgid "any"
 msgstr "所有"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:53
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:139
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:147
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:58
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:85
 msgid "any host"
@@ -897,10 +962,14 @@ msgstr "所有路由 IP"
 
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:182
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:52
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:138
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:146
 msgid "any zone"
 msgstr "所有區域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:395
+msgid "assign conntrack helper"
+msgstr ""
+
 #: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:267
 msgid "day"
 msgstr "日"
@@ -910,11 +979,11 @@ msgstr "日"
 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:394
 msgid "don't track"
 msgstr "不跟蹤"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:357
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:391
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
@@ -941,7 +1010,7 @@ msgstr "埠"
 msgid "ports"
 msgstr "埠"
 
-#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:393
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:45
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:121
 msgid "reject"
@@ -965,6 +1034,11 @@ msgstr "型別"
 msgid "types"
 msgstr "型別"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:238
+msgid "unspecified"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:313
 #: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:326
 msgid "valid firewall mark"
 msgstr ""

+ 59 - 50
applications/luci-app-upnp/po/bg/upnp.po

@@ -12,192 +12,201 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr ""
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
 

+ 62 - 50
applications/luci-app-upnp/po/ca/upnp.po

@@ -16,7 +16,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.9.1-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -24,163 +24,170 @@ msgstr ""
 "Els ACL especifiquen quins ports externs es poden redirigir a quines adreces "
 "i ports interns"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Acció"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Redireccions UPnP actives"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Ajusts avançats"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Permet que s'afegeixin redireccions només a les adreces IP peticionant"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Número de model anunciat"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Número de sèrie anunciat"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Interval de neteja de regles"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Llindar de neteja de regles"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Adreça de client"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Port de client"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "S’estan recollint dades…"
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Comentari"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Suprimeix"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Descripció"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID de dispositiu"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Enllaç de baixada"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Habilita la funcionalitat NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Habilita la funcionalitat UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Habilita el registre addicional"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Habilita mode segur"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Port extern"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Ports externs"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Ajusts generals"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Amfitrió"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Adreces internes"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Ports interns"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "ACLs de MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Ajusts de MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Interval de notificació"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocol"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Posa informació extra de depuració en el registre de sistema"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Reporta el temps actiu del sistema en lloc del del dimoni"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Inicia el servei UPnP i NAP-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "No hi ha redireccions actives."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -188,27 +195,32 @@ msgstr ""
 "UPnP permet als clients de la xarxa local configurar automàticament el "
 "router."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Fitxer d'arrendament UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Desconegut"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Enllaç de pujada"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valor en KByte/s, només per informació"
 
+#~ msgid "Collecting data..."
+#~ msgstr "S’estan recollint dades…"
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Suprimeix la redirecció"
 

+ 62 - 50
applications/luci-app-upnp/po/cs/upnp.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -20,190 +20,202 @@ msgstr ""
 "ACL stanovují, které vnější porty by měly být přesměrovány na které vnitřní "
 "adresy a porty"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Akce"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Aktivní přesměrování UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Pokročilé nastavení"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Inzerovat jako IGDv1 zařízení místo IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Povolit přesměrování pouze na dotazující ip adresy"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Oznámené číslo modelu"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Oznámené sériové číslo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Interval čištění pravidel"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Práh čištění pravidel"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Adresa klienta"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Port klienta"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Probíhá sběr dat..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Komentář"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Odstranit"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Popis"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID zařízení"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "Povolit režim IGDv1"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Povolit funkčnost NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Povolit funkčnost UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Povolit přídavné logování"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Povolit bezpečný režim"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Vnější port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Vnější porty"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Obecné nastavení"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Hostitel"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Vnitřní adresy"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Vnitřní porty"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP ACL listy"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Nastavení MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Interval oznamování"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Prezentační URL"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protokol"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Vypisovat extra ladící informace do systémového záznamu"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Hlásit uptime systému namísto uptime daemonu"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Spustit službu UPnP a NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Neexistují žádná aktivní přesměrování."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 "UPnP umožňuje klientům v místní síti automaticky nakonfigurovat router."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Soubor UPnP výpůjček"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Univerzální Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Neznámý"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Pouze informační hodnoty (v KByte/s)"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Probíhá sběr dat..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Odstranit přesměrování"
 

+ 62 - 50
applications/luci-app-upnp/po/de/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,163 +22,170 @@ msgstr ""
 "ACLs definieren, welche externen Ports zu welchen internen Adressen und "
 "Ports weitergeleitet werden dürfen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Aktion"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Aktive UPnP-Weiterleitungen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Erweiterte Einstellungen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Als IGDv1-Gerät anstelle von IGDv2 bekanntgeben"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Nur Weiterleitungen zurück zum anfordernden Client zulassen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Angekündigte Modellnummer"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Angekündigte Seriennummer"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Aufräumintervall für Weiterleitungen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Aufräumschwellenwert für Weiterleitungen"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Clientadresse"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Clientport"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Sammle Daten..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Kommentar"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Löschen"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Beschreibung"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "Geräte-UUID"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Download-Bandbreite"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "IGDv1 Modus aktivieren"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "NAT-PMP Funktionalität aktivieren"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "UPnP Funktionalität aktivieren"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Erweiterte Protokollierung aktivieren"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Sicheren Modus aktivieren"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Externer Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Externe Ports"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Allgemeine Einstellungen"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Host"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Interne Adressen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Interne Ports"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP ACLs"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "MiniUPnP-Einstellungen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Benachrichtigungsintervall"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Präsentations-URL"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Schreibt zusätzliche Debug-Informationen in das Systemprotokoll"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Systemlaufzeit statt Prozesslaufzeit melden"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "UPnP und NAT-PMP Dienst starten"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Es gibt keine aktiven Weiterleitungen."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,27 +193,32 @@ msgstr ""
 "UPnP erlaubt es Clients im lokalen Netzwerk automatisch Port-Weiterleitungen "
 "auf diesem Router einzurichten."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP Lease-Datei"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Wert in Kilobyte/s, nur informativ"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Sammle Daten..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Weiterleitung löschen"
 

+ 62 - 50
applications/luci-app-upnp/po/el/upnp.po

@@ -14,191 +14,203 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Συλλογή δεδομένων..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Περιγραφή"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
+
+#~ msgid "Collecting data..."
+#~ msgstr "Συλλογή δεδομένων..."

+ 59 - 50
applications/luci-app-upnp/po/en/upnp.po

@@ -12,192 +12,201 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr ""
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Enable secure mode"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
 

+ 62 - 50
applications/luci-app-upnp/po/es/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,163 +22,170 @@ msgstr ""
 "Los ACL especifican qué puertos externos pueden ser redirigidos hacia qué "
 "direcciones y puertos internos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Acción"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Redirecciones UPnP activas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Configuración avanzada"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Anunciarse como dispositivo IGDv1 en lugar de IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Permitir añadir redirecciones sólo a IPs que lo soliciten"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Número de modelo declarado"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Número de serie declarado"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Intervalo de borrado de reglas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Umbral de borrado de reglas"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Dirección del cliente"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Puerto del cliente"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Recolectando datos…"
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Comentario"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Eliminar"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Descripción"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID del dispositivo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Enlace descendente"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "Activar modo IGDv1"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Activar la funcionalidad NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Activar la funcionalidad UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Activar registro adicional"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Activar modo seguro"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Puerto externo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Puertos externos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Configuración general"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Host"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Direcciones internas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Puertos internos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "ACLs MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Configuración MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Intervalo de notificación"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Puerto"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL de presentación"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Escribe información de depuración extra en el registro del sistema"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Informar del tiempo activo del sistema en vez de el del demonio"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Iniciar servicio UPnP y NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Sin redirecciones activas."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,27 +193,32 @@ msgstr ""
 "UPnP permite a los clientes en la red local configurar automáticamente el "
 "enrutador."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Tiempo de conexión UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Plug & Play universal"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Desconocido"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Enlace ascendente"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valor en KBytes/s (sólo informativo)"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Recolectando datos…"
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Borrar redirección"
 

+ 62 - 50
applications/luci-app-upnp/po/fr/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.10.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,166 +22,173 @@ msgstr ""
 "Les ACLs définissent quels ports externes peuvent être redirigés, vers "
 "quelles adresses et ports internes"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Action"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Redirections UPnP actives"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Paramètres avancés"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 "Permet d'ajouter des redirections seulement vers les adresses IP qui font "
 "des demandes"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Numéro de modèle annoncé"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Numéro de série annoncé"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Intervalle des règles de nettoyage"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Niveau des règles de nettoyage"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Adresse du client"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Port du client"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Récupération des données…"
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Commentaire"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Effacer"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Description"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID du périphérique"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Lien descendant"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Activer la fonctionnalité NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Activer la fonctionnalité UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Activer la journalisation additionnelle"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Activer le mode sécurisé"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Port externe"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Ports externes"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Paramètres généraux"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Hôte"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Adresses internes"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Ports internes"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "ACLs MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Paramètres MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Intervalle de notification"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL de présentation"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocole"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Rajoute des informations de debug dans le journal-système"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 "Indiquer la durée de fonctionnement du système plutôt que celle du démon UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Démarrer les services UPnP et NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Il n'y a pas de redirections actives."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -189,27 +196,32 @@ msgstr ""
 "UPnP permet à des clients du réseau local de configurer automatiquement le "
 "routeur."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Fichier des baux UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Inconnue"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Lien remontant"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valeur en Ko/s, pour information seulement"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Récupération des données…"
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Détruire la redirection"
 

+ 59 - 50
applications/luci-app-upnp/po/he/upnp.po

@@ -8,191 +8,200 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr ""
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""

+ 59 - 50
applications/luci-app-upnp/po/hi/upnp.po

@@ -12,192 +12,201 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr ""
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
 

+ 62 - 50
applications/luci-app-upnp/po/hu/upnp.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -20,165 +20,172 @@ msgstr ""
 "Az ACL-ek határozzák meg, hogy melyik külső portok melyik belső portokra és "
 "címekre kerülhetnek továbbításra"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Művelet"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Aktív UPnP átirányítások"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Speciális beállítások"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 "Kizárólag a kérést küldő IP címre történő továbbítás hozzáadásának "
 "engedélyezése"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Bejelentett modellszám"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Bejelentett sorozatszám"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Szabály törlési időköz"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Szabály törlési küszöbérték"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Ügyfél cím"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Ügyfél port"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Adatok összegyűjtése…"
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Megjegyzés"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Törlés"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Leírás"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "Eszköz UUID"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Befelé jövő kapcsolat"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "IGDv1 mód engedélyezése"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "NAT-PMP funkció engedélyezése"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "UPnP funkció engedélyezése"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "További naplózás engedélyezése"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Biztonságos mód engedélyezése"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Külső port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Külső portok"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Általános beállítások"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Gép"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Belső címek"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Belső portok"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP ACL-ek"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "MiniUPnP beállítások"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Értesítési időköz"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Bemutató URL"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "További nyomkövetési információk írása a rendszernaplóba."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "A démon helyett a rendszer működési idejét jeleníti meg"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "UPnP és NAT-PMP szolgáltatás elindítása"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Nincsenek aktív átírányítások."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,27 +193,32 @@ msgstr ""
 "Az UPnP lehetővé teszi a hálózatban lévő ügyfelek számára hogy automatikusan "
 "beállítsák a routert."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP bérlet fájl"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Univerzális Plug and Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Ismeretlen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Kifelé menő kapcsolat"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Érték KByte/s-ban, csak tájékoztató jellegű"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Adatok összegyűjtése…"
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Átirányítás törlése"
 

+ 62 - 50
applications/luci-app-upnp/po/it/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.10.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,163 +22,170 @@ msgstr ""
 "Le ACL specificano quali porte esterne possono essere redirezionate agli "
 "indirizzi interni e porte."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Azione"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Attiva reindirizzamento UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Opzioni Avanzate"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Permetti l'aggiunta della mappatura solo agli indirizzi IP richiedenti"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Numero di modello annunciato"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Numero seriale annunciato"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Cancella le regole"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Pulisci le regole degli eventi"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Indirizzo IP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Porta"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Raccolgo i dati..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Descrizione"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID del dispositivo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Abilita il protocollo NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Abilita il protocollo UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Abilita log addizionale"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Abilita la modalità sicura"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Porta Esterna"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Porte Esterne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Opzioni Generali"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Indirizzi Interni"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Porte Interne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP ACLs"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Opzioni di MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Intervello di notifica"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL di presentazione"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocollo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Scrivi nel log di sistema le informazioni di extra debugging"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Mostra l'uptime del sistema invece del demone"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Avvia il servizo UPnP e NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Non ci sono mappature attive."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,27 +193,32 @@ msgstr ""
 "UPnP permette ai dispositivi nella rete locale di configurare "
 "automaticamente il router."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP lease file"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Sconosciuto"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valori in KByte/s, (informativo)"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Raccolgo i dati..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Cancella Mappatura"
 

+ 62 - 50
applications/luci-app-upnp/po/ja/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.9\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,163 +22,170 @@ msgstr ""
 "アクセス制御リスト(ACL) は、どの外部ポートからどの内部アドレス及びポートへリ"
 "ダイレクトするかを設定します。"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "動作"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "稼働中のUPnPリダイレクト"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "詳細設定"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "要求元IPアドレスへの転送のみ、追加を許可します。"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "通知するモデル番号"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "通知するシリアル番号"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "ルール消去間隔"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "ルール消去しきい値"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "クライアント・アドレス"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "クライアント・ポート"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "データ収集中です..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "コメント"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "削除"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "説明"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "デバイス UUID"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "ダウンリンク"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "NAT-PMP機能を有効にする"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "UPnP機能を有効にする"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "ログ機能を有効にする"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "セキュアモードを有効にする"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "外部ポート"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "外部ポート"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "一般設定"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "内部アドレス"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "内部ポート"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP アクセス制御リスト (ACL)"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "MiniUPnP 設定"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "通知間隔"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "ポート"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "プレゼンテーションURL"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "プロトコル"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "追加のデバッグ情報をシステムログへ挿入する"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "サービスの起動時間の代わりにシステムの起動時間を使用する"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "UPnP及びNAT-PMPサービスを開始する"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "有効なリダイレクトはありません。"
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,23 +193,28 @@ msgstr ""
 "UPnPを使用することで、ローカルネットワーク内のクライアントが自動的にルータを"
 "構成することができます。"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP リースファイル"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "ユニバーサル プラグ & プレイ"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "アップリンク"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "クライアントへの情報提供のみに使用される、KByte/sの値です。"
+
+#~ msgid "Collecting data..."
+#~ msgstr "データ収集中です..."

+ 59 - 50
applications/luci-app-upnp/po/ko/upnp.po

@@ -12,192 +12,201 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Translate Toolkit 1.1.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr ""
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
 

+ 62 - 50
applications/luci-app-upnp/po/mr/upnp.po

@@ -14,195 +14,207 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.10\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "प्रगत सेटिंग्ज"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "डेटा संकलित करीत आहे ..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "वर्णन"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "सामान्य सेटिंग्ज"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "पोर्ट"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "प्रोटोकॉल"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
 
+#~ msgid "Collecting data..."
+#~ msgstr "डेटा संकलित करीत आहे ..."
+
 #~ msgid ""
 #~ "UPNP allows clients in the local network to automatically configure the "
 #~ "router."

+ 62 - 50
applications/luci-app-upnp/po/ms/upnp.po

@@ -12,191 +12,203 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Tindakan"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Mengumpul data..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Keterangan"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
+
+#~ msgid "Collecting data..."
+#~ msgstr "Mengumpul data..."

+ 62 - 50
applications/luci-app-upnp/po/no/upnp.po

@@ -10,7 +10,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.9.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -18,163 +18,170 @@ msgstr ""
 "ACL angir hvilke eksterne porter som kan bli viderekoblet, og til hvilke "
 "interne adresser og porter."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Handling"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Aktive UPnP Viderekoblinger"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Avanserte Innstillinger"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Tillat videkobling kun til IP adresser som ber om det"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Annonsert modellnummer"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Annonsert serienummer"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Nullstill UPnP Viderekoblinger intervall"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Nullstill UPnP terskel"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Klient adresse"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Klient port"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Samler inn data…"
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Kommentar"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Beskrivelse"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "Enhet UUID"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Nedlinje"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Aktiver NAT-PMP funksjonalitet"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Aktiver UPnP funksjonalitet"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Aktiver tilleggs logging"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Aktiver sikker modus"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Ekstern port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Eksterne porter"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Generelle Innstillinger"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Interne adresser"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Interne porter"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP ACL'er"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "MiniUPnP Innstillinger"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Informasjons intervall"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Presentasjon URL"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Setter ekstra debugging informasjon i systemloggen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Rapporter systemets oppetid istedenfor daemon oppetid"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Start UPnP og NAT-PMP tjenesten"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Det finnes ingen aktive viderekoblinger"
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -182,27 +189,32 @@ msgstr ""
 "UPnP gjør at klientene i det lokale nettverket automatisk kan konfigurere "
 "ruteren."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP leie fil"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Opplinje"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Verdi i KByte/sek, kun for informasjon"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Samler inn data…"
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Fjern Viderekobling"
 

+ 62 - 50
applications/luci-app-upnp/po/pl/upnp.po

@@ -13,7 +13,7 @@ msgstr ""
 "|| n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 3.11-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -21,190 +21,202 @@ msgstr ""
 "Listy kontroli dostępu (ang. ACL) określają jakie porty mogą być "
 "przekierowane do jakich wewnętrznych adresów i portów"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Akcja"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Aktywne przekierowania UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Ustawienia zaawansowane"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Rozgłaszanie jako urządzenie IGDv1 zamiast jako IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Zezwól na dodawanie przekazywań tylko do odpytujących adresów IP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Rozgłaszany numer modelu"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Rozgłaszany numer seryjny"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Interwał czyszczenia reguł"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Próg czyszczenia reguł"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Adres klienta"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Port klienta"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Trwa zbieranie danych..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Komentarz"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Usuń"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Opis"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID urządzenia"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "Włącz tryb IGDv1"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Włącz funkcjonalność NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Włącz funkcjonalność UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Włącz rozszerzone raportowanie"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Włącz tryb bezpieczny"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Port zewnętrzny"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Porty zewnętrzne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Ustawienia główne"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Host"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Adresy wewnętrzne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Porty wewnętrzne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "Listy kontroli dostępu MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Ustawienia MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Interwał powiadamiania"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL prezentacji"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protokół"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Dodaje dodatkowe informacje debugowania do loga systemowego"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Zgłaszaj czas pracy systemu zamiast czas pracy usługi"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Uruchom usługi UPnP i NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Nie ma aktywnych przekierowań."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 "UPnP umożliwia klientom w sieci lokalnej automatyczne konfigurowanie routera."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Plik dzierżawy UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Nieznany"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Wartość w KB/s, tylko informacyjna"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Trwa zbieranie danych..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Usuń przekierowanie"
 

+ 62 - 50
applications/luci-app-upnp/po/pt-br/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,192 +22,204 @@ msgstr ""
 "ACLs especificam quais portas externas podem ser redirecionadas para quais "
 "endereços e portas internos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Ação"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Redirecionamentos UPnP Ativos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Configurações Avançadas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Anuncie-se como um dispositivo IGDv1 ao invés de um IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 "Permite adicionar encaminhamento apenas para o endereço IP requisitante"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Número do modelo anunciado"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Número de série anunciado"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Intervalo de limpeza das regras"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Limiar de limpeza das regras"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Endereço do cliente"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Porta do Cliente"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Coletando dados..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Comentário"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Apagar"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Descrição"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID do Dispositivo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Velocidade de recebimento do enlace (downlink)"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "Habilitar o modo IGDv1"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Habilite a função NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Habilite a função UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Habilite registros adicionais"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Habilite modo seguro"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Porta Externa"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Portas Externas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Configurações Gerais"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Host"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Endereços internos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Portas internas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "ACLs do MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Configurações do MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Intervalo de notificação"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Porta"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL de Apresentação"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Envie informações extra de depuração ao registro do sistema"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Informe o tempo de vida do sistema ao invés do tempo do processo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Dispare os serviços de UPnP e NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Não existe redirecionamentos ativos."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 "<abbr title=\"Universal Plug and Play, Plugue e Use Universal\">UPnP</abbr>"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 "UPnP permite os clientes da rede local configurem automaticamente o roteador."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Arquivo de concessão do UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Plug & Play Universal"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Desconhecido"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Velocidade de envio do enlace (uplink)"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valores em KByte/s, apenas informativas"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Coletando dados..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Apague o Redirecionamento"
 

+ 64 - 51
applications/luci-app-upnp/po/pt/upnp.po

@@ -14,7 +14,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -22,163 +22,171 @@ msgstr ""
 "Os ACL especificam quais as portas externas que podem ser redirecionadas "
 "para que endereços internos e portas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Ação"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Redirecionamentos ativos da UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Definições Avançadas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Anuncie como aparelho IGDv1 em vez de IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
-msgstr "Permitir a adição de encaminhamentos apenas para solicitar endereços IP"
+msgstr ""
+"Permitir a adição de encaminhamentos apenas para solicitar endereços IP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Número modelo anunciado"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Número de série anunciado"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Limpar intervalo de regras"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Limpar limiar de regras"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Endereço do Cliente"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Porta do Cliente"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "A recolher dados..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Comentário"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Apagar"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Descrição"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID do aparelho"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "Ativar o modo IGDv1"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Ativar a funcionalidade NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Ativar a funcionalidade UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Ativar log adicional"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Ativar o modo seguro"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Porta Externa"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Portas externas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Configurações Gerais"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Host"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Endereços internos"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Portas internas"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "ACLs MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Definições MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Intervalo de Notificação"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Porta"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL de apresentação"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocolo"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Põe informações de depuração extras no log do sistema"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Relata uptime do sistema ao invés da do daemon"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Iniciar serviço UPnP e NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Não há redirecionamentos ativos."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,27 +194,32 @@ msgstr ""
 "UPnP permite que os clientes da rede local configurem o router "
 "automaticamente."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Ficheiro de concessão UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Plug & Play Universal"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Desconhecido"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valor em KByte/s, apenas informativo"
 
+#~ msgid "Collecting data..."
+#~ msgstr "A recolher dados..."
+
 #~ msgid ""
 #~ "UPNP allows clients in the local network to automatically configure the "
 #~ "router."

+ 62 - 50
applications/luci-app-upnp/po/ro/upnp.po

@@ -13,7 +13,7 @@ msgstr ""
 "20)) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10.1\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -21,190 +21,202 @@ msgstr ""
 "ACL-urile specifica porturile externe care pot fi redirectate si spre ce "
 "adrese si porturi interne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Actiune"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Redirecturi active UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Setări avansate"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Permite adaugarea forward-urilor doar catre adresele ip solicitante"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Numar de model anuntat"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Numar serial anuntat"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Intervalul de curatare reguli"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Limita de curatare reguli"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Adresa client"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Port client"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Colectare date..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Comentariu"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Descriere"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID al dispozitivului"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Activeaza functionalitatea NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Activeaza functionalitatea UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Activeaza log-area aditionala"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Activeaza modul securizat"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Port extern"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Porturi externe"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Setări principale"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Adrese interne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Porturi interne"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "Liste de acces mini UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Setari mini UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Interval de notificare"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Adresa de prezentare"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protocol"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Pune informatii utile suplimentare in log-ul de sistem"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Raporteaza timpul de functionare de sistem in loc de serviciu"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Porneste UPnP si serviciul NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Nu exista redirecturi active."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 "UPNP permite clientulor din reteaua locala sa configureze automat routerul."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Fisierul de conexiuni UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Valorea in KOcteti/s , doar informational"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Colectare date..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Sterge redirect"
 

+ 62 - 50
applications/luci-app-upnp/po/ru/upnp.po

@@ -16,7 +16,7 @@ msgstr ""
 "Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
 "интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -24,163 +24,170 @@ msgstr ""
 "Список доступа задает внешние порты для перенаправления на внутренние адреса "
 "и порты."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Действие"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Активные UPnP-переадресации"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Дополнительные настройки"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Объявить как IGDv1 устройство вместо IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "Разрешить перенаправление только для запрашивающих IP-адресов."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Объявить номер модели"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Объявить серийный номер"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Интервал очистки правил"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Порог очистки правил"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Адрес клиента"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Порт клиента"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Сбор данных..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Комментарий"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Удалить"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Описание"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID устройства"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Внутреннее соединение"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "IGDv1 режим"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Включить NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Включить UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Дополнительное журналирование"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Защищённый режим"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Внешний порт"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Внешние порты"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Основные настройки"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Хост"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Внутренние адреса"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Внутренние порты"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "Список доступа MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Настройки MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Интервал уведомления"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Порт"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Задать URL-адрес"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Протокол"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Добавлять дополнительную отладочную информацию в системный журнал."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Сообщать время работы системы вместо службы"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Запустить службы<br />UPnP и NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Активные переадресации отсутствуют."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -188,23 +195,28 @@ msgstr ""
 "UPnP позволяет клиентам в локальной сети автоматически настраивать "
 "маршрутизатор."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Файл аренды UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Неизвестно"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Внешнее соединение"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Значение в КБ/с, только для информации."
+
+#~ msgid "Collecting data..."
+#~ msgstr "Сбор данных..."

+ 62 - 50
applications/luci-app-upnp/po/sk/upnp.po

@@ -12,191 +12,203 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Akcia"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Zbieram dáta..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Popis"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
+
+#~ msgid "Collecting data..."
+#~ msgstr "Zbieram dáta..."

+ 62 - 50
applications/luci-app-upnp/po/sv/upnp.po

@@ -12,7 +12,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 3.9.1-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -20,163 +20,170 @@ msgstr ""
 "ACL:er anger vilka externa portar som ska omdirigeras till vilka interna "
 "adresser och portar"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Åtgärd"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Aktivera UPnP-omdirigeringar"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Avancerade inställningar"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Aviserat modellnummer"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Aviserat serienummer"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Klient-adress"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Klient-port"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Samlar in data..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Kommentera"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Radera"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Beskrivning"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "Enhetens UUID"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Nerlänk"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Aktivera NAT-PMP-funktionalitet"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Aktivera UPnP-funktionalitet"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Aktivera ytterligare loggning"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Aktivera säkert läge"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Extern port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Externa portar"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Generella inställningar"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Värd"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Interna adresser"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Interna portar"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "ACL:er för MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Inställningar för MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Intervall för avisering"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Port"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "Presentationens URL"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Protokoll"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Lägger extra felsökningsinformation till system-loggen"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Rapportera systemet iställer för demonens upptid"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Starta UPnP och NAT-PMP-tjänsten"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Det finns inga aktiva omdirigeringar."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -184,26 +191,31 @@ msgstr ""
 "UPnP tillåter klienter i det lokala nätverket att automatiskt ställa in "
 "routern."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Hyr-fil för UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universiell Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Okänd"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Upplänk"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Värde i KByte/s, endast informell"
 
+#~ msgid "Collecting data..."
+#~ msgstr "Samlar in data..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "Ta bort omdirigering"

+ 59 - 50
applications/luci-app-upnp/po/templates/upnp.pot

@@ -1,191 +1,200 @@
 msgid ""
 msgstr "Content-Type: text/plain; charset=UTF-8"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr ""
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""

+ 62 - 50
applications/luci-app-upnp/po/tr/upnp.po

@@ -12,191 +12,203 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Eylem"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Veri alınıyor..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
+
+#~ msgid "Collecting data..."
+#~ msgstr "Veri alınıyor..."

+ 62 - 50
applications/luci-app-upnp/po/uk/upnp.po

@@ -13,7 +13,7 @@ msgstr ""
 "4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
@@ -21,164 +21,171 @@ msgstr ""
 "Список контролю доступу визначає, які зовнішні порти можуть бути "
 "переспрямовані на які внутрішні адреси й порти"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Дія"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "Активні переспрямування UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "Додаткові параметри"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "Оголошувати як пристрій IGDv1 замість IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 "Дозволити додавання переспрямування тільки для IP-адрес, що надсилають запити"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "Оголошуваний номер моделі"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "Оголошуваний серійний номер"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "Інтервал очищення правил"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "Поріг очищення правил"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "Адреса клієнта"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "Порт клієнта"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Збирання даних..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Примітка"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "Видалити"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Опис"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "UUID пристрою"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Низхідне з'єднання"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "Увімкнути режим IGDv1"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "Увімкнути функцію NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "Увімкнути функцію UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "Увімкнути додаткове журналювання"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Увімкнути захищений режим"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "Зовнішній порт"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "Зовнішні порти"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "Загальні параметри"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "Вузол"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "Внутрішні адреси"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "Внутрішні порти"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "Список контролю доступу MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "Настройки MiniUPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "Інтервал сповіщення"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "Порт"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "URL презентації"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Протокол"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "Включати додаткові відомості для налагодження до системного журналу"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "Повідомляти час безвідмовної роботи системи, а не сервісу"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "Запускати служби UPnP та NAT-PMP"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "Немає активних переспрямувань."
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
@@ -186,23 +193,28 @@ msgstr ""
 "UPnP надає клієнтам у локальній мережі змогу автоматично настроювати "
 "маршрутизатор."
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "Файл оренд UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "Невідомо"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Висхідне з'єднання"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "Значення (КБ/с), тільки для інформації"
+
+#~ msgid "Collecting data..."
+#~ msgstr "Збирання даних..."

+ 62 - 50
applications/luci-app-upnp/po/vi/upnp.po

@@ -16,195 +16,207 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "Hành động"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "Đang lấy dữ liệu..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "Bình luận"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "Mô tả"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "Downlink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "Kích hoạt chế độ an toàn"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "Giao thức"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "Universal Plug & Play"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "Uplink"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr ""
 
+#~ msgid "Collecting data..."
+#~ msgstr "Đang lấy dữ liệu..."
+
 #~ msgid ""
 #~ "UPNP allows clients in the local network to automatically configure the "
 #~ "router."

+ 62 - 50
applications/luci-app-upnp/po/zh-cn/upnp.po

@@ -17,195 +17,207 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr "ACL 指定哪些外部端口可以被重定向至哪些内部地址及端口"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "动作"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "活动的 UPnP 重定向"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "高级设置"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr "广播为 IGDv1 设备,而不是 IGDv2"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "允许只向请求的 IP 地址添加转发"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "通告的型号"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "通告的序列号"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "定时清除规则"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "清除规则阈值"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "客户端地址"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "客户端端口"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "正在收集数据…"
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "备注"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr "删除"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "描述"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "设备 UUID"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "下行速率"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr "启用 IGDv1 模式"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "启用 NAT-PMP 功能"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "启用 UPnP 功能"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "启用额外的日志"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "启用安全模式"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "外部端口"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "外部端口"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "基本设置"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "主机"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "内部地址"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "内部端口"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "MiniUPnP ACL"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "MiniUPnP 设置"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "通知的时间间隔"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "端口"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "服务网址"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "协议"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "将额外的调试信息打印至系统日志中"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "用系统运行时间代替进程运行时间"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "启动 UPnP 与 NAT-PMP 服务"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "没有活动的重定向。"
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr "UPnP 允许局域网内客户端自动设置路由器上的端口转发。"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP 租约文件"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "通用即插即用(UPnP)"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "未知"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "上行速率"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "值为 KByte/s,仅供参考"
 
+#~ msgid "Collecting data..."
+#~ msgstr "正在收集数据…"
+
 #~ msgid "Delete Redirect"
 #~ msgstr "删除转发规则"
 

+ 62 - 50
applications/luci-app-upnp/po/zh-tw/upnp.po

@@ -15,195 +15,207 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Weblate 3.10-dev\n"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:81
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:168
 msgid ""
 "ACLs specify which external ports may be redirected to which internal "
 "addresses and ports"
 msgstr "ACL存取控制清單, 就是指定某些外部埠可以從導到內部位址和埠號"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:102
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:188
 msgid "Action"
 msgstr "行動"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:110
 msgid "Active UPnP Redirects"
 msgstr "啓用UPnP從導"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:13
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:116
 msgid "Advanced Settings"
 msgstr "進階設定"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:39
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:128
 msgid "Advertise as IGDv1 device instead of IGDv2"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:36
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:125
 msgid "Allow adding forwards only to requesting ip addresses"
 msgstr "只允許請求的IP位址新增從導機制"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:147
 msgid "Announced model number"
 msgstr "已宣告模組號碼"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:146
 msgid "Announced serial number"
 msgstr "已宣告序號"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:69
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:157
 msgid "Clean rules interval"
 msgstr "清除規則間隔"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:65
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:153
 msgid "Clean rules threshold"
 msgstr "清除規則門檻"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:82
 msgid "Client Address"
 msgstr "用戶端位址"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:84
 msgid "Client Port"
 msgstr "用戶端埠號"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:51
-msgid "Collecting data..."
-msgstr "收集資料中..."
-
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:88
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:174
 msgid "Comment"
 msgstr "評論"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:29
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:64
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:59
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:103
 msgid "Delete"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:46
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:85
 msgid "Description"
 msgstr "說明"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:57
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:145
 msgid "Device UUID"
 msgstr "設備UUID獨立識別碼"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:133
 msgid "Downlink"
 msgstr "下載"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:38
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:127
 msgid "Enable IGDv1 mode"
 msgstr ""
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:33
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:122
 msgid "Enable NAT-PMP functionality"
 msgstr "啓用蘋果NAT-PMP傳輸埠對應通訊協定功能"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:121
 msgid "Enable UPnP functionality"
 msgstr "啓用UPnP通用序列埠功能"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:130
 msgid "Enable additional logging"
 msgstr "啓用額外記錄"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:35
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:124
 msgid "Enable secure mode"
 msgstr "啓用安全模式"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:43
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:81
 msgid "External Port"
 msgstr "外部埠號"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:90
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:176
 msgid "External ports"
 msgstr "外部埠號範圍"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:12
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:115
 msgid "General Settings"
 msgstr "一般設定"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:45
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:44
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:83
 msgid "Host"
 msgstr "主機"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:94
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:180
 msgid "Internal addresses"
 msgstr "內部位址"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:98
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:184
 msgid "Internal ports"
 msgstr "內部埠號"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:80
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:167
 msgid "MiniUPnP ACLs"
 msgstr "小型UPnP存取控制清單"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:10
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:113
 msgid "MiniUPnP settings"
 msgstr "小型UPnP存取控制清單設定"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:61
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:149
 msgid "Notify interval"
 msgstr "提醒間隔"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:50
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:139
 msgid "Port"
 msgstr "埠號"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:73
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:161
 msgid "Presentation URL"
 msgstr "介紹URL連結"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:41
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:80
 msgid "Protocol"
 msgstr "協議"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:42
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:131
 msgid "Puts extra debugging information into the system log"
 msgstr "把額外的除錯資訊放入系統log計錄中"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:55
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:143
 msgid "Report system instead of daemon uptime"
 msgstr "報表系統取代常駐更新時間"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:15
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:118
 msgid "Start UPnP and NAT-PMP service"
 msgstr "啓用UPnP跟NAT-PMP服務"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:32
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:68
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:63
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:107
 msgid "There are no active redirects."
 msgstr "目前無作用中的從導"
 
-#: applications/luci-app-upnp/luasrc/controller/upnp.lua:14
+#: applications/luci-app-upnp/luasrc/controller/upnp.lua:12
 msgid "UPnP"
 msgstr "UPnP"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:6
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:73
 msgid ""
 "UPnP allows clients in the local network to automatically configure the "
 "router."
 msgstr "開放本地用戶端自動設定路由器UPNP機制"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:76
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:164
 msgid "UPnP lease file"
 msgstr "UPnP 租賃文件"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:5
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:72
 msgid "Universal Plug & Play"
 msgstr "通用隨插即用(UPnP)"
 
-#: applications/luci-app-upnp/luasrc/view/upnp_status.htm:26
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/status/include/80_upnp.js:58
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:53
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:97
 msgid "Unknown"
 msgstr "未知"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:47
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:136
 msgid "Uplink"
 msgstr "上行速率"
 
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:45
-#: applications/luci-app-upnp/luasrc/model/cbi/upnp/upnp.lua:48
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:134
+#: applications/luci-app-upnp/htdocs/luci-static/resources/view/upnp/upnp.js:137
 msgid "Value in KByte/s, informational only"
 msgstr "值為 KByte/s,僅供參考"
 
+#~ msgid "Collecting data..."
+#~ msgstr "收集資料中..."
+
 #~ msgid "Delete Redirect"
 #~ msgstr "刪除從導"
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/bg/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/ca/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/cs/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/de/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/el/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/es/vpn-policy-routing.po

@@ -74,7 +74,7 @@ msgstr "Tiempo de arranque"
 msgid "Chain"
 msgstr "Cadena"
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 "La marca de verificación representa la puerta de enlace predeterminada. Ver "
@@ -251,7 +251,7 @@ msgstr "Protocolo"
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr "LÉEME"
 
@@ -504,7 +504,7 @@ msgstr "antes de cambiar esta opción."
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr "para detalles."
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/fr/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/he/vpn-policy-routing.po

@@ -56,7 +56,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -223,7 +223,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -450,7 +450,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/hi/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/hu/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr "Lánc"
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr "Protokoll"
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr "README"
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr "fájlt a részletekért."
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/it/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/ja/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/ko/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/mr/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/ms/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/nb_NO/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 5 - 5
applications/luci-app-vpn-policy-routing/po/pl/vpn-policy-routing.po

@@ -71,7 +71,7 @@ msgstr "Limit czasu rozruchu"
 msgid "Chain"
 msgstr "Łańcuch"
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr "Znacznik wyboru reprezentuje bramę domyślną. Patrz"
 
@@ -246,7 +246,7 @@ msgstr "Protokół"
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr "Plik readme"
 
@@ -349,8 +349,8 @@ msgid ""
 "Shows the enable checkbox column for policies, allowing you to quickly "
 "enable/disable specific policy without deleting it."
 msgstr ""
-"Pokazuje kolumnę pola wyboru włączania dla polityk, pozwalając na szybkie włą"
-"czenie/wyłączenie konkretnej polityki bez jej usuwania."
+"Pokazuje kolumnę pola wyboru włączania dla polityk, pozwalając na szybkie "
+"włączenie/wyłączenie konkretnej polityki bez jej usuwania."
 
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:242
 msgid ""
@@ -498,7 +498,7 @@ msgstr "przed zmianą tej opcji."
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr "dla szczegółów."
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/pt/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr "Cadeia"
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr "Protocolo"
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr "LEIAME"
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr "para detalhes."
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/pt_BR/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/ro/vpn-policy-routing.po

@@ -63,7 +63,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -230,7 +230,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -457,7 +457,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/ru/vpn-policy-routing.po

@@ -63,7 +63,7 @@ msgstr ""
 msgid "Chain"
 msgstr "Цепочка"
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -230,7 +230,7 @@ msgstr "Протокол"
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -457,7 +457,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/sk/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/sv/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/tr/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/uk/vpn-policy-routing.po

@@ -63,7 +63,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -230,7 +230,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -457,7 +457,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/vi/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/zh-cn/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 3 - 3
applications/luci-app-vpn-policy-routing/po/zh-tw/vpn-policy-routing.po

@@ -62,7 +62,7 @@ msgstr ""
 msgid "Chain"
 msgstr ""
 
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:14
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:15
 msgid "Checkmark represents the default gateway. See the"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:184
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "README"
 msgstr ""
 
@@ -456,7 +456,7 @@ msgstr ""
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:155
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:350
 #: applications/luci-app-vpn-policy-routing/luasrc/model/cbi/vpn-policy-routing.lua:363
-#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:16
+#: applications/luci-app-vpn-policy-routing/luasrc/view/vpn-policy-routing/status-gateways.htm:17
 msgid "for details."
 msgstr ""
 

+ 171 - 90
modules/luci-base/po/bg/base.po

@@ -55,8 +55,8 @@ msgid "-- Additional Field --"
 msgstr ""
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -121,23 +121,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -233,7 +233,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 
@@ -350,11 +350,11 @@ msgstr ""
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -609,7 +609,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -636,7 +636,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -661,7 +661,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr ""
@@ -679,7 +679,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr ""
 
@@ -775,7 +775,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -899,7 +899,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -910,6 +910,50 @@ msgstr ""
 msgid "Category"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -932,7 +976,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr ""
@@ -941,7 +985,7 @@ msgstr ""
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -959,7 +1003,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1026,7 +1070,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1050,7 +1094,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1130,7 +1174,7 @@ msgid "Country Code"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr ""
 
@@ -1322,10 +1366,10 @@ msgid ""
 "servers to clients."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1449,7 +1493,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1482,11 +1526,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1569,7 +1613,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1610,9 +1654,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1696,11 +1740,11 @@ msgstr ""
 msgid "Enable VLAN functionality"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1760,7 +1804,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr ""
@@ -2138,8 +2182,8 @@ msgstr ""
 msgid "Go to password configuration..."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2185,7 +2229,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2444,7 +2488,7 @@ msgstr ""
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr ""
 
@@ -2571,6 +2615,22 @@ msgstr ""
 msgid "Initscripts"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr ""
@@ -2694,15 +2754,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -2917,7 +2977,7 @@ msgstr ""
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3020,7 +3080,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3192,7 +3252,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr ""
@@ -3237,7 +3297,7 @@ msgstr ""
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3326,7 +3386,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3335,7 +3395,7 @@ msgstr ""
 msgid "Name"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr ""
 
@@ -3345,7 +3405,7 @@ msgstr ""
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3375,7 +3435,7 @@ msgstr ""
 msgid "Next »"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr ""
@@ -3605,7 +3665,7 @@ msgstr ""
 msgid "Option removed"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3851,7 +3911,7 @@ msgid "Part of zone %q"
 msgstr ""
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3862,11 +3922,11 @@ msgstr ""
 msgid "Password authentication"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3885,27 +3945,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4147,7 +4207,7 @@ msgstr ""
 msgid "RX Rate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4265,7 +4325,7 @@ msgstr ""
 msgid "Remove"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr ""
 
@@ -4281,7 +4341,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4324,7 +4384,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4360,7 +4420,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4485,7 +4545,7 @@ msgstr ""
 msgid "Run filesystem check"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4521,7 +4581,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4530,8 +4590,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4540,7 +4600,7 @@ msgstr ""
 msgid "Save"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4616,7 +4676,7 @@ msgstr ""
 msgid "Services"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4678,7 +4738,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4686,7 +4746,7 @@ msgstr ""
 msgid "Signal"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4797,7 +4857,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr ""
 
@@ -4815,7 +4875,7 @@ msgstr ""
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4879,7 +4939,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr ""
 
@@ -5027,7 +5087,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5110,7 +5170,7 @@ msgstr ""
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5214,7 +5274,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5285,8 +5345,14 @@ msgid ""
 "their status."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5304,7 +5370,7 @@ msgstr ""
 msgid "Timezone"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5687,6 +5753,14 @@ msgstr ""
 msgid "Use routing table"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5767,6 +5841,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5796,7 +5877,7 @@ msgstr ""
 msgid "WEP Shared Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr ""
 
@@ -5804,7 +5885,7 @@ msgstr ""
 msgid "WMM Mode"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr ""
 
@@ -5906,7 +5987,7 @@ msgstr ""
 msgid "Write system log to file"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr ""
@@ -6120,7 +6201,7 @@ msgstr ""
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr ""
 
@@ -6228,7 +6309,7 @@ msgstr ""
 msgid "unlimited"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/ca/base.po

@@ -59,8 +59,8 @@ msgid "-- Additional Field --"
 msgstr "-- Camp addicional --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -125,23 +125,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -247,7 +247,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 
@@ -367,11 +367,11 @@ msgstr "Arrendaments DHCPv6 actius"
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -631,7 +631,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -658,7 +658,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -683,7 +683,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Estacions associades"
@@ -701,7 +701,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Autenticació"
 
@@ -797,7 +797,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -924,7 +924,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -935,6 +935,50 @@ msgstr "Cancel·la"
 msgid "Category"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -957,7 +1001,7 @@ msgstr "Canvia la paraula clau de l'administrador per accedir al dispositiu"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Canal"
@@ -966,7 +1010,7 @@ msgstr "Canal"
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -984,7 +1028,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1059,7 +1103,7 @@ msgstr "Tanca la llista..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1083,7 +1127,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1163,7 +1207,7 @@ msgid "Country Code"
 msgstr "Codi de País"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Crea / Assigna zona de tallafocs"
 
@@ -1357,10 +1401,10 @@ msgid ""
 "servers to clients."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1486,7 +1530,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1519,11 +1563,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1612,7 +1656,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1656,9 +1700,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr "Mètode EAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1742,11 +1786,11 @@ msgstr "Habilita el servidor TFTP"
 msgid "Enable VLAN functionality"
 msgstr "Habilita la funcionalitat VLAN"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1806,7 +1850,7 @@ msgstr "Mode d'encapsulació"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Xifratge"
@@ -2186,8 +2230,8 @@ msgstr ""
 msgid "Go to password configuration..."
 msgstr "Vés a la configuració de contrasenya"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2236,7 +2280,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2495,7 +2539,7 @@ msgstr "IPv6-sobre-IPv4 (6rd)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6-sobre-IPv4 (6to4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identitat"
 
@@ -2628,6 +2672,22 @@ msgstr "Script d'inici"
 msgid "Initscripts"
 msgstr "Scripts d'inici"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Instal·la extensions de protocol"
@@ -2754,15 +2814,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "Es requereix JavaScript!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Uneix-te a la xarxa"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -2979,7 +3039,7 @@ msgstr "Càrrega mitjana"
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3082,7 +3142,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3254,7 +3314,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Mode"
@@ -3299,7 +3359,7 @@ msgstr "Monitor"
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3390,7 +3450,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr "Candidats de servidor NTP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3399,7 +3459,7 @@ msgstr "Candidats de servidor NTP"
 msgid "Name"
 msgstr "Nom"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Nom de la nova xarxa"
 
@@ -3409,7 +3469,7 @@ msgstr "Navegació"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3439,7 +3499,7 @@ msgstr ""
 msgid "Next »"
 msgstr "Següent"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr "No"
@@ -3669,7 +3729,7 @@ msgstr "Opció canviada"
 msgid "Option removed"
 msgstr "Opció treta"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3915,7 +3975,7 @@ msgid "Part of zone %q"
 msgstr "Part de la zona %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3926,11 +3986,11 @@ msgstr "Contrasenya"
 msgid "Password authentication"
 msgstr "Autenticació per contrasenya"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Contrasenya de la clau privada"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3949,27 +4009,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Camí cap al certificat CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Camí cap al certificat de client"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Camí cap a la clau privada"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4211,7 +4271,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr "Velocitat RX"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4331,7 +4391,7 @@ msgstr "Adreça IPv4 remota o FQDN"
 msgid "Remove"
 msgstr "Treu"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Reemplaça la configuració sense fil"
 
@@ -4347,7 +4407,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4390,7 +4450,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4426,7 +4486,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4553,7 +4613,7 @@ msgstr ""
 msgid "Run filesystem check"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4589,7 +4649,7 @@ msgstr "Claus SSH"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4598,8 +4658,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4608,7 +4668,7 @@ msgstr ""
 msgid "Save"
 msgstr "Desa"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4684,7 +4744,7 @@ msgstr "Tipus de servei"
 msgid "Services"
 msgstr "Serveis"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4746,7 +4806,7 @@ msgstr "Atura aquesta interfície"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4754,7 +4814,7 @@ msgstr "Atura aquesta interfície"
 msgid "Signal"
 msgstr "Senyal"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4865,7 +4925,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Especifiqueu el clau de xifració secret aquí."
 
@@ -4883,7 +4943,7 @@ msgstr "Prioritat d'inici"
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4947,7 +5007,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Envia"
 
@@ -5095,7 +5155,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5183,7 +5243,7 @@ msgstr "La longitud del prefix IPv6 en bits"
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5299,7 +5359,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5379,8 +5439,14 @@ msgstr ""
 "Aquesta llista mostra una vista general sobre els processos corrent al "
 "sistema actualment i el seu estat."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5398,7 +5464,7 @@ msgstr ""
 msgid "Timezone"
 msgstr "Zona horària"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5785,6 +5851,14 @@ msgstr ""
 msgid "Use routing table"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5865,6 +5939,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5894,7 +5975,7 @@ msgstr "Sistema obert WEP"
 msgid "WEP Shared Key"
 msgstr "Clau compartit WEP"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "Contrasenya WEP"
 
@@ -5902,7 +5983,7 @@ msgstr "Contrasenya WEP"
 msgid "WMM Mode"
 msgstr "Mode WMM"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "Contrasenya WPA"
 
@@ -6006,7 +6087,7 @@ msgstr "Escriure les peticions DNS rebudes al registre del sistema"
 msgid "Write system log to file"
 msgstr "Escriure el registre del sistema al fitxer"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr "Sí"
@@ -6229,7 +6310,7 @@ msgstr "cap enllaç"
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "cap"
 
@@ -6337,7 +6418,7 @@ msgstr "desconegut"
 msgid "unlimited"
 msgstr "il·limitat"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/cs/base.po

@@ -56,8 +56,8 @@ msgid "-- Additional Field --"
 msgstr "-- Doplňující pole --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -122,23 +122,23 @@ msgstr "6oktetový identifikátor jako šestnáctkový řetězec - bez dvojteče
 msgid "802.11r Fast Transition"
 msgstr "802.11r Fast Transition"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr "Maximální časový limit 802.11w Association SA Query"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr "Časový limit opakování 802.11w Association SA Query"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr "802.11w Zabezpečení Řídících Rámců"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr "Maximální časový limit 802.11w"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr "Časový limit opakování 802.11w"
 
@@ -245,7 +245,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "Adresář se stejným názvem již existuje."
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr "Je nutné se znovu přihlásit, protože vypršela platnost relace."
 
@@ -369,11 +369,11 @@ msgstr "Aktivní propůjčené DHCPv6 adresy (leases)"
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -636,7 +636,7 @@ msgstr "Oznámené DNS domény"
 msgid "Announced DNS servers"
 msgstr "Oznámené DNS servery"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr "Anonymní identita"
 
@@ -663,7 +663,7 @@ msgstr "Aplikovat zálohu?"
 msgid "Apply request failed with status <code>%h</code>"
 msgstr "Provádění požadavku selhalo se stavem <code>%h</code>"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr "Přesto aplikovat"
@@ -692,7 +692,7 @@ msgstr ""
 "Přiřadit části prefixu pomocí šestnáctkového subprefixového ID k tomuto "
 "rozhraní."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Připojení klienti"
@@ -712,7 +712,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr "Autorizační skupina"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Autentizace"
 
@@ -810,7 +810,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -938,7 +938,7 @@ msgstr "Volání selhalo"
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -949,6 +949,50 @@ msgstr "Zrušit"
 msgid "Category"
 msgstr "Kategorie"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -971,7 +1015,7 @@ msgstr "Změní administrátorské heslo pro přístup k zařízení"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Kanál"
@@ -980,7 +1024,7 @@ msgstr "Kanál"
 msgid "Check filesystems before mount"
 msgstr "Zkontrolovat souborové systémy před připojením"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 "Zaškrtněte toto políčko pro odstranění stávajícících sítí z tohoto rádiového "
@@ -1000,7 +1044,7 @@ msgid "Choose mtdblock"
 msgstr "Vyberte mtdblock"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1078,7 +1122,7 @@ msgstr "Zavřít seznam..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1102,7 +1146,7 @@ msgstr "Příkaz selhal"
 msgid "Comment"
 msgstr "Komentář"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1190,7 +1234,7 @@ msgid "Country Code"
 msgstr "Kód země"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Vytvořit / přiřadit zónu firewallu"
 
@@ -1388,10 +1432,10 @@ msgstr ""
 "Další možnosti DHCP, například \"<code>6,192.168.2.1,192.168.2.2</code>\", "
 "které odkazuje na různé DNS servery pro klienty."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1517,7 +1561,7 @@ msgstr "Zakázat dotazování na nečinnost"
 msgid "Disable this network"
 msgstr "Zakázat tuto síť"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1550,11 +1594,11 @@ msgstr "Odpojit"
 msgid "Disconnection attempt failed"
 msgstr "Odpojení selhalo"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr "Zahodit"
@@ -1645,7 +1689,7 @@ msgstr "Stáhnout mtdblock"
 msgid "Downstream SNR offset"
 msgstr "Downstream SNR offset"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr "Přetažením změníte pořadí"
 
@@ -1691,9 +1735,9 @@ msgstr "EA bitová délka"
 msgid "EAP-Method"
 msgstr "Metoda EAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1781,11 +1825,11 @@ msgstr "Povolit TFTP server"
 msgid "Enable VLAN functionality"
 msgstr "Povolit funkcionalitu VLAN"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr "Povolit tlačítko WPS, vyžaduje WPA(2)-PSK / WPA3-SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr "Povolit opatření proti reinstalaci klíče (KRACK)"
 
@@ -1847,7 +1891,7 @@ msgstr "Režim zapouzdření"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Šifrování"
@@ -2235,8 +2279,8 @@ msgstr "Globální možnosti sítě"
 msgid "Go to password configuration..."
 msgstr "Přejít na nastavení hesla..."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2284,7 +2328,7 @@ msgid "Hide empty chains"
 msgstr "Skrýt prázdné řetězy"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2544,7 +2588,7 @@ msgstr "IPv6-over-IPv4 (6rd)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6-over-IPv4 (6to4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identita"
 
@@ -2679,6 +2723,22 @@ msgstr "Initskript"
 msgid "Initscripts"
 msgstr "Initskripty"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Instalovat protokolové rozšíření…"
@@ -2806,15 +2866,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "Je vyžadován JavaScript!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Připojit k síti"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr "Připojit k síti: Vyhledání bezdrátových sítí"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr "Připojování k síti: %q"
 
@@ -3048,7 +3108,7 @@ msgstr "Průměrná zátěž"
 msgid "Loading directory contents…"
 msgstr "Načítání obsahu adresáře…"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3157,7 +3217,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3332,7 +3392,7 @@ msgstr "Doména mobility"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Mód"
@@ -3377,7 +3437,7 @@ msgstr "Sledování"
 msgid "More Characters"
 msgstr "Více znaků"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr "Více…"
 
@@ -3469,7 +3529,7 @@ msgstr "NT doména"
 msgid "NTP server candidates"
 msgstr "Kandidáti NTP serveru"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3478,7 +3538,7 @@ msgstr "Kandidáti NTP serveru"
 msgid "Name"
 msgstr "Název"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Název nové sítě"
 
@@ -3488,7 +3548,7 @@ msgstr "Navigace"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3518,7 +3578,7 @@ msgstr "Nový název rozhraní…"
 msgid "Next »"
 msgstr "Další »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr "Ne"
@@ -3749,7 +3809,7 @@ msgstr "Volba změněna"
 msgid "Option removed"
 msgstr "Volba odstraněna"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr "Volitelné"
@@ -4011,7 +4071,7 @@ msgid "Part of zone %q"
 msgstr "Část zóny %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -4022,11 +4082,11 @@ msgstr "Heslo"
 msgid "Password authentication"
 msgstr "Autentizace heslem"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Heslo privátního klíče"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr "Heslo vnitřního soukromého klíče"
 
@@ -4045,27 +4105,27 @@ msgstr "Heslo2"
 msgid "Paste or drag SSH key file…"
 msgstr "Vložte nebo přetáhněte soubor s SSH klíčem…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Cesta k certifikátu CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Cesta k certifikátu klienta"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Cesta k privátnímu klíči"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr "Cesta k vnitřnímu certifikátu CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr "Cesta k vnitřnímu klientskému certifikátu"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr "Cesta k vnitřnímu soukromému klíči"
 
@@ -4315,7 +4375,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr "RX Rate"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr "Rychlost přijímání / vysílání"
 
@@ -4437,7 +4497,7 @@ msgstr "Vzdálená IPv4 adresa nebo FQDN"
 msgid "Remove"
 msgstr "Odstranit"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Nahradit bezdrátovou konfiguraci"
 
@@ -4453,7 +4513,7 @@ msgstr "Vyžádat IPv6 prefix délky"
 msgid "Request timeout"
 msgstr "Časový limit požadavku"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr "Vyžadováno"
 
@@ -4501,7 +4561,7 @@ msgstr "Vyžaduje hostapd s podporou OWE"
 msgid "Requires hostapd with SAE support"
 msgstr "Vyžaduje hostapd s podporou SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4541,7 +4601,7 @@ msgstr "Vyžaduje wpa-supplicant s podporou OWE"
 msgid "Requires wpa-supplicant with SAE support"
 msgstr "Vyžaduje wpa-supplicant s podporou SAE"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4667,7 +4727,7 @@ msgstr "Spustit kontrolu souborového systému před připojením zařízení"
 msgid "Run filesystem check"
 msgstr "Spustit kontrolu souborového systému"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr "Běhová chyba"
 
@@ -4703,7 +4763,7 @@ msgstr "SSH klíče"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4712,8 +4772,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr "Odkládací soubor/oddíl"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4722,7 +4782,7 @@ msgstr "Odkládací soubor/oddíl"
 msgid "Save"
 msgstr "Uložit"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4803,7 +4863,7 @@ msgstr "Typ služby"
 msgid "Services"
 msgstr "Služby"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr "Sezení vypršelo"
 
@@ -4867,7 +4927,7 @@ msgstr "Shodit toho rozhraní"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4875,7 +4935,7 @@ msgstr "Shodit toho rozhraní"
 msgid "Signal"
 msgstr "Signál"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr "Signál / šum"
 
@@ -4998,7 +5058,7 @@ msgstr ""
 "Zadejte hodnotu MTU (maximální přenosová jednotka) jinou než výchozí (1280 "
 "bajtů)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Zde nastavte soukromý šifrovací klíč."
 
@@ -5016,7 +5076,7 @@ msgstr "Priorita spouštění"
 msgid "Starting configuration apply…"
 msgstr "Provádění konfiguračních změn…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr "Zahájeno bezdrátové skenování..."
 
@@ -5083,7 +5143,7 @@ msgid "Strong"
 msgstr "Silné"
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Odeslat"
 
@@ -5236,7 +5296,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr "IPv6 prefix přidělený poskytovatelm většinou končí  <code>::</code>"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5336,7 +5396,7 @@ msgstr "Délka IPv6 prefixu v bitech"
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr "Lokální IPv4 adresa, přes kterou je tunel vytvořen (volitelné)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr "Název sítě je již používán"
 
@@ -5462,7 +5522,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr "Toto je IPv4 adresa relé"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr "Tento typ autentizace nelze použít s vybranou EAP metodou."
 
@@ -5557,8 +5617,14 @@ msgstr ""
 "V tomto seznamu vidíte přehled aktuálně běžících systémových procesů a "
 "jejich stavy."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5576,7 +5642,7 @@ msgstr "Časový interval pro obnovování klíčů GTK"
 msgid "Timezone"
 msgstr "Časové pásmo"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr "Přihlásit se…"
 
@@ -5967,6 +6033,14 @@ msgstr "Použít metriku brány"
 msgid "Use routing table"
 msgstr "Použít směrovací tabulku"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -6055,6 +6129,13 @@ msgstr "SHA1 hash serverového certifikátu VPN"
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr "VPNC (CISCO 3000 (a další) VPN)"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr "Výrobce"
@@ -6084,7 +6165,7 @@ msgstr "WEP Open System"
 msgid "WEP Shared Key"
 msgstr "Sdílený klíč WEP"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "WEP heslo"
 
@@ -6092,7 +6173,7 @@ msgstr "WEP heslo"
 msgid "WMM Mode"
 msgstr "Režim WMM"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "WPA heslo"
 
@@ -6199,7 +6280,7 @@ msgstr "Zapisovat přijaté požadavky DNS do systemového logu"
 msgid "Write system log to file"
 msgstr "Zapisovat systémový protokol do souboru"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr "Ano"
@@ -6421,7 +6502,7 @@ msgstr "žádné spojení"
 msgid "non-empty value"
 msgstr "neprázdná hodnota"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "žádný"
 
@@ -6529,7 +6610,7 @@ msgstr "neznámý"
 msgid "unlimited"
 msgstr "neomezený"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/de/base.po

@@ -59,8 +59,8 @@ msgid "-- Additional Field --"
 msgstr "-- Zusätzliches Feld --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -126,23 +126,23 @@ msgstr "sechstellige hexadezimale ID (ohne Doppelpunkte)"
 msgid "802.11r Fast Transition"
 msgstr "802.11r: Schnelle Client-Übergabe"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr "Maximales Timeout für Quelladressprüfungen (SA Query)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr "Wiederholungsintervall für Quelladressprüfungen (SA Query)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr "802.11w: Schutz von Management-Frames aktivieren"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr "802.11w: Maximales Timeout"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr "802.11w: Wiederholungsintervall"
 
@@ -251,7 +251,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "Es existiert bereits ein Verzeichnis mit dem gleichen Namen."
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 "Ein neuer Login ist erforderlich da die Benutzersitzung abgelaufen ist."
@@ -372,11 +372,11 @@ msgstr "Aktive DHCPv6-Leases"
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -645,7 +645,7 @@ msgstr "Angekündigte Suchdomains"
 msgid "Announced DNS servers"
 msgstr "Angekündigte DNS-Server"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr "Anonyme Identität"
 
@@ -674,7 +674,7 @@ msgstr ""
 "Anforderung zur Anwendung der Änderungen mit Status <code>%h</code> "
 "fehlgeschlagen"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr "Ungeprüft übernehmen"
@@ -703,7 +703,7 @@ msgstr ""
 "Der Schnittstelle zugewiesene Partitionen des Adressraums werden anhand "
 "dieser hexadezimalen ID gewählt."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Assoziierte Clients"
@@ -722,7 +722,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr "Berechtigungsgruppe"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Authentifizierung"
 
@@ -818,7 +818,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -950,7 +950,7 @@ msgstr "Anruf fehlgeschlagen"
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -961,6 +961,50 @@ msgstr "Abbrechen"
 msgid "Category"
 msgstr "Kategorie"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -983,7 +1027,7 @@ msgstr "Ändert das Administratorpasswort für den Zugriff auf dieses Gerät"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Kanal"
@@ -992,7 +1036,7 @@ msgstr "Kanal"
 msgid "Check filesystems before mount"
 msgstr "Dateisysteme prüfen"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 "Diese Option setzen um existierende Netzwerke auf dem Radio zu löschen."
@@ -1011,7 +1055,7 @@ msgid "Choose mtdblock"
 msgstr "Wähle \"mtdblock\" Datei"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1091,7 +1135,7 @@ msgstr "Schließe Liste..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1115,7 +1159,7 @@ msgstr "Befehl fehlgeschlagen"
 msgid "Comment"
 msgstr "Kommentar"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1203,7 +1247,7 @@ msgid "Country Code"
 msgstr "Ländercode"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Firewallzone anlegen / zuweisen"
 
@@ -1402,10 +1446,10 @@ msgstr ""
 "Definiert zusätzliche DHCP-Optionen, z.B. \"<code>6,192.168.2.1,192.168.2.2</"
 "code>\" um einen anderen DNS-Server an Clients zu verteilen."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1531,7 +1575,7 @@ msgstr "Inaktivitäts-Proben deaktivieren"
 msgid "Disable this network"
 msgstr "Dieses Netzwerk deaktivieren"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1564,11 +1608,11 @@ msgstr "Trennen"
 msgid "Disconnection attempt failed"
 msgstr "Verbindungstrennung fehlgeschlagen"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr "Schließen"
@@ -1663,7 +1707,7 @@ msgstr "Mtdblock-Datei herunterladen"
 msgid "Downstream SNR offset"
 msgstr "Downstream SNR-Offset"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr "Ziehen zum Umsortieren"
 
@@ -1710,9 +1754,9 @@ msgstr "EA-Bitlänge"
 msgid "EAP-Method"
 msgstr "EAP-Methode"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1800,11 +1844,11 @@ msgstr "TFTP-Server aktivieren"
 msgid "Enable VLAN functionality"
 msgstr "VLAN-Funktionalität aktivieren"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr "WPS-via-Knopfdruck aktivieren, erfordert WPA(2)-PSK/WPA3-SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr "Key Reinstallation (KRACK) Gegenmaßnahmen aktivieren"
 
@@ -1866,7 +1910,7 @@ msgstr "Kapselung"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Verschlüsselung"
@@ -2256,8 +2300,8 @@ msgstr "Globale Netzwerkeinstellungen"
 msgid "Go to password configuration..."
 msgstr "Zur Passwortkonfiguration..."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2306,7 +2350,7 @@ msgid "Hide empty chains"
 msgstr "Leere Chains ausblenden"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2565,7 +2609,7 @@ msgstr "IPv6-über-IPv4 (6rd)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6-über-IPv4 (6to4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identität"
 
@@ -2703,6 +2747,22 @@ msgstr "Startscript"
 msgid "Initscripts"
 msgstr "Startscripte"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Installiere Protokoll-Erweiterungen..."
@@ -2830,15 +2890,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "JavaScript benötigt!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Netzwerk beitreten"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr "Netzwerk beitreten: Suche nach Netzwerken"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr "Trete Netzwerk %q bei"
 
@@ -3071,7 +3131,7 @@ msgstr "Durchschnittslast"
 msgid "Loading directory contents…"
 msgstr "Lade Verzeichniseinträge…"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3181,7 +3241,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3353,7 +3413,7 @@ msgstr "Mobilitätsbereich"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Modus"
@@ -3398,7 +3458,7 @@ msgstr "Monitor"
 msgid "More Characters"
 msgstr "Mehr Zeichen"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr "Mehr…"
 
@@ -3489,7 +3549,7 @@ msgstr "NT-Domäne"
 msgid "NTP server candidates"
 msgstr "NTP Server Kandidaten"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3498,7 +3558,7 @@ msgstr "NTP Server Kandidaten"
 msgid "Name"
 msgstr "Name"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Name des neuen Netzwerkes"
 
@@ -3508,7 +3568,7 @@ msgstr "Navigation"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3538,7 +3598,7 @@ msgstr "Name der neuen Schnittstelle…"
 msgid "Next »"
 msgstr "Weiter »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr "Nein"
@@ -3770,7 +3830,7 @@ msgstr "Option geändert"
 msgid "Option removed"
 msgstr "Option entfernt"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr "Optional"
@@ -4032,7 +4092,7 @@ msgid "Part of zone %q"
 msgstr "Teil von Zone %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -4043,11 +4103,11 @@ msgstr "Passwort"
 msgid "Password authentication"
 msgstr "Passwortanmeldung"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Passwort des privaten Schlüssels"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr "Password des inneren, privaten Schlüssels"
 
@@ -4066,27 +4126,27 @@ msgstr "Passwort Bestätigung"
 msgid "Paste or drag SSH key file…"
 msgstr "Schlüssel einfügen oder Schlüsseldatei hereinziehen…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Pfad zum CA-Zertifikat"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Pfad zu Client-Zertifikat"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Pfad zum Privaten Schlüssel"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr "Pfad zum inneren CA-Zertifikat"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr "Pfad zum inneren Client-Zertifikat"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr "Pfad zum inneren, privaten Schlüssel"
 
@@ -4341,7 +4401,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr "RX-Rate"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr "RX-Rate / TX-Rate"
 
@@ -4463,7 +4523,7 @@ msgstr "Entfernte IPv4-Adresse oder Hostname"
 msgid "Remove"
 msgstr "Entfernen"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Drahtloskonfiguration ersetzen"
 
@@ -4479,7 +4539,7 @@ msgstr "IPv6-Präfix dieser Länge anfordern"
 msgid "Request timeout"
 msgstr "Anfrage-Timeout"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr "Benötigt"
 
@@ -4527,7 +4587,7 @@ msgstr "Benötigt \"hostapd\" mit OWE-Support"
 msgid "Requires hostapd with SAE support"
 msgstr "Benötigt \"hostapd\" mit SAE-Support"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4567,7 +4627,7 @@ msgstr "Benötigt \"wpa-supplicant\" mit OWE-Support"
 msgid "Requires wpa-supplicant with SAE support"
 msgstr "Benötigt \"wpa-supplicant\" mit SAE-Support"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4694,7 +4754,7 @@ msgstr "Vor dem Einhängen Dateisystemprüfung starten"
 msgid "Run filesystem check"
 msgstr "Dateisystemprüfung durchführen"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr "Laufzeitfehler"
 
@@ -4730,7 +4790,7 @@ msgstr "SSH-Schlüssel"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4739,8 +4799,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr "SWAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4749,7 +4809,7 @@ msgstr "SWAP"
 msgid "Save"
 msgstr "Speichern"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4830,7 +4890,7 @@ msgstr "Service-Typ"
 msgid "Services"
 msgstr "Dienste"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr "Sitzung abgelaufen"
 
@@ -4895,7 +4955,7 @@ msgstr "Diese Schnittstelle herunterfahren"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4903,7 +4963,7 @@ msgstr "Diese Schnittstelle herunterfahren"
 msgid "Signal"
 msgstr "Signal"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr "Signal / Rauschen"
 
@@ -5029,7 +5089,7 @@ msgstr ""
 "Setzt eine spezifische MTU (Maximum Transmission Unit) abweichend von den "
 "standardmäßigen 1280 Bytes."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Geben Sie hier den geheimen Netzwerkschlüssel an."
 
@@ -5047,7 +5107,7 @@ msgstr "Startpriorität"
 msgid "Starting configuration apply…"
 msgstr "Starte Anwendung der Konfigurationsänderungen…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr "Starte WLAN Scan..."
 
@@ -5115,7 +5175,7 @@ msgid "Strong"
 msgstr "Stark"
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Absenden"
 
@@ -5272,7 +5332,7 @@ msgstr ""
 "Vom Provider zugewiesenes IPv6-Präfix, endet normalerweise mit <code>::</"
 "code>"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5379,7 +5439,7 @@ msgstr "Länge des IPv6-Präfix in Bits"
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr "Die lokale IPv4-Adresse über die der Tunnel aufgebaut wird (optional)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr "Der Netzwerkname wird bereits verwendet"
 
@@ -5512,7 +5572,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr "IPv4-Adresse des Relais"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 "Dieser Authentifizierungstyp ist nicht mit der ausgewählten EAP-Methode "
@@ -5608,8 +5668,14 @@ msgstr ""
 "Diese Tabelle gibt eine Übersicht über aktuell laufende Systemprozesse und "
 "deren Status."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5627,7 +5693,7 @@ msgstr "Zeitintervall für die neubestimmung des Gruppenschlüssels"
 msgid "Timezone"
 msgstr "Zeitzone"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr "Zum Login…"
 
@@ -6020,6 +6086,14 @@ msgstr "Benutze Gateway-Metrik"
 msgid "Use routing table"
 msgstr "Benutze Routing-Tabelle"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -6108,6 +6182,13 @@ msgstr "SHA1-Hash des VPN-Server-Zertifikates"
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr "VPNC (VPN für CISCO 3000 und Ähnliche)"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr "Hersteller"
@@ -6137,7 +6218,7 @@ msgstr "WEP Open System"
 msgid "WEP Shared Key"
 msgstr "WEP Shared Key"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "WEP Schlüssel"
 
@@ -6145,7 +6226,7 @@ msgstr "WEP Schlüssel"
 msgid "WMM Mode"
 msgstr "WMM Modus"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "WPA Schlüssel"
 
@@ -6254,7 +6335,7 @@ msgstr "Empfangene DNS-Anfragen in das Systemprotokoll schreiben"
 msgid "Write system log to file"
 msgstr "Systemprotokoll in Datei schreiben"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr "Ja"
@@ -6478,7 +6559,7 @@ msgstr "nicht verbunden"
 msgid "non-empty value"
 msgstr "nicht-leeren Wert"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "keine"
 
@@ -6586,7 +6667,7 @@ msgstr "unbekannt"
 msgid "unlimited"
 msgstr "unbegrenzt"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/el/base.po

@@ -58,8 +58,8 @@ msgid "-- Additional Field --"
 msgstr "-- Επιπλέον Πεδίο --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -124,23 +124,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -244,7 +244,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "Ένας φάκελος με το ίδιο όνομα υπάρχει ήδη."
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr "Απαιτείται νέα σύνδεση καθώς η συνεδρία ελέγχου ταυτότητας έληξε."
 
@@ -366,11 +366,11 @@ msgstr ""
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -633,7 +633,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -660,7 +660,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -685,7 +685,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Συνδεδεμένοι Σταθμοί"
@@ -703,7 +703,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Εξουσιοδότηση"
 
@@ -799,7 +799,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -927,7 +927,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -938,6 +938,50 @@ msgstr "Ακύρωση"
 msgid "Category"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -960,7 +1004,7 @@ msgstr "Αλλάζει τον κωδικό διαχειριστή για πρό
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Κανάλι"
@@ -969,7 +1013,7 @@ msgstr "Κανάλι"
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -987,7 +1031,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1063,7 +1107,7 @@ msgstr "Κλείσιμο λίστας..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1087,7 +1131,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1167,7 +1211,7 @@ msgid "Country Code"
 msgstr "Κωδικός Χώρας"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Δημιουργία / Ανάθεση ζώνης τείχους προστασίας"
 
@@ -1363,10 +1407,10 @@ msgstr ""
 "Ορίστε επιπλέον επιλογές DHCP, που διαφημίζουν διαφορετικούς εξυπηρετητές "
 "DNS στους πελάτες, για παράδειγμα \"<code>6,192.168.2.1,192.168.2.2</code>\"."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1492,7 +1536,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1525,11 +1569,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1622,7 +1666,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1669,9 +1713,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr "Μέθοδος EAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1755,11 +1799,11 @@ msgstr "Ενεργοποίηση εξυπηρετητή TFTP"
 msgid "Enable VLAN functionality"
 msgstr "Ενεργοποίηση λειτουργίας VLAN"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1819,7 +1863,7 @@ msgstr "Λειτουργία ενθυλάκωσης"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Κρυπτογράφηση"
@@ -2202,8 +2246,8 @@ msgstr ""
 msgid "Go to password configuration..."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2251,7 +2295,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2511,7 +2555,7 @@ msgstr ""
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Ταυτότητα"
 
@@ -2648,6 +2692,22 @@ msgstr "Σενάριο εκκίνησης"
 msgid "Initscripts"
 msgstr "Σενάρια Εκκίνησης"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Εγκατάσταση επεκτάσεων πρωτοκόλλου..."
@@ -2774,15 +2834,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "Απαιτείται JavaScript!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -2997,7 +3057,7 @@ msgstr "Μέσος όρος φόρτου"
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3100,7 +3160,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3273,7 +3333,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Λειτουργία"
@@ -3318,7 +3378,7 @@ msgstr "Παρακολούθηση"
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3409,7 +3469,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3418,7 +3478,7 @@ msgstr ""
 msgid "Name"
 msgstr "Όνομα"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Όνομα νέου δικτύου"
 
@@ -3428,7 +3488,7 @@ msgstr "Πλοήγηση"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3458,7 +3518,7 @@ msgstr ""
 msgid "Next »"
 msgstr "Επόμενο »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr ""
@@ -3688,7 +3748,7 @@ msgstr "Η επιλογή άλλαξε"
 msgid "Option removed"
 msgstr "Η επιλογή αφαιρέθηκε"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3934,7 +3994,7 @@ msgid "Part of zone %q"
 msgstr "Μέρος της ζώνης %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3945,11 +4005,11 @@ msgstr "Κωδικός Πρόσβασης"
 msgid "Password authentication"
 msgstr "Εξουσιοδότηση με κωδικό πρόσβασης"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Κωδικός Πρόσβασης του Ιδιωτικού Κλειδιού"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3968,27 +4028,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Διαδρομή για Πιστοποιητικό CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Διαδρομή για Πιστοποιητικό-Πελάτη"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Διαδρομή για Ιδιωτικό Κλειδί"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4231,7 +4291,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4351,7 +4411,7 @@ msgstr ""
 msgid "Remove"
 msgstr "Αφαίρεση"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Αντικατάσταση ρυθμίσεων ασύρματης σύνδεσης"
 
@@ -4367,7 +4427,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4410,7 +4470,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4446,7 +4506,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4574,7 +4634,7 @@ msgstr "Εκτέλεση ελέγχου του συστήματος αρχείω
 msgid "Run filesystem check"
 msgstr "Εκτέλεση ελέγχου συστήματος αρχείων"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4610,7 +4670,7 @@ msgstr "Κλειδιά SSH"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4619,8 +4679,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4629,7 +4689,7 @@ msgstr ""
 msgid "Save"
 msgstr "Αποθήκευση"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4705,7 +4765,7 @@ msgstr "Είδος Υπηρεσίας"
 msgid "Services"
 msgstr "Υπηρεσίες"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4767,7 +4827,7 @@ msgstr "Απενεργοποίηση αυτής της διεπαφής"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4775,7 +4835,7 @@ msgstr "Απενεργοποίηση αυτής της διεπαφής"
 msgid "Signal"
 msgstr "Σήμα"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4886,7 +4946,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Ορίστε το κρυφό κλειδί κρυπτογράφησης."
 
@@ -4904,7 +4964,7 @@ msgstr "Προτεραιότητα εκκίνησης"
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4968,7 +5028,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Υποβολή"
 
@@ -5116,7 +5176,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5203,7 +5263,7 @@ msgstr ""
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5314,7 +5374,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5391,8 +5451,14 @@ msgstr ""
 "Αυτή η λίστα δίνει μία εικόνα των τρέχοντων εργασιών συστήματος και της "
 "κατάστασής τους."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5410,7 +5476,7 @@ msgstr ""
 msgid "Timezone"
 msgstr "Ζώνη ώρας"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5797,6 +5863,14 @@ msgstr ""
 msgid "Use routing table"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5877,6 +5951,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5906,7 +5987,7 @@ msgstr ""
 msgid "WEP Shared Key"
 msgstr "Μοιραζόμενο κλειδί WEP"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "Κωδική φράση WEP"
 
@@ -5914,7 +5995,7 @@ msgstr "Κωδική φράση WEP"
 msgid "WMM Mode"
 msgstr "Υποστήριξη WMM"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "Κωδική φράση WPA"
 
@@ -6016,7 +6097,7 @@ msgstr "Καταγραφή των ληφθέντων DNS αιτήσεων στο
 msgid "Write system log to file"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr ""
@@ -6238,7 +6319,7 @@ msgstr ""
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "κανένα"
 
@@ -6346,7 +6427,7 @@ msgstr ""
 msgid "unlimited"
 msgstr "απεριόριστα"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/en/base.po

@@ -58,8 +58,8 @@ msgid "-- Additional Field --"
 msgstr "-- Additional Field --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -124,23 +124,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -244,7 +244,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 
@@ -364,11 +364,11 @@ msgstr ""
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -624,7 +624,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -651,7 +651,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -676,7 +676,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Associated Stations"
@@ -694,7 +694,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Authentication"
 
@@ -790,7 +790,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -917,7 +917,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -928,6 +928,50 @@ msgstr "Cancel"
 msgid "Category"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -950,7 +994,7 @@ msgstr "Changes the administrator password for accessing the device"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Channel"
@@ -959,7 +1003,7 @@ msgstr "Channel"
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -977,7 +1021,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1052,7 +1096,7 @@ msgstr "Close list..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1076,7 +1120,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1156,7 +1200,7 @@ msgid "Country Code"
 msgstr "Country Code"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Create / Assign firewall-zone"
 
@@ -1353,10 +1397,10 @@ msgstr ""
 "\"<code>6,192.168.2.1,192.168.2.2</code>\" which advertises different DNS "
 "servers to clients."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1480,7 +1524,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1513,11 +1557,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1606,7 +1650,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1650,9 +1694,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr "EAP-Method"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1736,11 +1780,11 @@ msgstr ""
 msgid "Enable VLAN functionality"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1800,7 +1844,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Encryption"
@@ -2178,8 +2222,8 @@ msgstr ""
 msgid "Go to password configuration..."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2227,7 +2271,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2486,7 +2530,7 @@ msgstr ""
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identity"
 
@@ -2618,6 +2662,22 @@ msgstr "Initscript"
 msgid "Initscripts"
 msgstr "Initscripts"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr ""
@@ -2744,15 +2804,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Join Network"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -2967,7 +3027,7 @@ msgstr ""
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3070,7 +3130,7 @@ msgid "MAC"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3242,7 +3302,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Mode"
@@ -3287,7 +3347,7 @@ msgstr "Monitor"
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3378,7 +3438,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3387,7 +3447,7 @@ msgstr ""
 msgid "Name"
 msgstr "Name"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Name of the new network"
 
@@ -3397,7 +3457,7 @@ msgstr "Navigation"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3427,7 +3487,7 @@ msgstr ""
 msgid "Next »"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr ""
@@ -3657,7 +3717,7 @@ msgstr ""
 msgid "Option removed"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3903,7 +3963,7 @@ msgid "Part of zone %q"
 msgstr ""
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3914,11 +3974,11 @@ msgstr "Password"
 msgid "Password authentication"
 msgstr "Password authentication"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Password of Private Key"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3937,27 +3997,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Path to CA-Certificate"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Path to Private Key"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4199,7 +4259,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4319,7 +4379,7 @@ msgstr ""
 msgid "Remove"
 msgstr "Remove"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr ""
 
@@ -4335,7 +4395,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4378,7 +4438,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4414,7 +4474,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4541,7 +4601,7 @@ msgstr ""
 msgid "Run filesystem check"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4577,7 +4637,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4586,8 +4646,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4596,7 +4656,7 @@ msgstr ""
 msgid "Save"
 msgstr "Save"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4672,7 +4732,7 @@ msgstr ""
 msgid "Services"
 msgstr "Services"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4734,7 +4794,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4742,7 +4802,7 @@ msgstr ""
 msgid "Signal"
 msgstr "Signal"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4853,7 +4913,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr ""
 
@@ -4871,7 +4931,7 @@ msgstr "Start priority"
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4935,7 +4995,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Submit"
 
@@ -5083,7 +5143,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5168,7 +5228,7 @@ msgstr ""
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5279,7 +5339,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5354,8 +5414,14 @@ msgstr ""
 "This list gives an overview over currently running system processes and "
 "their status."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5373,7 +5439,7 @@ msgstr ""
 msgid "Timezone"
 msgstr "Timezone"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5759,6 +5825,14 @@ msgstr ""
 msgid "Use routing table"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5839,6 +5913,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5868,7 +5949,7 @@ msgstr ""
 msgid "WEP Shared Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr ""
 
@@ -5876,7 +5957,7 @@ msgstr ""
 msgid "WMM Mode"
 msgstr "WMM Mode"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr ""
 
@@ -5980,7 +6061,7 @@ msgstr ""
 msgid "Write system log to file"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr ""
@@ -6199,7 +6280,7 @@ msgstr ""
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "none"
 
@@ -6307,7 +6388,7 @@ msgstr ""
 msgid "unlimited"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/es/base.po

@@ -59,8 +59,8 @@ msgid "-- Additional Field --"
 msgstr "-- Campo adicional --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -127,23 +127,23 @@ msgstr "Identificador de 6 octetos como una cadena hexadecimal, sin dos puntos"
 msgid "802.11r Fast Transition"
 msgstr "Activar 802.11r (FT)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr "Consulta tiempo de espera máximo de Asociación SA de 802.11w"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr "Consulta tiempo de espera de reintento de Asociación SA de 802.11w"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr "Protección de marco de gestión de 802.11w"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr "Tiempo de espera máximo de 802.11w"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr "Tiempo de espera de reintento de 802.11w"
 
@@ -250,7 +250,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "Ya existe un directorio con el mismo nombre."
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 "Se requiere un nuevo inicio de sesión ya que la sesión de autenticación "
@@ -372,11 +372,11 @@ msgstr "Clientes DHCPv6 activos"
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -645,7 +645,7 @@ msgstr "Dominios DNS anunciados"
 msgid "Announced DNS servers"
 msgstr "Servidores DNS anunciados"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr "Identidad anónima"
 
@@ -672,7 +672,7 @@ msgstr "¿Aplicar respaldo?"
 msgid "Apply request failed with status <code>%h</code>"
 msgstr "Solicitud de aplicar fallida con estado <code>%h</code>"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr "Aplicar sin restricción"
@@ -701,7 +701,7 @@ msgstr ""
 "Asigna partes de prefijo utilizando este ID de subprefijo hexadecimal para "
 "esta interfaz."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Dispositivos conectados"
@@ -721,7 +721,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr "Grupo de autenticaciones"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Autenticación"
 
@@ -819,7 +819,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -950,7 +950,7 @@ msgstr "Llamada fallida"
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -961,6 +961,50 @@ msgstr "Cancelar"
 msgid "Category"
 msgstr "Categoría"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -983,7 +1027,7 @@ msgstr "Cambie la contraseña del administrador para acceder al dispositivo"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Canal"
@@ -992,7 +1036,7 @@ msgstr "Canal"
 msgid "Check filesystems before mount"
 msgstr "Comprobar los sistemas de archivos antes de montar"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr "Marque esta opción para eliminar las redes existentes de esta radio."
 
@@ -1010,7 +1054,7 @@ msgid "Choose mtdblock"
 msgstr "Elegir mtdblock"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1089,7 +1133,7 @@ msgstr "Cerrar lista..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1113,7 +1157,7 @@ msgstr "Comando fallido"
 msgid "Comment"
 msgstr "Comentario"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1202,7 +1246,7 @@ msgid "Country Code"
 msgstr "Código de país"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Crear / Asignar zona de firewall"
 
@@ -1401,10 +1445,10 @@ msgstr ""
 "\"<code>6,192.168.2.1,192.168.2.2</code>\" que publica diferentes servidores "
 "DNS a los clientes."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1530,7 +1574,7 @@ msgstr "Desactivar sondeo de inactividad"
 msgid "Disable this network"
 msgstr "Desactivar esta red"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1563,11 +1607,11 @@ msgstr "Desconectar"
 msgid "Disconnection attempt failed"
 msgstr "Intento de desconexión fallido"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr "Descartar"
@@ -1658,7 +1702,7 @@ msgstr "Descargar mtdblock"
 msgid "Downstream SNR offset"
 msgstr "Desplazamiento SNR en sentido descendente"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr "Arrastrar para reordenar"
 
@@ -1704,9 +1748,9 @@ msgstr "Longitud de bits EA"
 msgid "EAP-Method"
 msgstr "Método EAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1794,11 +1838,11 @@ msgstr "Activar servidor TFTP"
 msgid "Enable VLAN functionality"
 msgstr "Activar funcionalidad VLAN"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr "Activar botón WPS, requiere WPA(2)-PSK/WPA3-SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr "Activar las medidas correctivas de reinstalación de claves (KRACK)"
 
@@ -1861,7 +1905,7 @@ msgstr "Modo de encapsulado"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Encriptación"
@@ -2250,8 +2294,8 @@ msgstr "Opciones globales de red"
 msgid "Go to password configuration..."
 msgstr "Ir a la configuración de la contraseña..."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2299,7 +2343,7 @@ msgid "Hide empty chains"
 msgstr "Ocultar cadenas vacias"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2558,7 +2602,7 @@ msgstr "IPv6-sobre-IPv4 (6rd)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6-sobre-IPv4 (6to4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identidad"
 
@@ -2699,6 +2743,22 @@ msgstr "Nombre del script de inicio"
 msgid "Initscripts"
 msgstr "Scripts de inicio"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Instalar extensiones de protocolo..."
@@ -2824,15 +2884,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "¡Se necesita JavaScript!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Conectar"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr "Conectarse a una red: Búsqueda de redes WiFi"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr "Conectarse a: %q"
 
@@ -3062,7 +3122,7 @@ msgstr "Carga media"
 msgid "Loading directory contents…"
 msgstr "Cargando el contenido del directorio…"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3171,7 +3231,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3345,7 +3405,7 @@ msgstr "Dominio de movilidad"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Modo"
@@ -3390,7 +3450,7 @@ msgstr "Monitor"
 msgid "More Characters"
 msgstr "Más caracteres"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr "Más…"
 
@@ -3481,7 +3541,7 @@ msgstr "Dominio NT"
 msgid "NTP server candidates"
 msgstr "Servidores NTP a consultar"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3490,7 +3550,7 @@ msgstr "Servidores NTP a consultar"
 msgid "Name"
 msgstr "Nombre"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Nombre de la nueva red"
 
@@ -3500,7 +3560,7 @@ msgstr "Navegación"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3530,7 +3590,7 @@ msgstr "Nuevo nombre de interfaz…"
 msgid "Next »"
 msgstr "Siguiente »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr "No"
@@ -3762,7 +3822,7 @@ msgstr "Opción cambiada"
 msgid "Option removed"
 msgstr "Opción removida"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr "Opcional"
@@ -4023,7 +4083,7 @@ msgid "Part of zone %q"
 msgstr "Parte de zona %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -4034,11 +4094,11 @@ msgstr "Contraseña"
 msgid "Password authentication"
 msgstr "Autentificación de contraseña"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Contraseña de clave privada"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr "Contraseña de clave privada interna"
 
@@ -4057,27 +4117,27 @@ msgstr "Contraseña2"
 msgid "Paste or drag SSH key file…"
 msgstr "Pegar o arrastrar archivo de clave SSH…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Ruta al Certificado CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Ruta al certificado del cliente"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Ruta a la Clave Privada"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr "Ruta al certificado interno de CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr "Ruta al certificado del cliente interno"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr "Ruta a la clave privada interna"
 
@@ -4330,7 +4390,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr "Tasa RX"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr "Tasa RX / Tasa TX"
 
@@ -4452,7 +4512,7 @@ msgstr "Dirección IPv4 remota o FQDN"
 msgid "Remove"
 msgstr "Eliminar"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Cambiar la configuración WiFi"
 
@@ -4468,7 +4528,7 @@ msgstr "Solicitud IPv6-prefijo de longitud"
 msgid "Request timeout"
 msgstr "Tiempo de espera de solicitud terminada"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr "Requerido"
 
@@ -4514,7 +4574,7 @@ msgstr "Requiere hostapd con soporte OWE"
 msgid "Requires hostapd with SAE support"
 msgstr "Requiere hostapd con soporte SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4554,7 +4614,7 @@ msgstr "Requiere wpa-supplicant con soporte OWE"
 msgid "Requires wpa-supplicant with SAE support"
 msgstr "Requiere wpa-supplicant con soporte SAE"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4681,7 +4741,7 @@ msgstr "Comprobar el sistema de archivos antes de montar el dispositivo"
 msgid "Run filesystem check"
 msgstr "Comprobar el sistema de archivos"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr "Error de tiempo de ejecución"
 
@@ -4717,7 +4777,7 @@ msgstr "Claves SSH"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4726,8 +4786,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr "SWAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4736,7 +4796,7 @@ msgstr "SWAP"
 msgid "Save"
 msgstr "Guardar"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4817,7 +4877,7 @@ msgstr "Tipo de servicio"
 msgid "Services"
 msgstr "Servicios"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr "Sesión expirada"
 
@@ -4882,7 +4942,7 @@ msgstr "Apagar esta interfaz"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4890,7 +4950,7 @@ msgstr "Apagar esta interfaz"
 msgid "Signal"
 msgstr "Señal"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr "Señal / Ruido"
 
@@ -5015,7 +5075,7 @@ msgstr ""
 "Especifique una MTU (Unidad de transmisión máxima) distinta de la "
 "predeterminada (1280 bytes)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Especifique la clave de encriptación."
 
@@ -5033,7 +5093,7 @@ msgstr "Prioridad de inicio"
 msgid "Starting configuration apply…"
 msgstr "Iniciando aplicar configuración…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr "Iniciando escaneo de WiFi..."
 
@@ -5101,7 +5161,7 @@ msgid "Strong"
 msgstr "Fuerte"
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Enviar"
 
@@ -5257,7 +5317,7 @@ msgid ""
 msgstr ""
 "El prefijo IPv6 asignado por el proveedor, suele termina con <code>::</code>"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5361,7 +5421,7 @@ msgstr "Longitud del prefijo IPv6 en bits"
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr "La dirección IPv4 local sobre la que se crea el túnel (opcional)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr "El nombre de la red ya está en uso"
 
@@ -5487,7 +5547,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr "Dirección IPv4 del relé"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr "Este tipo de autenticación no es aplicable al método EAP seleccionado."
 
@@ -5577,8 +5637,14 @@ msgid ""
 "their status."
 msgstr "Procesos del sistema que se están ejecutando actualmente y su estado."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5596,7 +5662,7 @@ msgstr "Intervalo de tiempo para reprogramar GTK"
 msgid "Timezone"
 msgstr "Zona horaria"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr "Iniciar sesión…"
 
@@ -5988,6 +6054,14 @@ msgstr "Usar métrica de puerta de enlace"
 msgid "Use routing table"
 msgstr "Usar tabla de rutas"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -6074,6 +6148,13 @@ msgstr "Hash SHA1 del certificado del servidor VPN"
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr "VPNC (CISCO 3000 (y otros) VPN)"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr "Proveedor"
@@ -6103,7 +6184,7 @@ msgstr "WEP (sistema abierto)"
 msgid "WEP Shared Key"
 msgstr "WEP (clave compartida)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "Contraseña WEP"
 
@@ -6111,7 +6192,7 @@ msgstr "Contraseña WEP"
 msgid "WMM Mode"
 msgstr "Activar WMM"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "Contraseña WPA"
 
@@ -6218,7 +6299,7 @@ msgstr "Escribe las peticiones de DNS recibidas en el registro del sistema"
 msgid "Write system log to file"
 msgstr "Escribe el registro del sistema al archivo"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr "Si"
@@ -6441,7 +6522,7 @@ msgstr "Sin enlace"
 msgid "non-empty value"
 msgstr "valor no vacío"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "ninguno"
 
@@ -6549,7 +6630,7 @@ msgstr "Desconocido"
 msgid "unlimited"
 msgstr "Ilimitado"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/fr/base.po

@@ -59,8 +59,8 @@ msgid "-- Additional Field --"
 msgstr "-- Champ Supplémentaire --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -129,26 +129,26 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr "802.11r Transition rapide"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 #, fuzzy
 msgid "802.11w Association SA Query maximum timeout"
 msgstr "802.11w Association SA Délai maximum de requête"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 #, fuzzy
 msgid "802.11w Association SA Query retry timeout"
 msgstr "802.11w Association SA Délai de nouvelle tentative de requête"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 #, fuzzy
 msgid "802.11w Management Frame Protection"
 msgstr "802.11w gestion de la protection des trames"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr "802.11w délai maximum d'attente"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -257,7 +257,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "Un dossier avec le même nom existe déjà."
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 "Il est nécessaire de s'authentifier de nouveau car la session a expiré."
@@ -382,11 +382,11 @@ msgstr "Bails DHCPv6 actifs"
 msgid "Ad-Hoc"
 msgstr "Ad-hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -649,7 +649,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr "Serveurs DNS publiés"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -676,7 +676,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr "Appliquer sans vérification"
@@ -701,7 +701,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Équipements connectés"
@@ -719,7 +719,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Authentification"
 
@@ -815,7 +815,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -942,7 +942,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -953,6 +953,50 @@ msgstr "Annuler"
 msgid "Category"
 msgstr "Catégorie"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -975,7 +1019,7 @@ msgstr "Change le mot de passe administrateur pour accéder à l'équipement"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Canal"
@@ -984,7 +1028,7 @@ msgstr "Canal"
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -1002,7 +1046,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1080,7 +1124,7 @@ msgstr "Fermer la liste…"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1104,7 +1148,7 @@ msgstr "Échec de la commande"
 msgid "Comment"
 msgstr "Commentaire"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1184,7 +1228,7 @@ msgid "Country Code"
 msgstr "Code pays"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Créer / Assigner une zone du pare-feu"
 
@@ -1381,10 +1425,10 @@ msgstr ""
 "\"<code>6,192.168.2.1,192.168.2.2</code>\" qui publie différents serveurs "
 "DNS à ses clients."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1510,7 +1554,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1543,11 +1587,11 @@ msgstr "Déconnecter"
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr "Fermer"
@@ -1641,7 +1685,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1687,9 +1731,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr "Méthode EAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1775,11 +1819,11 @@ msgstr "Activer le serveur TFTP"
 msgid "Enable VLAN functionality"
 msgstr "Acviter la gestion des VLANs"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1841,7 +1885,7 @@ msgstr "Mode encapsulé"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Chiffrement"
@@ -2223,8 +2267,8 @@ msgstr "Options de réseau mondial"
 msgid "Go to password configuration..."
 msgstr "Aller à la configuration du mot de passe…"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2272,7 +2316,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2531,7 +2575,7 @@ msgstr "IPv6 sur IPv4 (6ème)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6 sur IPv4 (6 vers 4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identité"
 
@@ -2666,6 +2710,22 @@ msgstr "Script d'initialisation"
 msgid "Initscripts"
 msgstr "Scripts d'initialisation"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Installation des extensions de protocole…"
@@ -2794,15 +2854,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "Nécessite un Script Java !"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Rejoindre un réseau"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr "Rejoindre un réseau : recherche des réseaux sans-fil"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -3020,7 +3080,7 @@ msgstr "Charge moyenne"
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3131,7 +3191,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3303,7 +3363,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Mode"
@@ -3348,7 +3408,7 @@ msgstr "Monitor"
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr "Plus…"
 
@@ -3439,7 +3499,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr "Serveurs NTP candidats"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3448,7 +3508,7 @@ msgstr "Serveurs NTP candidats"
 msgid "Name"
 msgstr "Nom"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Nom du nouveau réseau"
 
@@ -3458,7 +3518,7 @@ msgstr "Navigation"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3488,7 +3548,7 @@ msgstr ""
 msgid "Next »"
 msgstr "Prochain »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr "Non"
@@ -3718,7 +3778,7 @@ msgstr "Option modifiée"
 msgid "Option removed"
 msgstr "Option retirée"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3966,7 +4026,7 @@ msgid "Part of zone %q"
 msgstr "Fait partie de la zone %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3977,11 +4037,11 @@ msgstr "Mot de passe"
 msgid "Password authentication"
 msgstr "Authentification par mot de passe"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Mot de passe de la clé privée"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -4000,27 +4060,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Chemin vers le certificat CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Chemin du certificat-client"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Chemin de la clé privée"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4264,7 +4324,7 @@ msgstr "Reçu"
 msgid "RX Rate"
 msgstr "Débit en réception"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4382,7 +4442,7 @@ msgstr ""
 msgid "Remove"
 msgstr "Désinstaller"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Remplacer la configuration sans-fil"
 
@@ -4398,7 +4458,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4441,7 +4501,7 @@ msgstr "Nécessite hostapd avec le support OWE"
 msgid "Requires hostapd with SAE support"
 msgstr "Nécessite hostapd avec prise en charge SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4477,7 +4537,7 @@ msgstr "Requiert wpa-supplicant avec support OWE"
 msgid "Requires wpa-supplicant with SAE support"
 msgstr "Requiert wpa-supplicant avec support SAE"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4605,7 +4665,7 @@ msgstr ""
 msgid "Run filesystem check"
 msgstr "Faire une vérification du système de fichiers"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4641,7 +4701,7 @@ msgstr "Clés SSH"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4650,8 +4710,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4660,7 +4720,7 @@ msgstr ""
 msgid "Save"
 msgstr "Enregistrer"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4738,7 +4798,7 @@ msgstr "Type du service"
 msgid "Services"
 msgstr "Services"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4800,7 +4860,7 @@ msgstr "Arrêter cet interface"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4808,7 +4868,7 @@ msgstr "Arrêter cet interface"
 msgid "Signal"
 msgstr "Signal"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4925,7 +4985,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Spécifiez ici la clé secrète de chiffrage."
 
@@ -4943,7 +5003,7 @@ msgstr "Priorité de démarrage"
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -5011,7 +5071,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Soumettre"
 
@@ -5162,7 +5222,7 @@ msgstr ""
 "Le préfixe IPv6 attribué par le fournisseur, se termine généralement par "
 "<code>::</code>"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5258,7 +5318,7 @@ msgstr "La longueur du préfixe IPv6 en bits"
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr "Adresse IPv4 locale sur laquelle le tunnel est créé (facultatif)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr "Le nom du réseau est déjà utilisé"
 
@@ -5384,7 +5444,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr "L'adresse IPv4 du relais"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 "Ce type d'authentification n'est pas applicable à la méthode EAP "
@@ -5472,8 +5532,14 @@ msgstr ""
 "Cette liste donne une vue d'ensemble des processus en cours d'exécution et "
 "leur statut."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5491,7 +5557,7 @@ msgstr ""
 msgid "Timezone"
 msgstr "Fuseau horaire"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5878,6 +5944,14 @@ msgstr "Utiliser la métrique de la passerelle"
 msgid "Use routing table"
 msgstr "Utiliser la table de routage"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5964,6 +6038,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr "VPNC (CISCO 3000 (et autres) VPN)"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5993,7 +6074,7 @@ msgstr "Système ouvert WEP"
 msgid "WEP Shared Key"
 msgstr "Clé partagée WEP"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "Mot de passe WEP"
 
@@ -6001,7 +6082,7 @@ msgstr "Mot de passe WEP"
 msgid "WMM Mode"
 msgstr "Mode WMM"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "Mot de passe WPA"
 
@@ -6107,7 +6188,7 @@ msgstr "Écrire les requêtes DNS reçues dans syslog"
 msgid "Write system log to file"
 msgstr "Écrire les log systèmes dans un fichier"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr "Oui"
@@ -6329,7 +6410,7 @@ msgstr "pas de lien"
 msgid "non-empty value"
 msgstr "valeur non vide"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "Aucun"
 
@@ -6437,7 +6518,7 @@ msgstr "inconnu"
 msgid "unlimited"
 msgstr "non limité"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/he/base.po

@@ -57,8 +57,8 @@ msgid "-- Additional Field --"
 msgstr "-- שדה נוסף --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -123,23 +123,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -236,7 +236,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 
@@ -360,11 +360,11 @@ msgstr "הרשאות DHCPv6 פעילות"
 msgid "Ad-Hoc"
 msgstr "אד-הוק"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -624,7 +624,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -653,7 +653,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -678,7 +678,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "תחנות קשורות"
@@ -696,7 +696,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "אימות"
 
@@ -792,7 +792,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -920,7 +920,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -931,6 +931,50 @@ msgstr "בטל"
 msgid "Category"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -953,7 +997,7 @@ msgstr "משנה את סיסמת המנהל לגישה למכשיר"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "ערוץ"
@@ -962,7 +1006,7 @@ msgstr "ערוץ"
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -980,7 +1024,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1047,7 +1091,7 @@ msgstr "סגור רשימה..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1071,7 +1115,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1151,7 +1195,7 @@ msgid "Country Code"
 msgstr "קוד מדינה"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "צור / הקצה תחום-חומת אש"
 
@@ -1347,10 +1391,10 @@ msgstr ""
 "הגדר אפשרויות DHCP נוספות, למשל \"<code>6,192.168.2.1,192.168.2.2</code>\" "
 "אשר מציגות שרתי DNS שונים ללקוח"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1474,7 +1518,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1507,11 +1551,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1594,7 +1638,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1637,9 +1681,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1723,11 +1767,11 @@ msgstr "אפשר שרת TFTP"
 msgid "Enable VLAN functionality"
 msgstr "אפשר תפקוד VLAN"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1787,7 +1831,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "הצפנה"
@@ -2165,8 +2209,8 @@ msgstr ""
 msgid "Go to password configuration..."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2212,7 +2256,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2471,7 +2515,7 @@ msgstr ""
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr ""
 
@@ -2598,6 +2642,22 @@ msgstr ""
 msgid "Initscripts"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr ""
@@ -2721,15 +2781,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -2944,7 +3004,7 @@ msgstr "עומס ממוצע"
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3047,7 +3107,7 @@ msgid "MAC"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3219,7 +3279,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr ""
@@ -3264,7 +3324,7 @@ msgstr ""
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3353,7 +3413,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3362,7 +3422,7 @@ msgstr ""
 msgid "Name"
 msgstr "שם"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr ""
 
@@ -3372,7 +3432,7 @@ msgstr ""
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3402,7 +3462,7 @@ msgstr ""
 msgid "Next »"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr ""
@@ -3632,7 +3692,7 @@ msgstr ""
 msgid "Option removed"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3878,7 +3938,7 @@ msgid "Part of zone %q"
 msgstr ""
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3889,11 +3949,11 @@ msgstr ""
 msgid "Password authentication"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3912,27 +3972,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "נתיב למפתח הפרטי"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4174,7 +4234,7 @@ msgstr ""
 msgid "RX Rate"
 msgstr "קצב קליטה"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4292,7 +4352,7 @@ msgstr ""
 msgid "Remove"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr ""
 
@@ -4308,7 +4368,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4351,7 +4411,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4387,7 +4447,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4512,7 +4572,7 @@ msgstr ""
 msgid "Run filesystem check"
 msgstr "הרץ בדיקת מערכת קבצים"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4548,7 +4608,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr ""
@@ -4557,8 +4617,8 @@ msgstr ""
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4567,7 +4627,7 @@ msgstr ""
 msgid "Save"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4643,7 +4703,7 @@ msgstr ""
 msgid "Services"
 msgstr "שירותים"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4705,7 +4765,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4713,7 +4773,7 @@ msgstr ""
 msgid "Signal"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4826,7 +4886,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr ""
 
@@ -4844,7 +4904,7 @@ msgstr ""
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4911,7 +4971,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "שלח"
 
@@ -5059,7 +5119,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5142,7 +5202,7 @@ msgstr ""
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5246,7 +5306,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5317,8 +5377,14 @@ msgid ""
 "their status."
 msgstr "רשימה זו מציגה סקירה של תהליכי המערכת הרצים כרגע ואת מצבם."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5336,7 +5402,7 @@ msgstr ""
 msgid "Timezone"
 msgstr "אזור זמן"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5720,6 +5786,14 @@ msgstr ""
 msgid "Use routing table"
 msgstr "השתמש בטבלת ניתוב"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5800,6 +5874,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5829,7 +5910,7 @@ msgstr ""
 msgid "WEP Shared Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "סיסמת WEP"
 
@@ -5837,7 +5918,7 @@ msgstr "סיסמת WEP"
 msgid "WMM Mode"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "סיסמת WPA"
 
@@ -5939,7 +6020,7 @@ msgstr ""
 msgid "Write system log to file"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr ""
@@ -6153,7 +6234,7 @@ msgstr ""
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "ללא"
 
@@ -6261,7 +6342,7 @@ msgstr ""
 msgid "unlimited"
 msgstr "ללא הגבלה"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/hi/base.po

@@ -54,8 +54,8 @@ msgid "-- Additional Field --"
 msgstr "अतिरिक्त अनुभाग"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -120,23 +120,23 @@ msgstr "6-ओक्टेट पहचानकर्ता एक हेक्
 msgid "802.11r Fast Transition"
 msgstr "802.11r तेज संक्र्रांति"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr "802.11w संगति SA प्रश्नचिहन महत्तम काल समापन"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr "802.11w संगति SA प्रश्नचिहन पुन: प्रयास काल समापन"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr "802.11w प्रबंध ढांचा सुरक्षा"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr "802.11w महत्तम काल समापन"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr "802.11 पुन: प्रयास काल समापन"
 
@@ -232,7 +232,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "समान नाम वाली एक निर्देशिका पहले से मौजूद है।"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr "प्रमाणीकरण सत्र समाप्त होने के बाद से एक नया लॉगिन आवश्यक है।"
 
@@ -352,11 +352,11 @@ msgstr "सक्रिय DHCPv6 पट्टों"
 msgid "Ad-Hoc"
 msgstr "तदर्थ"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -611,7 +611,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -638,7 +638,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -663,7 +663,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr ""
@@ -681,7 +681,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr ""
 
@@ -777,7 +777,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -901,7 +901,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -912,6 +912,50 @@ msgstr ""
 msgid "Category"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -934,7 +978,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr ""
@@ -943,7 +987,7 @@ msgstr ""
 msgid "Check filesystems before mount"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 
@@ -961,7 +1005,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1028,7 +1072,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1052,7 +1096,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1132,7 +1176,7 @@ msgid "Country Code"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr ""
 
@@ -1324,10 +1368,10 @@ msgid ""
 "servers to clients."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1451,7 +1495,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1484,11 +1528,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1571,7 +1615,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1612,9 +1656,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1698,11 +1742,11 @@ msgstr ""
 msgid "Enable VLAN functionality"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1762,7 +1806,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr ""
@@ -2140,8 +2184,8 @@ msgstr ""
 msgid "Go to password configuration..."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2187,7 +2231,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2446,7 +2490,7 @@ msgstr ""
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr ""
 
@@ -2573,6 +2617,22 @@ msgstr ""
 msgid "Initscripts"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr ""
@@ -2696,15 +2756,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -2919,7 +2979,7 @@ msgstr ""
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3022,7 +3082,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3194,7 +3254,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr ""
@@ -3239,7 +3299,7 @@ msgstr ""
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3328,7 +3388,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3337,7 +3397,7 @@ msgstr ""
 msgid "Name"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr ""
 
@@ -3347,7 +3407,7 @@ msgstr ""
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3377,7 +3437,7 @@ msgstr ""
 msgid "Next »"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr ""
@@ -3607,7 +3667,7 @@ msgstr ""
 msgid "Option removed"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3853,7 +3913,7 @@ msgid "Part of zone %q"
 msgstr ""
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3864,11 +3924,11 @@ msgstr ""
 msgid "Password authentication"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3887,27 +3947,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4149,7 +4209,7 @@ msgstr ""
 msgid "RX Rate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4267,7 +4327,7 @@ msgstr ""
 msgid "Remove"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr ""
 
@@ -4283,7 +4343,7 @@ msgstr ""
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr ""
 
@@ -4326,7 +4386,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4362,7 +4422,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4487,7 +4547,7 @@ msgstr ""
 msgid "Run filesystem check"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4523,7 +4583,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4532,8 +4592,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4542,7 +4602,7 @@ msgstr ""
 msgid "Save"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4618,7 +4678,7 @@ msgstr ""
 msgid "Services"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4680,7 +4740,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4688,7 +4748,7 @@ msgstr ""
 msgid "Signal"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4799,7 +4859,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr ""
 
@@ -4817,7 +4877,7 @@ msgstr ""
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4881,7 +4941,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr ""
 
@@ -5029,7 +5089,7 @@ msgid ""
 "The IPv6 prefix assigned to the provider, usually ends with <code>::</code>"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5112,7 +5172,7 @@ msgstr ""
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5216,7 +5276,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5287,8 +5347,14 @@ msgid ""
 "their status."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5306,7 +5372,7 @@ msgstr ""
 msgid "Timezone"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5689,6 +5755,14 @@ msgstr ""
 msgid "Use routing table"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5769,6 +5843,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5798,7 +5879,7 @@ msgstr ""
 msgid "WEP Shared Key"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr ""
 
@@ -5806,7 +5887,7 @@ msgstr ""
 msgid "WMM Mode"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr ""
 
@@ -5908,7 +5989,7 @@ msgstr ""
 msgid "Write system log to file"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr ""
@@ -6122,7 +6203,7 @@ msgstr ""
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr ""
 
@@ -6230,7 +6311,7 @@ msgstr ""
 msgid "unlimited"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/hu/base.po

@@ -57,8 +57,8 @@ msgid "-- Additional Field --"
 msgstr "-- További mező --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -126,23 +126,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr "802.11r gyors átmenet"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr "802.11w hozzárendelés SA-lekérdezésének legnagyobb időkorlátja"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr "802.11w hozzárendelés SA-lekérdezési újrapróbálás időkorlátja"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr "802.11w kezelőkeret-védelem"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr "802.11w legnagyobb időkorlátja"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr "802.11w újrapróbálás időkorlátja"
 
@@ -248,7 +248,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr "Már létezik egy ilyen nevű könyvtár."
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr "Új bejelentkezés szükséges, mivel a hitelesítés munkamenete lejárt."
 
@@ -370,11 +370,11 @@ msgstr "Aktív DHCPv6 bérletek"
 msgid "Ad-Hoc"
 msgstr "Eseti"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -642,7 +642,7 @@ msgstr "Bejelentett DNS-tartományok"
 msgid "Announced DNS servers"
 msgstr "Bejelentett DNS-kiszolgálók"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr "Névtelen személyazonosság"
 
@@ -669,7 +669,7 @@ msgstr "Alkalmazza a biztonsági mentést?"
 msgid "Apply request failed with status <code>%h</code>"
 msgstr "A kérés alkalmazása meghiúsult <code>%h</code> állapotkóddal"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr "Kijelöletlenek alkalmazása"
@@ -698,7 +698,7 @@ msgstr ""
 "A hexadecimális alelőtag-azonosító használatával történő előtagrészek "
 "hozzárendelése ehhez a csatolóhoz."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Hozzárendelt állomások"
@@ -718,7 +718,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr "Hitelesítési csoport"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Hitelesítés"
 
@@ -814,7 +814,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -946,7 +946,7 @@ msgstr "Hívás sikertelen"
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -957,6 +957,50 @@ msgstr "Mégse"
 msgid "Category"
 msgstr "Kategória"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -979,7 +1023,7 @@ msgstr "Megváltoztatja az eszköz eléréséhez szükséges adminisztrátori je
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Csatorna"
@@ -988,7 +1032,7 @@ msgstr "Csatorna"
 msgid "Check filesystems before mount"
 msgstr "Fájlrendszerek ellenőrzése csatolás előtt"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr ""
 "Jelölje be ezt a lehetőséget a meglévő hálózatok törléséhez ebből a rádióból."
@@ -1007,7 +1051,7 @@ msgid "Choose mtdblock"
 msgstr "Az mtdblock kiválasztása"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1088,7 +1132,7 @@ msgstr "Lista bezárása…"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1112,7 +1156,7 @@ msgstr "Parancs sikertelen"
 msgid "Comment"
 msgstr "Megjegyzés"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1201,7 +1245,7 @@ msgid "Country Code"
 msgstr "Országkód"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Tűzfalzóna létrehozása vagy hozzárendelése"
 
@@ -1400,10 +1444,10 @@ msgstr ""
 "„<code>6,192.168.2.1,192.168.2.2</code>”, amely különböző DNS-kiszolgálókat "
 "hirdet az ügyfelek részére."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1529,7 +1573,7 @@ msgstr "Inaktivitás lekérdezésének letiltása"
 msgid "Disable this network"
 msgstr "Hálózat letiltása"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1562,11 +1606,11 @@ msgstr "Leválasztás"
 msgid "Disconnection attempt failed"
 msgstr "Leválasztási kísérlet sikertelen"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr "Eltüntetés"
@@ -1658,7 +1702,7 @@ msgstr "Az mtdblock letöltése"
 msgid "Downstream SNR offset"
 msgstr "Belső SNR eltolás"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr "Húzza az átrendezéshez"
 
@@ -1705,9 +1749,9 @@ msgstr "EA-bitek hossza"
 msgid "EAP-Method"
 msgstr "EAP módszer"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1795,11 +1839,11 @@ msgstr "TFTP kiszolgáló engedélyezése"
 msgid "Enable VLAN functionality"
 msgstr "VLAN funkcionalitás engedélyezése"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr "WPS nyomógomb engedélyezése, WPA(2)-PSK/WPA3-SAE szükséges"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr "Kulcs-újratelepítés (KRACK) ellenintézkedéseinek engedélyezése"
 
@@ -1861,7 +1905,7 @@ msgstr "Beágyazási mód"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Titkosítás"
@@ -2248,8 +2292,8 @@ msgstr "Globális hálózati beállítások"
 msgid "Go to password configuration..."
 msgstr "Ugrás a jelszóbeállításhoz…"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2297,7 +2341,7 @@ msgid "Hide empty chains"
 msgstr "Üres láncok elrejtése"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2557,7 +2601,7 @@ msgstr "IPv6 IPv4 felett (6rd)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6 IPv4 felett (6to4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Személyazonosság"
 
@@ -2699,6 +2743,22 @@ msgstr "Előkészítő parancsfájl"
 msgid "Initscripts"
 msgstr "Előkészítő parancsfájlok"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Protokollkiterjesztések telepítése…"
@@ -2828,15 +2888,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "JavaScript szükséges!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Csatlakozás a hálózathoz"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr "Csatlakozás hálózathoz: vezeték nélküli keresés"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr "Csatlakozás hálózathoz: %q"
 
@@ -3066,7 +3126,7 @@ msgstr "Átlagos terhelés"
 msgid "Loading directory contents…"
 msgstr "Könyvtártartalmak betöltése…"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3175,7 +3235,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3349,7 +3409,7 @@ msgstr "Mobilitási tartomány"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Mód"
@@ -3394,7 +3454,7 @@ msgstr "Megfigyelés"
 msgid "More Characters"
 msgstr "Több karakter"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr "Több…"
 
@@ -3485,7 +3545,7 @@ msgstr "NT-tartomány"
 msgid "NTP server candidates"
 msgstr "NTP-kiszolgáló jelöltek"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3494,7 +3554,7 @@ msgstr "NTP-kiszolgáló jelöltek"
 msgid "Name"
 msgstr "Név"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Az új hálózat neve"
 
@@ -3504,7 +3564,7 @@ msgstr "Navigáció"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3534,7 +3594,7 @@ msgstr "Új csatolónév…"
 msgid "Next »"
 msgstr "Következő »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr "Nem"
@@ -3766,7 +3826,7 @@ msgstr "Beállítás megváltoztatva"
 msgid "Option removed"
 msgstr "Beállítás eltávolítva"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr "Elhagyható"
@@ -4028,7 +4088,7 @@ msgid "Part of zone %q"
 msgstr "A(z) %q zóna része"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -4039,11 +4099,11 @@ msgstr "Jelszó"
 msgid "Password authentication"
 msgstr "Jelszavas hitelesítés"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Személyes kulcs jelszava"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr "A belső személyes kulcs jelszava"
 
@@ -4062,27 +4122,27 @@ msgstr "2. jelszó"
 msgid "Paste or drag SSH key file…"
 msgstr "SSH kulcsfájl beszúrása vagy idehúzása…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Útvonal a CA-tanúsítványhoz"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr "Útvonal az ügyféltanúsítványhoz"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Útvonal a személyes kulcshoz"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr "Útvonal a belső CA-tanúsítványhoz"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr "Útvonal a belső ügyféltanúsítványhoz"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr "Útvonal a belső személyes kulcshoz"
 
@@ -4335,7 +4395,7 @@ msgstr "RX"
 msgid "RX Rate"
 msgstr "RX sebesség"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr "RX-sebesség/TX-sebesség"
 
@@ -4457,7 +4517,7 @@ msgstr "Távoli IPv4-cím vagy FQDN"
 msgid "Remove"
 msgstr "Eltávolítás"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Vezeték nélküli beállítások cseréje"
 
@@ -4473,7 +4533,7 @@ msgstr "Kért IPv6-előtag vagy hossz"
 msgid "Request timeout"
 msgstr "Kérés időkorlátja"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr "Kötelező"
 
@@ -4521,7 +4581,7 @@ msgstr "OWE támogatással rendelkező hostapd szükséges"
 msgid "Requires hostapd with SAE support"
 msgstr "SAE támogatással rendelkező hostapd szükséges"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4561,7 +4621,7 @@ msgstr "OWA támogatással rendelkező WPA-ügyfél szükséges"
 msgid "Requires wpa-supplicant with SAE support"
 msgstr "SAE támogatással rendelkező WPA-ügyfél szükséges"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4688,7 +4748,7 @@ msgstr "Fájlrendszer-ellenőrzés futtatása az eszköz csatolása előtt"
 msgid "Run filesystem check"
 msgstr "Fájlrendszer-ellenőrzés futtatása"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr "Futás idejű hiba"
 
@@ -4724,7 +4784,7 @@ msgstr "SSH kulcsok"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4733,8 +4793,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr "SWAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4743,7 +4803,7 @@ msgstr "SWAP"
 msgid "Save"
 msgstr "Mentés"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4824,7 +4884,7 @@ msgstr "Szolgáltatás típusa"
 msgid "Services"
 msgstr "Szolgáltatások"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr "A munkamenet lejárt"
 
@@ -4889,7 +4949,7 @@ msgstr "A csatoló leállítása"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4897,7 +4957,7 @@ msgstr "A csatoló leállítása"
 msgid "Signal"
 msgstr "Jel"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr "Jel/zaj"
 
@@ -5023,7 +5083,7 @@ msgstr ""
 "Egy MTU (Maximum Transmission Unit – legnagyobb átviteli egység) megadása az "
 "alapértelmezettől (1280 bájttól) eltérően."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Itt adja meg a titkos titkosító kulcsot."
 
@@ -5041,7 +5101,7 @@ msgstr "Indítási prioritás"
 msgid "Starting configuration apply…"
 msgstr "Beállítások alkalmazásának indítása…"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr "Vezeték nélküli keresés indítása…"
 
@@ -5109,7 +5169,7 @@ msgid "Strong"
 msgstr "Erős"
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Elküldés"
 
@@ -5263,7 +5323,7 @@ msgstr ""
 "A szolgáltatóhoz rendelt IPv6-előtag, általában <code>::</code> "
 "karakterekkel végződik"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5367,7 +5427,7 @@ msgstr "Az IPv6-előtag hossza bitekben"
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr "A helyi IPv4-cím, amely fölött az alagút létrejön (elhagyható)."
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr "A hálózat neve már használatban van"
 
@@ -5495,7 +5555,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr "Az átjátszó IPv4-címe"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr "Ez a hitelesítéstípus nem alkalmazható a kijelölt EAP módszerhez."
 
@@ -5588,8 +5648,14 @@ msgstr ""
 "Ez a lista áttekintést ad a jelenleg futó rendszerfolyamatokról és azok "
 "állapotáról."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5607,7 +5673,7 @@ msgstr "Időköz a GTK újrakulcsolásához"
 msgid "Timezone"
 msgstr "Időzóna"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr "Bejelentkezéshez…"
 
@@ -5999,6 +6065,14 @@ msgstr "Átjáró metrikájának használata"
 msgid "Use routing table"
 msgstr "Útválasztási táblázat használata"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -6087,6 +6161,13 @@ msgstr "VPN-kiszolgáló tanúsítványának SHA1 kivonata"
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr "VPNC (CISCO 3000 (és egyebek) VPN)"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr "Gyártó"
@@ -6116,7 +6197,7 @@ msgstr "WEP nyílt rendszer"
 msgid "WEP Shared Key"
 msgstr "WEP megosztott kulcs"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "WEP jelmondat"
 
@@ -6124,7 +6205,7 @@ msgstr "WEP jelmondat"
 msgid "WMM Mode"
 msgstr "WMM mód"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "WPA jelmondat"
 
@@ -6233,7 +6314,7 @@ msgstr "Fogadott DNS-kérések írása a rendszernaplóba"
 msgid "Write system log to file"
 msgstr "Rendszernapló írása fájlba"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr "Igen"
@@ -6458,7 +6539,7 @@ msgstr "nincs kapcsolat"
 msgid "non-empty value"
 msgstr "nem üres érték"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "nincs"
 
@@ -6566,7 +6647,7 @@ msgstr "ismeretlen"
 msgid "unlimited"
 msgstr "korlátlan"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

+ 171 - 90
modules/luci-base/po/it/base.po

@@ -59,8 +59,8 @@ msgid "-- Additional Field --"
 msgstr "-- Campo aggiuntivo --"
 
 #: modules/luci-base/htdocs/luci-static/resources/cbi.js:258
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1788
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1789
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:315
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:415
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1243
@@ -125,23 +125,23 @@ msgstr ""
 msgid "802.11r Fast Transition"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w Association SA Query maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w Association SA Query retry timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid "802.11w Management Frame Protection"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1602
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1680
 msgid "802.11w maximum timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1687
 msgid "802.11w retry timeout"
 msgstr ""
 
@@ -250,7 +250,7 @@ msgstr ""
 msgid "A directory with the same name already exists."
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1606
 msgid "A new login is required since the authentication session expired."
 msgstr ""
 
@@ -374,11 +374,11 @@ msgstr "Contratti attivi DHCPv6"
 msgid "Ad-Hoc"
 msgstr "Ad-Hoc"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:908
-#: modules/luci-base/htdocs/luci-static/resources/form.js:910
-#: modules/luci-base/htdocs/luci-static/resources/form.js:923
+#: modules/luci-base/htdocs/luci-static/resources/form.js:909
+#: modules/luci-base/htdocs/luci-static/resources/form.js:911
 #: modules/luci-base/htdocs/luci-static/resources/form.js:924
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1547
+#: modules/luci-base/htdocs/luci-static/resources/form.js:925
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1548
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:25
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:189
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:197
@@ -639,7 +639,7 @@ msgstr ""
 msgid "Announced DNS servers"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1531
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1609
 msgid "Anonymous Identity"
 msgstr ""
 
@@ -666,7 +666,7 @@ msgstr ""
 msgid "Apply request failed with status <code>%h</code>"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2925
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2927
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2643
 msgid "Apply unchecked"
 msgstr ""
@@ -691,7 +691,7 @@ msgid ""
 "Assign prefix parts using this hexadecimal subprefix ID for this interface."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2015
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2093
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:217
 msgid "Associated Stations"
 msgstr "Dispositivi Wi-Fi connessi"
@@ -709,7 +709,7 @@ msgstr ""
 msgid "Auth Group"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1456
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1495
 msgid "Authentication"
 msgstr "Autenticazione PEAP"
 
@@ -805,7 +805,7 @@ msgstr "BR / DMR / AFTR"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:109
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:131
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1657
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1735
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:34
 msgid "BSSID"
 msgstr "BSSID"
@@ -932,7 +932,7 @@ msgstr ""
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:52
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:182
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:758
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1889
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1967
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:124
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:268
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/sshkeys.js:180
@@ -943,6 +943,50 @@ msgstr "Annulla"
 msgid "Category"
 msgstr "Categoria"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+msgid "Certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+msgid "Certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+msgid "Certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+msgid "Certificate constraint (Wildcard)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1452
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid ""
+"Certificate constraint substring - e.g. /CN=wifi.mycompany.com<br />See "
+"`logread -f` during handshake for actual values"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1464
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (exact match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1470
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid ""
+"Certificate constraint(s) against DNS SAN values (if available)<br />or "
+"Subject CN (suffix match)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1458
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid ""
+"Certificate constraint(s) via Subject Alternate Name values<br />(supported "
+"attributes: EMAIL, DNS, URI) - e.g. DNS:wifi.mycompany.com"
+msgstr ""
+
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:51
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:54
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:198
@@ -965,7 +1009,7 @@ msgstr "Cambia la password di amministratore per accedere al dispositivo"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:79
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:133
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:379
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1655
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1733
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:52
 msgid "Channel"
 msgstr "Canale"
@@ -974,7 +1018,7 @@ msgstr "Canale"
 msgid "Check filesystems before mount"
 msgstr "Controlla i filesystem prima di montare"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Check this option to delete the existing networks from this radio."
 msgstr "Marca questa opzione per cancellare le reti esistenti da questa radio."
 
@@ -992,7 +1036,7 @@ msgid "Choose mtdblock"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid ""
 "Choose the firewall zone you want to assign to this interface. Select "
 "<em>unspecified</em> to remove the interface from the associated zone or "
@@ -1069,7 +1113,7 @@ msgstr "Scegliere dall'elenco..."
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:39
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:58
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2013
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2091
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:386
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:315
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/iptables.js:318
@@ -1093,7 +1137,7 @@ msgstr ""
 msgid "Comment"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid ""
 "Complicates key reinstallation attacks on the client side by disabling "
 "retransmission of EAPOL-Key frames that are used to install keys. This "
@@ -1173,7 +1217,7 @@ msgid "Country Code"
 msgstr "Codice Nazione"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:486
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1879
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1957
 msgid "Create / Assign firewall-zone"
 msgstr "Crea / Assegna zona firewall"
 
@@ -1370,10 +1414,10 @@ msgstr ""
 "\"<code>6,192.168.2.1,192.168.2.2</code>\" fornisce differenti server DNS ai "
 "client."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:972
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1221
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1224
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1532
+#: modules/luci-base/htdocs/luci-static/resources/form.js:973
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1222
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1225
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1533
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:1844
 #: modules/luci-compat/luasrc/view/cbi/nsection.htm:11
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:162
@@ -1499,7 +1543,7 @@ msgstr ""
 msgid "Disable this network"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1569
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1647
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/startup.js:62
 #: protocols/luci-proto-3g/htdocs/luci-static/resources/protocol/3g.js:107
 #: protocols/luci-proto-ncm/htdocs/luci-static/resources/protocol/ncm.js:99
@@ -1532,11 +1576,11 @@ msgstr ""
 msgid "Disconnection attempt failed"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1383
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1384
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2081
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2548
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2635
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1671
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1749
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/flash.js:326
 msgid "Dismiss"
 msgstr ""
@@ -1626,7 +1670,7 @@ msgstr ""
 msgid "Downstream SNR offset"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1180
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1181
 msgid "Drag to reorder"
 msgstr ""
 
@@ -1672,9 +1716,9 @@ msgstr ""
 msgid "EAP-Method"
 msgstr "Metodo EAP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1199
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1202
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1458
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1200
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1203
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1459
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:154
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:160
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:334
@@ -1758,11 +1802,11 @@ msgstr "Abilita il server TFTP"
 msgid "Enable VLAN functionality"
 msgstr "Abilita la funzionalità VLAN"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1630
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1708
 msgid "Enable WPS pushbutton, requires WPA(2)-PSK/WPA3-SAE"
 msgstr "Abilita pulsante WPS, richiede WPA(2)-PSK/WPA3-SAE"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1617
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1695
 msgid "Enable key reinstallation (KRACK) countermeasures"
 msgstr ""
 
@@ -1822,7 +1866,7 @@ msgstr "Modalità di incapsulamento"
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:110
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:132
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1027
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1658
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1736
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:35
 msgid "Encryption"
 msgstr "Crittografia"
@@ -2204,8 +2248,8 @@ msgstr "Opzioni rete globale"
 msgid "Go to password configuration..."
 msgstr "Vai alla configurazione della password..."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1123
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1625
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1124
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1626
 #: modules/luci-compat/luasrc/view/cbi/full_valueheader.htm:4
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:58
 msgid "Go to relevant configuration page"
@@ -2253,7 +2297,7 @@ msgid "Hide empty chains"
 msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:52
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2007
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2085
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:126
 msgid "Host"
@@ -2513,7 +2557,7 @@ msgstr "IPv6-su-IPv4 (6rd)"
 msgid "IPv6-over-IPv4 (6to4)"
 msgstr "IPv6-su-IPv4 (6to4)"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1513
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1591
 msgid "Identity"
 msgstr "Identità PEAP"
 
@@ -2651,6 +2695,22 @@ msgstr "Script di avvio"
 msgid "Initscripts"
 msgstr "Scripts di avvio"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1560
+msgid "Inner certificate constraint (Domain)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1554
+msgid "Inner certificate constraint (SAN)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1548
+msgid "Inner certificate constraint (Subject)"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1566
+msgid "Inner certificate constraint (Wildcard)"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:263
 msgid "Install protocol extensions..."
 msgstr "Installa le estensioni del protocollo..."
@@ -2777,15 +2837,15 @@ msgstr ""
 msgid "JavaScript required!"
 msgstr "Richiesto JavaScript!"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1728
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1806
 msgid "Join Network"
 msgstr "Aggiungi Rete"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1665
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1743
 msgid "Join Network: Wireless Scan"
 msgstr "Aggiunta Rete: Rilevamento Wireless"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1883
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1961
 msgid "Joining Network: %q"
 msgstr ""
 
@@ -3002,7 +3062,7 @@ msgstr "Carico Medio"
 msgid "Loading directory contents…"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2708
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2710
 #: modules/luci-base/luasrc/view/view.htm:4
 #: modules/luci-mod-status/luasrc/view/admin_status/index.htm:12
 msgid "Loading view…"
@@ -3111,7 +3171,7 @@ msgid "MAC"
 msgstr "MAC"
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:35
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2006
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2084
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:55
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/40_dhcp.js:30
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:125
@@ -3283,7 +3343,7 @@ msgstr ""
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:129
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:363
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:836
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1656
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1734
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:33
 msgid "Mode"
 msgstr "Modalità"
@@ -3328,7 +3388,7 @@ msgstr "Monitor"
 msgid "More Characters"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1066
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1067
 msgid "More…"
 msgstr ""
 
@@ -3419,7 +3479,7 @@ msgstr ""
 msgid "NTP server candidates"
 msgstr "Candidati server NTP"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1103
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1104
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2354
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:27
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js:596
@@ -3428,7 +3488,7 @@ msgstr "Candidati server NTP"
 msgid "Name"
 msgstr "Nome"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid "Name of the new network"
 msgstr "Nome della nuova rete"
 
@@ -3438,7 +3498,7 @@ msgstr "Navigazione"
 
 #: modules/luci-base/root/usr/share/luci/menu.d/luci-base.json:54
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:869
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2005
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2083
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/connections.js:378
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/30_network.js:62
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:124
@@ -3468,7 +3528,7 @@ msgstr ""
 msgid "Next »"
 msgstr "Prossimo »"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:108
 msgid "No"
 msgstr ""
@@ -3698,7 +3758,7 @@ msgstr "Opzione cambiata"
 msgid "Option removed"
 msgstr "Opzione cancellata"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1570
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1648
 #: protocols/luci-proto-wireguard/htdocs/luci-static/resources/protocol/wireguard.js:66
 msgid "Optional"
 msgstr ""
@@ -3946,7 +4006,7 @@ msgid "Part of zone %q"
 msgstr "Parte della zona %q"
 
 #: modules/luci-base/luasrc/view/sysauth.htm:29
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1549
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1627
 #: modules/luci-mod-system/htdocs/luci-static/resources/view/system/password.js:47
 #: protocols/luci-proto-openconnect/htdocs/luci-static/resources/protocol/openconnect.js:107
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:58
@@ -3957,11 +4017,11 @@ msgstr "Mot de passe"
 msgid "Password authentication"
 msgstr "Password di authenticazione"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1449
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
 msgid "Password of Private Key"
 msgstr "Password della chiave privata"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1506
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1584
 msgid "Password of inner Private Key"
 msgstr ""
 
@@ -3980,27 +4040,27 @@ msgstr ""
 msgid "Paste or drag SSH key file…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1446
 msgid "Path to CA-Certificate"
 msgstr "Percorso al certificato CA"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1437
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1476
 msgid "Path to Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1443
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1482
 msgid "Path to Private Key"
 msgstr "Percorso alla chiave privata"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1488
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1542
 msgid "Path to inner CA-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1494
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1572
 msgid "Path to inner Client-Certificate"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1500
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1578
 msgid "Path to inner Private Key"
 msgstr ""
 
@@ -4242,7 +4302,7 @@ msgstr ""
 msgid "RX Rate"
 msgstr "Velocità RX"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2009
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2087
 msgid "RX Rate / TX Rate"
 msgstr ""
 
@@ -4362,7 +4422,7 @@ msgstr ""
 msgid "Remove"
 msgstr "Rimuovi"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1856
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1934
 msgid "Replace wireless configuration"
 msgstr "Sostituisci configurazione wireless"
 
@@ -4378,7 +4438,7 @@ msgstr "Richiede prefisso-IPv6 di lunghezza"
 msgid "Request timeout"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1571
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1649
 msgid "Required"
 msgstr "Richiesto"
 
@@ -4421,7 +4481,7 @@ msgstr ""
 msgid "Requires hostapd with SAE support"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1568
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1646
 msgid ""
 "Requires the 'full' version of wpad/hostapd and support from the wifi driver "
 "<br />(as of Jan 2019: ath9k, ath10k, mwlwifi and mt76)"
@@ -4457,7 +4517,7 @@ msgstr ""
 msgid "Requires wpa-supplicant with SAE support"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2944
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2946
 #: modules/luci-base/luasrc/view/sysauth.htm:39
 #: modules/luci-compat/luasrc/view/cbi/delegator.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:30
@@ -4584,7 +4644,7 @@ msgstr "Esegui un controllo del filesystem prima di montare il dispositivo"
 msgid "Run filesystem check"
 msgstr "Esegui controllo del filesystem"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1322
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1324
 msgid "Runtime error"
 msgstr ""
 
@@ -4620,7 +4680,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:107
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:130
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1654
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1732
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:32
 msgid "SSID"
 msgstr "SSID"
@@ -4629,8 +4689,8 @@ msgstr "SSID"
 msgid "SWAP"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1387
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2940
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1388
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2942
 #: modules/luci-compat/luasrc/view/cbi/error.htm:17
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:26
 #: modules/luci-compat/luasrc/view/cbi/header.htm:17
@@ -4639,7 +4699,7 @@ msgstr ""
 msgid "Save"
 msgstr "Salva"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:2924
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:2926
 #: modules/luci-base/htdocs/luci-static/resources/ui.js:2552
 #: modules/luci-compat/luasrc/view/cbi/footer.htm:22
 msgid "Save & Apply"
@@ -4715,7 +4775,7 @@ msgstr ""
 msgid "Services"
 msgstr "Servizi"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1602
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1604
 msgid "Session expired"
 msgstr ""
 
@@ -4777,7 +4837,7 @@ msgstr ""
 
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:49
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:135
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1653
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1731
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:31
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:127
 #: modules/luci-mod-status/htdocs/luci-static/resources/view/status/include/60_wifi.js:159
@@ -4785,7 +4845,7 @@ msgstr ""
 msgid "Signal"
 msgstr "Segnale"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2008
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:2086
 msgid "Signal / Noise"
 msgstr ""
 
@@ -4904,7 +4964,7 @@ msgid ""
 "bytes)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "Specify the secret encryption key here."
 msgstr "Specificare la chiave di cifratura qui."
 
@@ -4922,7 +4982,7 @@ msgstr "Priorità di avvio"
 msgid "Starting configuration apply…"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1663
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1741
 msgid "Starting wireless scan..."
 msgstr ""
 
@@ -4990,7 +5050,7 @@ msgid "Strong"
 msgstr ""
 
 #: modules/luci-compat/luasrc/view/cbi/simpleform.htm:61
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1893
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1971
 msgid "Submit"
 msgstr "Invia"
 
@@ -5140,7 +5200,7 @@ msgstr ""
 "Il prefisso IPv6 assegnati dal provider, si conclude di solito con <code>::</"
 "code>"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1858
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1936
 msgid ""
 "The allowed characters are: <code>A-Z</code>, <code>a-z</code>, <code>0-9</"
 "code> and <code>_</code>"
@@ -5225,7 +5285,7 @@ msgstr ""
 msgid "The local IPv4 address over which the tunnel is created (optional)."
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1864
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1942
 msgid "The network name is already used"
 msgstr ""
 
@@ -5336,7 +5396,7 @@ msgstr ""
 msgid "This IPv4 address of the relay"
 msgstr ""
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1483
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1522
 msgid "This authentication type is not applicable to the selected EAP method."
 msgstr ""
 
@@ -5413,8 +5473,14 @@ msgstr ""
 "Questa lista da un riassunto dei processi correntemente attivi e del loro "
 "stato."
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:942
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1073
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1441
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1537
+msgid ""
+"This option cannot be used because the ca-bundle package is not installed."
+msgstr ""
+
+#: modules/luci-base/htdocs/luci-static/resources/form.js:943
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1074
 #: modules/luci-compat/luasrc/view/cbi/tblsection.htm:172
 #: modules/luci-compat/luasrc/view/cbi/tsection.htm:32
 msgid "This section contains no values yet"
@@ -5432,7 +5498,7 @@ msgstr ""
 msgid "Timezone"
 msgstr "Fuso orario"
 
-#: modules/luci-base/htdocs/luci-static/resources/luci.js:1612
+#: modules/luci-base/htdocs/luci-static/resources/luci.js:1614
 msgid "To login…"
 msgstr ""
 
@@ -5818,6 +5884,14 @@ msgstr "Usa la metrica del gateway"
 msgid "Use routing table"
 msgstr "Utilizzare tabella di instradamento"
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+msgid "Use system certificates"
+msgstr ""
+
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid "Use system certificates for inner-tunnel"
+msgstr ""
+
 #: modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js:389
 msgid ""
 "Use the <em>Add</em> Button to add a new lease entry. The <em>MAC-Address</"
@@ -5904,6 +5978,13 @@ msgstr ""
 msgid "VPNC (CISCO 3000 (and others) VPN)"
 msgstr ""
 
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1431
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1527
+msgid ""
+"Validate server certificate using built-in system CA bundle,<br />requires "
+"the \"ca-bundle\" package"
+msgstr ""
+
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:73
 msgid "Vendor"
 msgstr ""
@@ -5933,7 +6014,7 @@ msgstr "Sistema Aperto WEP"
 msgid "WEP Shared Key"
 msgstr "Chiave Condivisa WEP"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WEP passphrase"
 msgstr "frase di accesso WEP"
 
@@ -5941,7 +6022,7 @@ msgstr "frase di accesso WEP"
 msgid "WMM Mode"
 msgstr "Modalità WMM"
 
-#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1873
+#: modules/luci-mod-network/htdocs/luci-static/resources/view/network/wireless.js:1951
 msgid "WPA passphrase"
 msgstr "frase di accesso WPA"
 
@@ -6045,7 +6126,7 @@ msgstr "Scrittura delle richiesta DNS ricevute nel syslog"
 msgid "Write system log to file"
 msgstr "Scrivi registro di sistema su file"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1762
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1763
 #: protocols/luci-proto-vpnc/htdocs/luci-static/resources/protocol/vpnc.js:109
 msgid "Yes"
 msgstr ""
@@ -6268,7 +6349,7 @@ msgstr "Nessun collegamento"
 msgid "non-empty value"
 msgstr ""
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1454
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1455
 msgid "none"
 msgstr "nessuna"
 
@@ -6376,7 +6457,7 @@ msgstr "sconosciuto"
 msgid "unlimited"
 msgstr "illimitato"
 
-#: modules/luci-base/htdocs/luci-static/resources/form.js:1657
+#: modules/luci-base/htdocs/luci-static/resources/form.js:1658
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:76
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:137
 #: modules/luci-base/htdocs/luci-static/resources/tools/widgets.js:368

Some files were not shown because too many files changed in this diff