luci-app-firewall: rework rule descriptions, deduplicate code
[project/luci.git] / applications / luci-app-firewall / po / zh-tw / firewall.po
index 1fbe970ddb97479df9c124ef9b6b795c4e5ecd32..3233f9c91f4dbfcc6960446651721104d65775c9 100644 (file)
 #
-# Yangfl <mmyangfl@gmail.com>, 2017.
+# Yangfl <mmyangfl@gmail.com>, 2017, 2018.
 #
 msgid ""
 msgstr ""
+"PO-Revision-Date: 2019-12-19 19:39+0000\n"
+"Last-Translator: 孤爺仔 <7312140@qq.com>\n"
+"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationsfirewall/zh_Hant/>\n"
+"Language: zh-tw\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Last-Translator: Yangfl <mmyangfl@gmail.com>\n"
-"Language-Team:  <debian-l10n-chinese@lists.debian.org>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"PO-Revision-Date: 2017-10-28 18:56+0800\n"
-"X-Generator: Gtranslator 2.91.7\n"
+"X-Generator: Weblate 3.10-dev\n"
 
-msgid "%s in %s"
-msgstr "%s 位於 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:47
+msgid ""
+"%{src?%{dest?Forwarded:Incoming}:Outgoing} %{ipv6?%{ipv4?<var>IPv4</var> and "
+"<var>IPv6</var>:<var>IPv6</var>}:<var>IPv4</var>}%{proto?, protocol %{proto#"
+"%{next?, }%{item.types?<var class=\"cbi-tooltip-container\">%{item.name}"
+"<span class=\"cbi-tooltip\">ICMP with types %{item.types#%{next?, }<var>"
+"%{item}</var>}</span></var>:<var>%{item.name}</var>}}}%{mark?, mark <var"
+"%{mark.inv? data-tooltip=\"Match fwmarks except %{mark.num}%{mark.mask? with "
+"mask %{mark.mask}}.\":%{mark.mask? data-tooltip=\"Mask fwmark value with "
+"%{mark.mask} before compare.\"}}>%{mark.val}</var>}%{dscp?, DSCP %{dscp.inv?"
+"<var data-tooltip=\"Match DSCP classifications except %{dscp.num?:%{dscp."
+"name}}\">%{dscp.val}</var>:<var>%{dscp.val}</var>}}%{helper?, helper "
+"%{helper.inv?<var data-tooltip=\"Match any helper except &quot;%{helper.name}"
+"&quot;\">%{helper.val}</var>:<var data-tooltip=\"%{helper.name}\">%{helper."
+"val}</var>}}"
+msgstr ""
 
-msgid "%s%s with %s"
-msgstr "%s%s 和 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+msgid "-- add IP --"
+msgstr ""
 
-msgid "%s, %s in %s"
-msgstr "%s, %s 位於 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:479
+msgid "-- add MAC --"
+msgstr ""
 
-msgid "(Unnamed Entry)"
-msgstr "(未命名條目)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:117
+msgid ""
+"<var data-tooltip=\"ACCEPT\">Accept</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:86
+msgid "<var data-tooltip=\"ACCEPT\">Prevent source rewrite</var>"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:80
+msgid ""
+"<var data-tooltip=\"DNAT\">Forward</var> to %{dest}%{dest_ip? IP <var>"
+"%{dest_ip}</var>}%{dest_port? port <var>%{dest_port}</var>}"
+msgstr ""
 
-msgid "(Unnamed Rule)"
-msgstr "(未命名規則)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:114
+msgid ""
+"<var data-tooltip=\"DROP\">Drop</var> %{src?%{dest?forward:input}:output}"
+msgstr ""
 
-msgid "(Unnamed SNAT)"
-msgstr "(未命名 SNAT)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:132
+msgid ""
+"<var data-tooltip=\"DSCP\">Assign DSCP</var> classification <var>%{set_dscp}"
+"</var>"
+msgstr ""
 
-msgid "<var>%d</var> pkts. per <var>%s</var>"
-msgstr "<var>%d</var> 資料包。每 <var>%s</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:126
+msgid ""
+"<var data-tooltip=\"HELPER\">Assign conntrack</var> helper <var"
+"%{helper_name? data-tooltip=\"%{helper_name}\"}>%{set_helper}</var>"
+msgstr ""
 
-msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
-msgstr "<var>%d</var> 資料包。每 <var>%s</var>,突發 <var>%d</var> 資料包。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:129
+msgid ""
+"<var data-tooltip=\"MARK\">%{set_mark?Assign:XOR}</var> firewall mark <var>"
+"%{set_mark?:%{set_xmark}}</var>"
+msgstr ""
 
-msgid "<var>%s</var> and limit to %s"
-msgstr "<var>%s</var> 並限制到 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:83
+msgid "<var data-tooltip=\"MASQUERADE\">Automatically rewrite</var> source IP"
+msgstr ""
 
-msgid "Accept forward"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:123
+msgid ""
+"<var data-tooltip=\"NOTRACK\">Do not track</var> %{src?%{dest?forward:input}:"
+"output}"
 msgstr ""
 
-msgid "Accept input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:120
+msgid ""
+"<var data-tooltip=\"REJECT\">Reject</var> %{src?%{dest?forward:input}:output}"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:80
+msgid ""
+"<var data-tooltip=\"SNAT\">Statically rewrite</var> to source %{snat_ip?IP "
+"<var>%{snat_ip}</var>} %{snat_port?port <var>%{snat_port}</var>}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:216
+msgid "A rewrite IP must be specified!"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:204
+msgid "ACCEPT - Disable address rewriting"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:164
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:220
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:355
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:149
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:199
 msgid "Action"
-msgstr "動作"
+msgstr "行動"
 
-msgid "Add"
-msgstr "新增"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+msgid ""
+"Additional raw <em>iptables</em> arguments to classify zone destination "
+"traffic, e.g. <code>-p tcp --dport 443</code> to only match outbound HTTPS "
+"traffic."
+msgstr ""
 
-msgid "Add and edit..."
-msgstr "新增並編輯..."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+msgid ""
+"Additional raw <em>iptables</em> arguments to classify zone source traffic, "
+"e.g. <code>-p tcp --sport 443</code> to only match inbound HTTPS traffic."
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:129
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:173
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:127
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:78
 msgid "Advanced Settings"
 msgstr "高階設定"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+msgid "Allow \"invalid\" traffic"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:311
 msgid "Allow forward from <em>source zones</em>:"
 msgstr "允許從<em>源區域</em>轉發:"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:270
 msgid "Allow forward to <em>destination zones</em>:"
 msgstr "允許轉發到<em>目標區域</em>:"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:506
 msgid "Any"
 msgstr "任何"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:421
+#: 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:249
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:265
+msgid "Any day"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:314
+msgid ""
+"Apply a bitwise XOR of the given value and the existing mark value on "
+"established connections. Format is value[/mask]. If a mask is specified then "
+"those bits set in the mask are zeroed out."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+msgid "Apply the given DSCP class or value to established connections."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:383
+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 ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:214
+msgid ""
+"Automatically assign conntrack helpers based on traffic protocol and port"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:79
+msgid "Conntrack Settings"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+msgid "Conntrack helpers"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:15
+msgid "Contents have been saved."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:181
+msgid "Covered devices"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:137
 msgid "Covered networks"
 msgstr "覆蓋網路"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+msgid "Covered subnets"
+msgstr ""
+
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:53
 msgid "Custom Rules"
-msgstr "自定義規則"
+msgstr "自規則"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:25
 msgid ""
 "Custom rules allow you to execute arbitrary iptables commands which are not "
 "otherwise covered by the firewall framework. The commands are executed after "
 "each firewall restart, right after the default ruleset has been loaded."
 msgstr ""
-"自定義規則允許您執行不屬於防火牆框架的任意 iptables 命令。每次重啟防火牆時,"
-"在預設的規則執行後這些命令將立即執行。"
+"自訂規則允許您執行不屬於防火牆框架的任意 iptables 指令。每次重啟防火牆時,在"
+"預設的規則執行後這些指令將立即執行。"
 
-msgid "Destination IP address"
-msgstr "目標 IP 位址"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:365
+msgid "DSCP classification"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
+msgid "DSCP mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:294
+msgid "DSCP mark required"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:346
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:185
 msgid "Destination address"
 msgstr "目標位址"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:348
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:190
 msgid "Destination port"
 msgstr "目標埠"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:340
 msgid "Destination zone"
 msgstr "目標區域"
 
-msgid "Disable"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:252
+msgid "Device name"
 msgstr ""
 
-msgid "Discard forward"
-msgstr ""
-
-msgid "Discard input"
-msgstr ""
-
-msgid "Do not rewrite"
-msgstr "不重寫"
-
-msgid "Do not track forward"
-msgstr ""
-
-msgid "Do not track input"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:211
+msgid ""
+"Do not install extra rules to reject forwarded traffic with conntrack state "
+"<em>invalid</em>. This may be required for complex asymmetric route setups."
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:36
 msgid "Drop invalid packets"
 msgstr "丟棄無效資料包"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:226
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:155
 msgid "Enable"
 msgstr "啟用"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:239
 msgid "Enable NAT Loopback"
 msgstr "啟用 NAT 環回"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:35
 msgid "Enable SYN-flood protection"
 msgstr "啟用 SYN-flood 防禦"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:224
 msgid "Enable logging on this zone"
 msgstr "啟用此區域的日誌記錄"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
+msgid "Expecting: %s"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:54
 msgid "Experimental feature. Not fully compatible with QoS/SQM."
+msgstr "實驗特性。與 QoS/SQM 不完全相容。"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:218
+msgid "Explicitly choses allowed connection tracking helpers for zone traffic"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:206
 msgid "External IP address"
 msgstr "外部 IP 位址"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:211
 msgid "External port"
 msgstr "外部埠"
 
-msgid "External zone"
-msgstr "外部區域"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:275
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:413
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:240
 msgid "Extra arguments"
 msgstr "附加引數"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:249
+msgid "Extra destination arguments"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:80
+msgid "Extra iptables arguments"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:239
+msgid "Extra source arguments"
+msgstr ""
+
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:3
 msgid "Firewall"
 msgstr "防火牆"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:24
 msgid "Firewall - Custom Rules"
-msgstr "防火牆 - 自定義規則"
+msgstr "防火牆 - 自規則"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:118
+msgid "Firewall - NAT Rules"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:120
 msgid "Firewall - Port Forwards"
 msgstr "防火牆 - 埠轉發"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:164
 msgid "Firewall - Traffic Rules"
 msgstr "防火牆 - 通訊規則"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:28
 msgid "Firewall - Zone Settings"
 msgstr "防火牆 - 區域設定"
 
-msgid "Force connection tracking"
-msgstr "強制連線追蹤"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:41
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:117
 msgid "Forward"
 msgstr "轉發"
 
-msgid "Forward to"
-msgstr "轉發到"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:29
+msgid ""
+"Forwarded IPv4%{proto?, protocol %{proto#%{next?, }<var>%{item.name}</"
+"var>}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks except "
+"%{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-tooltip="
+"\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}</var>}"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:427
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:255
 msgid "Friday"
 msgstr "星期五"
 
-msgid "From %s in %s"
-msgstr "來自 %s 位於 %s"
-
-msgid "From %s in %s with source %s"
-msgstr "來自 %s 位於 %s 源於 %s"
-
-msgid "From %s in %s with source %s and %s"
-msgstr "來自 %s 位於 %s 源埠 %s 源 MAC %s"
-
-msgid "General Settings"
-msgstr "基本設定"
-
-msgid "Hardware flow offloading"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:38
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
 msgstr ""
 
-msgid "IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:63
+msgid ""
+"From %{src}%{src_device?, interface <var>%{src_device}</var>}%{src_ip?, IP "
+"%{src_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_port?, port %{src_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var%{item.inv? data-"
+"tooltip=\"Match MACs except %{item.val}%{item.hint.name? a.k.a. %{item.hint."
+"name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint.name}\"}}>%{item.ival}"
+"</var>}}"
 msgstr ""
 
-msgid "IP range"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:47
+msgid ""
+"From %{src}%{src_ip?, IP %{src_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{src_port?, "
+"port %{src_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{src_mac?, MAC %{src_mac#%{next?, }<var"
+"%{item.inv? data-tooltip=\"Match MACs except %{item.val}%{item.hint.name? a."
+"k.a. %{item.hint.name}}.\":%{item.hint.name? data-tooltip=\"%{item.hint."
+"name}\"}}>%{item.ival}</var>}}"
 msgstr ""
 
-msgid "IPs"
-msgstr ""
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:128
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:172
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:126
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:31
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:77
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:16
+msgid "General Settings"
+msgstr "基本設定"
 
-msgid "IPv4"
-msgstr "IPv4"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:65
+msgid "Hardware flow offloading"
+msgstr "硬體流量分載"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:263
+#: 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:264
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:193
 msgid "IPv4 only"
 msgstr "僅 IPv4"
 
-msgid "IPv6"
-msgstr "IPv6"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:265
+#: 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:235
+msgid "Inbound device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:37
+msgid ""
+"Incoming IPv4%{proto?, protocol %{proto#%{next?, }%{item.types?<var class="
+"\"cbi-tooltip-container\">%{item.name}<span class=\"cbi-tooltip\">ICMP with "
+"types %{item.types#%{next?, }<var>%{item}</var>}</span></var>:<var>%{item."
+"name}</var>}}}%{mark?, mark <var%{mark.inv? data-tooltip=\"Match fwmarks "
+"except %{mark.num}%{mark.mask? with mask %{mark.mask}}.\":%{mark.mask? data-"
+"tooltip=\"Mask fwmark value with %{mark.mask} before compare.\"}}>%{mark.val}"
+"</var>}%{helper?, helper %{helper.inv?<var data-tooltip=\"Match any helper "
+"except &quot;%{helper.name}&quot;\">%{helper.val}</var>:<var data-tooltip="
+"\"%{helper.name}\">%{helper.val}</var>}}"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:115
 msgid "Input"
 msgstr "入站資料"
 
-msgid "Inter-Zone Forwarding"
-msgstr "埠觸發"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:225
 msgid "Internal IP address"
 msgstr "內部 IP 位址"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:230
 msgid "Internal port"
 msgstr "內部埠"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:219
 msgid "Internal zone"
 msgstr "內部區域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:302
+msgid "Invalid DSCP mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:370
+msgid "Invalid limit value"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:380
+msgid "Limit burst"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:227
 msgid "Limit log messages"
 msgstr "限制日誌資訊"
 
-msgid "MAC"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:346
+msgid "Limit matching"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:74
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:95
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:67
+msgid ""
+"Limit matching to <var>%{limit.num}</var> packets per <var>%{limit.unit}</"
+"var>%{limit.burst? burst <var>%{limit.burst}</var>}"
 msgstr ""
 
-msgid "MACs"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:347
+msgid "Limits traffic matching to the specified rate."
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:244
+msgid "Loopback source IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:203
+msgid "MASQUERADE - Automatically rewrite to outbound interface IP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:134
 msgid "MSS clamping"
 msgstr "MSS 鉗制"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:131
 msgid "Masquerading"
 msgstr "IP 動態偽裝"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:153
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:209
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:138
 msgid "Match"
 msgstr "匹配規則"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:260
+msgid "Match DSCP"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:276
 msgid "Match ICMP type"
 msgstr "匹配 ICMP 型別"
 
-msgid "Match forwarded traffic to the given destination port or port range."
-msgstr "匹配指定目標埠或目標埠範圍的轉發流量。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:232
+msgid "Match device"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:186
+msgid "Match forwarded traffic directed at the given IP address."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:191
+msgid ""
+"Match forwarded traffic directed at the given destination port or port range."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:172
+msgid "Match forwarded traffic from this IP or range."
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:177
+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:253
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:390
+msgid "Match helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:212
 msgid ""
 "Match incoming traffic directed at the given destination port or port range "
 "on this host"
 msgstr "匹配指向此主機上指定目標埠或目標埠範圍的入站流量。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
+msgid "Match mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:253
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:390
+msgid "Match traffic using the specified connection tracking helper."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:316
+msgid "Matches a specific firewall mark or a range of different marks."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:231
+msgid "Matches forwarded traffic using the specified outbound network device."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:261
+msgid "Matches traffic carrying the specified DSCP marking."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:381
 msgid ""
-"Match incoming traffic originating from the given source port or port range "
-"on the client host."
-msgstr "匹配來自客戶端主機上指定源埠或源埠範圍的入站流量。"
+"Maximum initial number of packets to match: this number gets recharged by "
+"one every time the limit specified above is not reached, up to this number."
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:423
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:251
 msgid "Monday"
 msgstr "星期一"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:433
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:261
 msgid "Month Days"
 msgstr "日期"
 
-msgid "Name"
-msgstr "名字"
-
-msgid "New SNAT rule"
-msgstr "新建 SNAT 規則"
-
-msgid "New forward rule"
-msgstr "新建轉發規則"
-
-msgid "New input rule"
-msgstr "新建進入規則"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:121
+#: applications/luci-app-firewall/root/usr/share/luci/menu.d/luci-app-firewall.json:43
+msgid "NAT Rules"
+msgstr ""
 
-msgid "New port forward"
-msgstr "新建埠轉發"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:119
+msgid ""
+"NAT rules allow fine grained control over the source IP to use for outbound "
+"or forwarded traffic."
+msgstr ""
 
-msgid "New source NAT"
-msgstr "新建 Source NAT"
+#: 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:205
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:134
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:93
+msgid "Name"
+msgstr "名字"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:207
 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:188
 msgid "Only match incoming traffic from these MACs."
 msgstr "僅匹配來自這些 MAC 的入站流量。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:193
 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:198
 msgid ""
 "Only match incoming traffic originating from the given source port or port "
 "range on the client host"
 msgstr "僅匹配源自客戶端主機上給定源埠或源埠範圍的入站流量。"
 
-msgid "Open ports on router"
-msgstr "開啟路由器埠"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:236
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:230
+msgid "Outbound device"
+msgstr ""
 
-msgid "Other..."
-msgstr "其它..."
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:164
+msgid "Outbound zone"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:40
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:116
 msgid "Output"
 msgstr "出站資料"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:276
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:414
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:241
 msgid "Passes additional arguments to iptables. Use with care!"
 msgstr "傳遞到 iptables 的額外引數。小心使用!"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:236
+msgid ""
+"Passing raw iptables arguments to source and destination traffic "
+"classification rules allows to match packets based on other criteria than "
+"interfaces or subnets. These options should be used with extreme care as "
+"invalid values could render the firewall ruleset broken, completely exposing "
+"all services."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:123
+#: 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:121
 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:177
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:272
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:160
 msgid "Protocol"
 msgstr "協議"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:231
 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:226
 msgid "Redirect matched incoming traffic to the specified internal host"
 msgstr "重定向匹配的入站流量到指定的內部主機"
 
-msgid "Refuse forward"
-msgstr ""
-
-msgid "Refuse input"
-msgstr ""
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:66
 msgid "Requires hardware NAT support. Implemented at least for mt7621"
-msgstr ""
-
-msgid "Restart Firewall"
-msgstr "重啟防火牆"
+msgstr "需要硬體 NAT 支援。目前 mt7621 已實現"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:204
 msgid "Restrict Masquerading to given destination subnets"
 msgstr "要限制 IP 動態偽裝的目標子網"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:197
 msgid "Restrict Masquerading to given source subnets"
 msgstr "要限制 IP 動態偽裝的源子網"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:260
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:191
 msgid "Restrict to address family"
 msgstr "限制位址"
 
-msgid "Rewrite matched traffic to the given address."
-msgstr "將匹配流量的源位址改寫成指定位址。"
-
-msgid ""
-"Rewrite matched traffic to the given source port. May be left empty to only "
-"rewrite the IP address."
-msgstr "將匹配流量的源埠改寫成指定埠。留空只改寫 IP 位址。"
-
-msgid "Rewrite to source %s"
-msgstr "源位址改寫成 %s"
-
-msgid "Rewrite to source %s, %s"
-msgstr "源位址改寫成 %s, %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:206
+msgid "Rewrite IP address"
+msgstr ""
 
-msgid "Routing/NAT Offloading"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:207
+msgid "Rewrite matched traffic to the specified source IP address."
 msgstr ""
 
-msgid "Rule is disabled"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:222
+msgid "Rewrite matched traffic to the specified source port or port range."
 msgstr ""
 
-msgid "Rule is enabled"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:221
+msgid "Rewrite port"
 msgstr ""
 
-msgid "SNAT IP address"
-msgstr "SNAT IP 位址"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:53
+msgid "Routing/NAT Offloading"
+msgstr "Routing/NAT 分載"
 
-msgid "SNAT port"
-msgstr "SNAT 埠"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:202
+msgid "SNAT - Rewrite to specific source IP or port"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:428
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:256
 msgid "Saturday"
 msgstr "星期六"
 
-msgid "Software based offloading for routing/NAT"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
+msgid "Set mark"
 msgstr ""
 
-msgid "Software flow offloading"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:315
+msgid ""
+"Set the given mark value on established connections. Format is value[/mask]. "
+"If a mask is specified then only those bits set in the mask are modified."
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:61
+msgid "Software based offloading for routing/NAT"
+msgstr "基於軟體的 Routing/NAT 分載"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:60
+msgid "Software flow offloading"
+msgstr "軟體流量分載"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:192
 msgid "Source IP address"
 msgstr "源 IP 位址"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:187
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:330
 msgid "Source MAC address"
 msgstr "源 MAC 位址"
 
-msgid "Source NAT"
-msgstr "Source NAT"
-
-msgid ""
-"Source NAT is a specific form of masquerading which allows fine grained "
-"control over the source IP used for outgoing traffic, for example to map "
-"multiple WAN addresses to internal subnets."
-msgstr ""
-"Source NAT 是一種特殊形式的封包偽裝,它允許精細的控制傳出流量的源 IP,例如:"
-"將多個 WAN 位址對映到內部子網。"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:331
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:171
 msgid "Source address"
 msgstr "源位址"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:197
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:333
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:176
 msgid "Source port"
 msgstr "源埠"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:324
 msgid "Source zone"
 msgstr "源區域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:253
+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:244
+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:452
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:280
 msgid "Start Date (yyyy-mm-dd)"
 msgstr "開始日期(yyyy-mm-dd)"
 
-msgid "Start Time (hh:mm:ss)"
-msgstr "開始時間(hh:mm:ss)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:444
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:272
+msgid "Start Time (hh.mm.ss)"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:456
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:284
 msgid "Stop Date (yyyy-mm-dd)"
 msgstr "停止日期(yyyy-mm-dd)"
 
-msgid "Stop Time (hh:mm:ss)"
-msgstr "停止時間(hh:mm:ss)"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:448
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:276
+msgid "Stop Time (hh.mm.ss)"
+msgstr ""
 
+#: 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:250
 msgid "Sunday"
 msgstr "星期日"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:29
 msgid ""
 "The firewall creates zones over your network interfaces to control network "
 "traffic flow."
 msgstr "防火牆通過在網路介面上建立區域來控制網路流量。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:177
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:266
 msgid ""
 "The options below control the forwarding policies between this zone (%s) and "
 "other zones. <em>Destination zones</em> cover forwarded traffic "
@@ -440,16 +819,7 @@ msgstr ""
 "strong> 的區域的需轉發流量。轉發規則的作用是<em>單向</em>的,例如:一條允許"
 "從 lan 到 wan 的轉發規則並不隱含有允許相反方向從 wan 到 lan 的流量轉發。"
 
-msgid ""
-"This page allows you to change advanced properties of the port forwarding "
-"entry. In most cases there is no need to modify those settings."
-msgstr "本頁面可以更改埠轉發的高階設定。大多數情況下,不需要更改這些設定。"
-
-msgid ""
-"This page allows you to change advanced properties of the traffic rule "
-"entry, such as matched source and destination hosts."
-msgstr "本頁面可以更改通訊規則的高階設定,比如:需匹配的源主機和目標主機。"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:89
 msgid ""
 "This section defines common properties of %q. The <em>input</em> and "
 "<em>output</em> options set the default policies for traffic entering and "
@@ -461,33 +831,57 @@ msgstr ""
 "域入站和出站流量的預設策略,<em>轉發</em>選項描述該區域內不同網路之間的流量轉"
 "發策略。<em>覆蓋網路</em>指定從屬於這個區域的網路。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:426
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:254
 msgid "Thursday"
 msgstr "星期四"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:174
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:128
+msgid "Time Restrictions"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:460
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:288
 msgid "Time in UTC"
 msgstr "UTC 時間"
 
-msgid "To %s at %s on <var>this device</var>"
-msgstr "到 %s 在 %s 位於<var>本裝置</var>"
-
-msgid "To %s in %s"
-msgstr "到 %s 位於 %s"
-
-msgid "To %s on <var>this device</var>"
-msgstr "到 %s 位於<var>本裝置</var>"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:76
+msgid ""
+"To %{dest}%{dest_device?, interface <var>%{dest_device}</var>}%{dest_ip?, IP "
+"%{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match IP addresses except "
+"%{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port %{dest_port#%{next?, }"
+"<var%{item.inv? data-tooltip=\"Match ports except %{item.val}.\"}>%{item."
+"ival}</var>}}"
+msgstr ""
 
-msgid "To %s, %s in %s"
-msgstr "到 %s, %s 位於 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:48
+msgid ""
+"To %{dest}%{dest_device?, via interface <var>%{dest_device}</"
+"var>}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip=\"Match "
+"IP addresses except %{item.val}.\"}>%{item.ival}</var>}}%{dest_port?, port "
+"%{dest_port#%{next?, }<var%{item.inv? data-tooltip=\"Match ports except "
+"%{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
 
-msgid "To source IP"
-msgstr "到源 IP"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:56
+msgid ""
+"To %{dest}%{dest_ip?, IP %{dest_ip#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match IP addresses except %{item.val}.\"}>%{item.ival}</"
+"var>}}%{dest_port?, port %{dest_port#%{next?, }<var%{item.inv? data-tooltip="
+"\"Match ports except %{item.val}.\"}>%{item.ival}</var>}}"
+msgstr ""
 
-msgid "To source port"
-msgstr "到源埠"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:383
+msgid "Tracking helper"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:167
+#: 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:165
 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 "
@@ -496,85 +890,475 @@ msgstr ""
 "通訊規則定義了不同區域間的資料包傳輸策略,例如:拒絕一些主機之間的通訊,開放"
 "路由器 WAN 上的埠。"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:424
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:252
 msgid "Tuesday"
 msgstr "星期二"
 
-msgid "Via %s"
-msgstr "通過 %s"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/custom.js:18
+msgid "Unable to save contents: %s"
+msgstr ""
 
-msgid "Via %s at %s"
-msgstr "通過 %s 在 %s"
+#: 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:405
+msgid "Unknown or not installed conntrack helper \"%s\""
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:131
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:135
+msgid "Unnamed NAT"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:136
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:150
+msgid "Unnamed forward"
+msgstr "未命名轉發"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:206
+msgid "Unnamed rule"
+msgstr "未命名規則"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:94
+msgid "Unnamed zone"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:548
+msgid "Unrecognized protocol"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:248
+msgid "Use external IP address"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:247
+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 "
+"network devices."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:186
+msgid ""
+"Use this option to classify zone traffic by source or destination subnet "
+"instead of networks or devices."
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:328
+msgid "Valid firewall mark required"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:425
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:253
 msgid "Wednesday"
 msgstr "星期三"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:417
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:245
 msgid "Week Days"
 msgstr "星期"
 
-msgid ""
-"You may specify multiple by selecting \"-- custom --\" and then entering "
-"protocols separated by space."
-msgstr "您也可以選擇“--自定義--”來定義多個協議,在多個協議間需加空格。"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:364
+msgid "XOR firewall mark"
+msgstr ""
 
-msgid "Zone %q"
-msgstr "區域 %q"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:313
+msgid "XOR mark"
+msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:107
 msgid "Zone ⇒ Forwardings"
 msgstr "區域 ⇒ 轉發"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:72
 msgid "Zones"
 msgstr "區域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:359
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js: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/tools/firewall.js:265
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:431
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:453
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:202
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:234
+#: 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:281
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:336
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:351
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:385
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:392
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:181
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:194
 msgid "any"
 msgstr "所有"
 
-msgid "any host"
-msgstr "所有主機"
-
-msgid "any router IP"
-msgstr "所有路由 IP"
-
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:39
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
 msgid "any zone"
 msgstr "所有區域"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:363
+msgid "apply firewall mark"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:362
+msgid "assign conntrack helper"
+msgstr ""
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
 msgid "day"
+msgstr "日"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:225
+msgid "do not rewrite"
 msgstr ""
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:361
 msgid "don't track"
 msgstr "不跟蹤"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:358
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:46
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:122
 msgid "drop"
 msgstr "丟棄"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
 msgid "hour"
-msgstr ""
+msgstr "小時"
 
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
 msgid "minute"
-msgstr ""
+msgstr "分鐘"
 
-msgid "not"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:360
+#: 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"
+msgstr "拒絕"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:67
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:60
+msgid "second"
+msgstr "秒"
+
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:48
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:57
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/forwards.js:81
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:64
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:77
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/snats.js:49
+msgid "this device"
 msgstr ""
 
-msgid "port"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:88
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:176
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/zones.js:265
+msgid "this new zone"
 msgstr ""
 
-msgid "ports"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:351
+msgid "unlimited"
 msgstr ""
 
-msgid "reject"
-msgstr "拒絕"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/view/firewall/rules.js:234
+msgid "unspecified"
+msgstr ""
 
-msgid "second"
+#: applications/luci-app-firewall/htdocs/luci-static/resources/tools/firewall.js:336
+msgid "valid firewall mark"
 msgstr ""
 
-msgid "traffic"
-msgstr "通訊"
+#~ msgid "%s in %s"
+#~ msgstr "%s 位於 %s"
 
-msgid "type"
-msgstr ""
+#~ msgid "%s%s with %s"
+#~ msgstr "%s%s 和 %s"
 
-msgid "types"
-msgstr ""
+#~ msgid "%s, %s in %s"
+#~ msgstr "%s, %s 位於 %s"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>"
+#~ msgstr "<var>%d</var> 資料包/<var>%s</var>"
+
+#~ msgid "<var>%d</var> pkts. per <var>%s</var>, burst <var>%d</var> pkts."
+#~ msgstr "<var>%d</var> 資料包/<var>%s</var>,突發 <var>%d</var> 資料包。"
+
+#~ msgid "<var>%s</var> and limit to %s"
+#~ msgstr "<var>%s</var> 並限制到 %s"
+
+#~ msgid "Accept forward"
+#~ msgstr "接受轉發"
+
+#~ msgid "Accept input"
+#~ msgstr "接受入站"
+
+#~ msgid "Accept output"
+#~ msgstr "接受出站"
+
+#~ msgid "Destination IP address"
+#~ msgstr "目標 IP 位址"
+
+#~ msgid "Discard forward"
+#~ msgstr "丟棄轉發"
+
+#~ msgid "Discard input"
+#~ msgstr "丟棄入站"
+
+#~ msgid "Discard output"
+#~ msgstr "丟棄出站"
+
+#~ msgid "Do not rewrite"
+#~ msgstr "不重寫"
+
+#~ msgid "Do not track forward"
+#~ msgstr "不跟蹤轉發"
+
+#~ msgid "Do not track input"
+#~ msgstr "不跟蹤入站"
+
+#~ msgid "Do not track output"
+#~ msgstr "不跟蹤出站"
+
+#~ msgid "Forward to"
+#~ msgstr "轉發到"
+
+#~ msgid "From %s in %s"
+#~ msgstr "來自 %s 位於 %s"
+
+#~ msgid "From %s in %s with source %s"
+#~ msgstr "來自 %s 位於 %s 源於 %s"
+
+#~ msgid "From %s in %s with source %s and %s"
+#~ msgstr "來自 %s 位於 %s 源埠 %s 源 MAC %s"
+
+#~ msgid "From %s on <var>this device</var>"
+#~ msgstr "來自 %s 位於<var>本裝置</var>"
+
+#~ msgid "From %s on <var>this device</var> with source %s"
+#~ msgstr "來自 %s 位於<var>本裝置</var>源於 %s"
+
+#~ msgid "From %s on <var>this device</var> with source %s and %s"
+#~ msgstr "來自 %s 位於<var>本裝置</var>源埠 %s 源 MAC %s"
+
+#~ msgid "IP"
+#~ msgstr "IP"
+
+#~ msgid "IP range"
+#~ msgstr "IP 範圍"
+
+#~ msgid "IPs"
+#~ msgstr "IP"
+
+#~ msgid "IPv4"
+#~ msgstr "IPv4"
+
+#~ msgid "IPv6"
+#~ msgstr "IPv6"
+
+#~ msgid "MAC"
+#~ msgstr "MAC"
+
+#~ msgid "MACs"
+#~ msgstr "MAC"
+
+#~ msgid "Refuse forward"
+#~ msgstr "拒絕轉發"
+
+#~ msgid "Refuse input"
+#~ msgstr "拒絕入站"
+
+#~ msgid "Refuse output"
+#~ msgstr "拒絕出站"
+
+#~ msgid "To %s at %s on <var>this device</var>"
+#~ msgstr "到 %s 在 %s 位於<var>本裝置</var>"
+
+#~ msgid "To %s in %s"
+#~ msgstr "到 %s 位於 %s"
+
+#~ msgid "To %s on <var>this device</var>"
+#~ msgstr "到 %s 位於<var>本裝置</var>"
+
+#~ msgid "To %s, %s in %s"
+#~ msgstr "到 %s, %s 位於 %s"
+
+#~ msgid "Via %s"
+#~ msgstr "通過 %s"
+
+#~ msgid "Via %s at %s"
+#~ msgstr "通過 %s 在 %s"
+
+#~ msgid "any host"
+#~ msgstr "所有主機"
+
+#~ msgid "any router IP"
+#~ msgstr "所有路由 IP"
+
+#~ msgid "not"
+#~ msgstr "非"
+
+#~ msgid "port"
+#~ msgstr "埠"
+
+#~ msgid "ports"
+#~ msgstr "埠"
+
+#~ msgid "type"
+#~ msgstr "型別"
+
+#~ msgid "types"
+#~ msgstr "型別"
+
+#~ msgid "Force connection tracking"
+#~ msgstr "強制連線追蹤"
+
+#~ msgid "Disable"
+#~ msgstr "禁用"
+
+#~ msgid "Restart Firewall"
+#~ msgstr "重啟防火牆"
+
+#~ msgid "Rule is disabled"
+#~ msgstr "規則已禁用"
+
+#~ msgid "Rule is enabled"
+#~ msgstr "規則已啟用"
+
+#~ msgid "Add"
+#~ msgstr "新增"
+
+#~ msgid "Add and edit..."
+#~ msgstr "新增並編輯…"
+
+#~ msgid "External zone"
+#~ msgstr "外部區域"
+
+#~ msgid "New SNAT rule"
+#~ msgstr "新建 SNAT 規則"
+
+#~ msgid "New forward rule"
+#~ msgstr "新建轉發規則"
+
+#~ msgid "New input rule"
+#~ msgstr "新建進入規則"
+
+#~ msgid "New port forward"
+#~ msgstr "新建埠轉發"
+
+#~ msgid "New source NAT"
+#~ msgstr "新建 Source NAT"
+
+#~ msgid "Open ports on router"
+#~ msgstr "開啟路由器埠"
+
+#~ msgid "Other..."
+#~ msgstr "其它..."
+
+#~ msgid "To source IP"
+#~ msgstr "到源 IP"
+
+#~ msgid "To source port"
+#~ msgstr "到源埠"
+
+#~ msgid "Output zone"
+#~ msgstr "出站區域"
+
+#~ msgid "(Unnamed Entry)"
+#~ msgstr "(未命名條目)"
+
+#~ msgid "(Unnamed Rule)"
+#~ msgstr "(未命名規則)"
+
+#~ msgid "(Unnamed SNAT)"
+#~ msgstr "(未命名 SNAT)"
+
+#~ msgid "Inter-Zone Forwarding"
+#~ msgstr "埠觸發"
+
+#~ msgid "Match forwarded traffic to the given destination port or port range."
+#~ msgstr "匹配指定目標埠或目標埠範圍的轉發流量。"
+
+#~ msgid ""
+#~ "Match incoming traffic originating from the given source port or port "
+#~ "range on the client host."
+#~ msgstr "匹配來自客戶端主機上指定源埠或源埠範圍的入站流量。"
+
+#~ msgid "Rewrite matched traffic to the given address."
+#~ msgstr "將匹配流量的源位址改寫成指定位址。"
+
+#~ msgid ""
+#~ "Rewrite matched traffic to the given source port. May be left empty to "
+#~ "only rewrite the IP address."
+#~ msgstr "將匹配流量的源埠改寫成指定埠。留空只改寫 IP 位址。"
+
+#~ msgid "Rewrite to source %s"
+#~ msgstr "源位址改寫成 %s"
+
+#~ msgid "Rewrite to source %s, %s"
+#~ msgstr "源位址改寫成 %s, %s"
+
+#~ msgid "SNAT IP address"
+#~ msgstr "SNAT IP 位址"
+
+#~ msgid "SNAT port"
+#~ msgstr "SNAT 埠"
+
+#~ msgid "Source NAT"
+#~ msgstr "Source NAT"
+
+#~ msgid ""
+#~ "Source NAT is a specific form of masquerading which allows fine grained "
+#~ "control over the source IP used for outgoing traffic, for example to map "
+#~ "multiple WAN addresses to internal subnets."
+#~ msgstr ""
+#~ "Source NAT 是一種特殊形式的封包偽裝,它允許精細的控制傳出流量的源 IP,例"
+#~ "如:將多個 WAN 位址對映到內部子網。"
+
+#~ msgid "Start Time (hh:mm:ss)"
+#~ msgstr "開始時間(hh:mm:ss)"
+
+#~ msgid "Stop Time (hh:mm:ss)"
+#~ msgstr "停止時間(hh:mm:ss)"
+
+#~ msgid ""
+#~ "This page allows you to change advanced properties of the port forwarding "
+#~ "entry. In most cases there is no need to modify those settings."
+#~ msgstr "本頁面可以更改埠轉發的高階設定。大多數情況下,不需要更改這些設定。"
+
+#~ msgid ""
+#~ "This page allows you to change advanced properties of the traffic rule "
+#~ "entry, such as matched source and destination hosts."
+#~ msgstr "本頁面可以更改通訊規則的高階設定,比如:需匹配的源主機和目標主機。"
+
+#~ msgid "Unnamed SNAT"
+#~ msgstr "未命名 SNAT"
+
+#~ msgid ""
+#~ "You may specify multiple by selecting \"-- custom --\" and then entering "
+#~ "protocols separated by space."
+#~ msgstr "您也可以選擇“--自訂--”來定義多個協議,在多個協議間需加空格。"
+
+#~ msgid "Zone %q"
+#~ msgstr "區域 %q"
+
+#~ msgid "traffic"
+#~ msgstr "通訊"