summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua16
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua9
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua15
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/rules.lua16
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua5
-rw-r--r--applications/luci-app-firewall/luasrc/view/firewall/cbi_addforward.htm162
-rw-r--r--applications/luci-app-firewall/luasrc/view/firewall/cbi_addrule.htm181
-rw-r--r--applications/luci-app-firewall/luasrc/view/firewall/cbi_addsnat.htm87
-rw-r--r--applications/luci-app-firewall/po/ca/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/cs/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/de/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/el/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/en/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/es/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/fr/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/he/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/hu/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/it/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/ja/firewall.po31
-rw-r--r--applications/luci-app-firewall/po/ko/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/ms/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/no/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/pl/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/pt-br/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/pt/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/ro/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/ru/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/sk/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/sv/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/templates/firewall.pot21
-rw-r--r--applications/luci-app-firewall/po/tr/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/uk/firewall.po65
-rw-r--r--applications/luci-app-firewall/po/vi/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/zh-cn/firewall.po21
-rw-r--r--applications/luci-app-firewall/po/zh-tw/firewall.po21
-rw-r--r--applications/luci-app-rp-pppoe-server/Makefile2
-rw-r--r--applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm31
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm4
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm28
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm32
-rw-r--r--applications/luci-app-upnp/luasrc/view/upnp_status.htm51
-rw-r--r--applications/luci-app-upnp/po/uk/upnp.po35
42 files changed, 922 insertions, 373 deletions
diff --git a/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua b/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua
index 632074a56f..731c3350eb 100644
--- a/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua
+++ b/applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua
@@ -14,7 +14,8 @@ $Id$
local wa = require "luci.tools.webadmin"
local net = require "luci.model.network".init()
-local ifaces = net:get_interfaces()
+local sys = require "luci.sys"
+local ifaces = sys.net:devices()
m = Map("bcp38", translate("BCP38"),
translate("This function blocks packets with private address destinations " ..
@@ -37,10 +38,17 @@ a.rmempty = false
n = s:option(ListValue, "interface", translate("Interface name"), translate("Interface to apply the blocking to " ..
"(should be the upstream WAN interface)."))
+
for _, iface in ipairs(ifaces) do
- if iface:is_up() then
- n:value(iface:name())
- end
+ if not (iface == "lo" or iface:match("^ifb.*")) then
+ local nets = net:get_interface(iface)
+ nets = nets and nets:get_networks() or {}
+ for k, v in pairs(nets) do
+ nets[k] = nets[k].sid
+ end
+ nets = table.concat(nets, ",")
+ n:value(iface, ((#nets > 0) and "%s (%s)" % {iface, nets} or iface))
+ end
end
n.rmempty = false
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua
index 5485ebf096..5d1ffe0913 100644
--- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua
+++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua
@@ -63,8 +63,9 @@ function s.filter(self, sid)
return (self.map:get(sid, "target") ~= "SNAT")
end
-
-ft.opt_name(s, DummyValue, translate("Name"))
+function s.sectiontitle(self, sid)
+ return (self.map:get(sid, "name") or translate("Unnamed forward"))
+end
local function forward_proto_txt(self, s)
@@ -103,7 +104,6 @@ end
match = s:option(DummyValue, "match", translate("Match"))
match.rawhtml = true
-match.width = "50%"
function match.cfgvalue(self, s)
return "<small>%s<br />%s<br />%s</small>" % {
forward_proto_txt(self, s),
@@ -115,7 +115,6 @@ end
dest = s:option(DummyValue, "dest", translate("Forward to"))
dest.rawhtml = true
-dest.width = "40%"
function dest.cfgvalue(self, s)
local z = ft.fmt_zone(self.map:get(s, "dest"), translate("any zone"))
local a = ft.fmt_ip(self.map:get(s, "dest_ip"), translate("any host"))
@@ -129,6 +128,6 @@ function dest.cfgvalue(self, s)
end
end
-ft.opt_enabled(s, Flag, translate("Enable")).width = "1%"
+ft.opt_enabled(s, Flag, translate("Enable"))
return m
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua
index b57201041d..a4763d5dc4 100644
--- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua
+++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua
@@ -224,7 +224,13 @@ else
end
- o = s:option(DynamicList, "icmp_type", translate("Match ICMP type"))
+ o = s:option(DropDown, "icmp_type", translate("Match ICMP type"))
+ o.multiple = true
+ o.display = 10
+ o.dropdown = 10
+ o.custom = true
+ o.cast = "table"
+
o:value("", "any")
o:value("echo-reply")
o:value("destination-unreachable")
@@ -263,6 +269,8 @@ else
o:value("address-mask-request")
o:value("address-mask-reply")
+ o:depends("proto", "icmp")
+
o = s:option(Value, "src", translate("Source zone"))
o.nocreate = true
@@ -281,7 +289,7 @@ else
o = s:option(Value, "src_ip", translate("Source address"))
- o.datatype = "neg(ipmask)"
+ o.datatype = "list(neg(ipmask))"
o.placeholder = translate("any")
luci.sys.net.ipv4_hints(function(ip, name)
@@ -301,7 +309,6 @@ else
o = s:option(Value, "dest_local", translate("Output zone"))
o.nocreate = true
o.allowany = true
- o.rmempty = false
o.template = "cbi/firewall_zonelist"
o.alias = "dest"
o:depends("src", "")
@@ -316,7 +323,7 @@ else
o = s:option(Value, "dest_ip", translate("Destination address"))
- o.datatype = "neg(ipmask)"
+ o.datatype = "list(neg(ipmask))"
o.placeholder = translate("any")
luci.sys.net.ipv4_hints(function(ip, name)
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/rules.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/rules.lua
index 22dec5ee6b..f4b6b2a928 100644
--- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/rules.lua
+++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/rules.lua
@@ -72,7 +72,9 @@ function s.parse(self, ...)
end
end
-ft.opt_name(s, DummyValue, translate("Name"))
+function s.sectiontitle(self, sid)
+ return (self.map:get(sid, "name") or translate("Unnamed rule"))
+end
local function rule_proto_txt(self, s)
local f = self.map:get(s, "family")
@@ -159,7 +161,6 @@ end
match = s:option(DummyValue, "match", translate("Match"))
match.rawhtml = true
-match.width = "70%"
function match.cfgvalue(self, s)
return "<small>%s<br />%s<br />%s</small>" % {
rule_proto_txt(self, s),
@@ -170,7 +171,6 @@ end
target = s:option(DummyValue, "target", translate("Action"))
target.rawhtml = true
-target.width = "20%"
function target.cfgvalue(self, s)
local t = ft.fmt_target(self.map:get(s, "target"), self.map:get(s, "src"), self.map:get(s, "dest"))
local l = ft.fmt_limit(self.map:get(s, "limit"),
@@ -183,7 +183,7 @@ function target.cfgvalue(self, s)
end
end
-ft.opt_enabled(s, Flag, translate("Enable")).width = "1%"
+ft.opt_enabled(s, Flag, translate("Enable"))
--
@@ -240,11 +240,12 @@ function s.filter(self, sid)
return (self.map:get(sid, "target") == "SNAT")
end
-ft.opt_name(s, DummyValue, translate("Name"))
+function s.sectiontitle(self, sid)
+ return (self.map:get(sid, "name") or translate("Unnamed SNAT"))
+end
match = s:option(DummyValue, "match", translate("Match"))
match.rawhtml = true
-match.width = "70%"
function match.cfgvalue(self, s)
return "<small>%s<br />%s<br />%s</small>" % {
rule_proto_txt(self, s),
@@ -255,7 +256,6 @@ end
snat = s:option(DummyValue, "via", translate("Action"))
snat.rawhtml = true
-snat.width = "20%"
function snat.cfgvalue(self, s)
local a = ft.fmt_ip(self.map:get(s, "src_dip"))
local p = ft.fmt_port(self.map:get(s, "src_dport"))
@@ -267,7 +267,7 @@ function snat.cfgvalue(self, s)
end
end
-ft.opt_enabled(s, Flag, translate("Enable")).width = "1%"
+ft.opt_enabled(s, Flag, translate("Enable"))
return m
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua
index 2c5083a019..46402a8fc1 100644
--- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua
+++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zones.lua
@@ -62,6 +62,11 @@ s.anonymous = true
s.addremove = true
s.extedit = ds.build_url("admin", "network", "firewall", "zones", "%s")
+function s.sectiontitle(self, sid)
+ local z = fw:get_zone(sid)
+ return z:name()
+end
+
function s.create(self)
local z = fw:new_zone()
if z then
diff --git a/applications/luci-app-firewall/luasrc/view/firewall/cbi_addforward.htm b/applications/luci-app-firewall/luasrc/view/firewall/cbi_addforward.htm
index 279b6e06d6..f48599b505 100644
--- a/applications/luci-app-firewall/luasrc/view/firewall/cbi_addforward.htm
+++ b/applications/luci-app-firewall/luasrc/view/firewall/cbi_addforward.htm
@@ -18,95 +18,91 @@
vals[#vals+1] = '%s (%s)' %{ ip, name }
end)
-%>
-<div class="cbi-section-create cbi-tblsection-create">
- <br />
- <div class="table cbi-section-table" style="width:810px; margin-left:5px">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell" colspan="8"><%:New port forward%>:</div>
+
+<h4><%:New port forward%></h4>
+<div class="table">
+ <div class="tr table-titles">
+ <div class="th"><%:Name%></div>
+ <div class="th"><%:Protocol%></div>
+ <div class="th"><%:External zone%></div>
+ <div class="th"><%:External port%></div>
+ <div class="th"><%:Internal zone%></div>
+ <div class="th"><%:Internal IP address%></div>
+ <div class="th"><%:Internal port%></div>
+ <div class="th"></div>
+ </div>
+ <div class="tr">
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newfwd.name" name="_newfwd.name" placeholder="<%:New port forward%>" />
+ </div>
+ <div class="td">
+ <select class="cbi-input-select" id="_newfwd.proto" name="_newfwd.proto">
+ <option value="tcp udp">TCP+UDP</option>
+ <option value="tcp">TCP</option>
+ <option value="udp">UDP</option>
+ <option value="other"><%:Other...%></option>
+ </select>
+ </div>
+ <div class="td">
+ <select class="cbi-input-select" id="_newfwd.extzone" name="_newfwd.extzone">
+ <% for _, z in ipairs(ezl) do -%><option value="<%=z:name()%>"><%=z:name()%></option><%- end %>
+ </select>
+ </div>
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newfwd.extport" name="_newfwd.extport" data-type="portrange" data-optional="true" />
+ </div>
+ <div class="td">
+ <select class="cbi-input-select" id="_newfwd.intzone" name="_newfwd.intzone">
+ <% for _, z in ipairs(izl) do -%><option value="<%=z:name()%>"><%=z:name()%></option><%- end %>
+ </select>
+ </div>
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newfwd.intaddr" name="_newfwd.intaddr" data-type="host" data-optional="true"<%=
+ ifattr(#keys > 0, "data-choices", {keys, vals})
+ %>/>
</div>
- <div class="tr cbi-section-table-descr">
- <div class="th cbi-section-table-cell"><%:Name%></div>
- <div class="th cbi-section-table-cell"><%:Protocol%></div>
- <div class="th cbi-section-table-cell"><%:External zone%></div>
- <div class="th cbi-section-table-cell"><%:External port%></div>
- <div class="th cbi-section-table-cell"><%:Internal zone%></div>
- <div class="th cbi-section-table-cell"><%:Internal IP address%></div>
- <div class="th cbi-section-table-cell"><%:Internal port%></div>
- <div class="th cbi-section-table-cell"></div>
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newfwd.intport" name="_newfwd.intport" data-type="portrange" data-optional="true" />
</div>
- <div class="tr cbi-section-table-row">
- <div class="td cbi-section-table-cell">
- <input type="text" class="cbi-input-text" id="_newfwd.name" name="_newfwd.name" placeholder="<%:New port forward%>" />
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <select class="cbi-input-select" id="_newfwd.proto" name="_newfwd.proto">
- <option value="tcp udp">TCP+UDP</option>
- <option value="tcp">TCP</option>
- <option value="udp">UDP</option>
- <option value="other"><%:Other...%></option>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:55px">
- <select class="cbi-input-select" id="_newfwd.extzone" name="_newfwd.extzone">
- <% for _, z in ipairs(ezl) do -%><option value="<%=z:name()%>"><%=z:name()%></option><%- end %>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newfwd.extport" name="_newfwd.extport" data-type="portrange" data-optional="true" />
- </div>
- <div class="td cbi-section-table-cell" style="width:55px">
- <select class="cbi-input-select" id="_newfwd.intzone" name="_newfwd.intzone">
- <% for _, z in ipairs(izl) do -%><option value="<%=z:name()%>"><%=z:name()%></option><%- end %>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newfwd.intaddr" name="_newfwd.intaddr" data-type="host" data-optional="true"<%=
- ifattr(#keys > 0, "data-choices", {keys, vals})
- %>/>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newfwd.intport" name="_newfwd.intport" data-type="portrange" data-optional="true" />
- </div>
- <div class="td cbi-section-table-cell">
- <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
- </div>
+ <div class="td bottom">
+ <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
</div>
</div>
+</div>
- <script type="text/javascript">//<![CDATA[
- cbi_bind(document.getElementById('_newfwd.extport'), 'blur',
- function() {
- var n = document.getElementById('_newfwd.name');
- var p = document.getElementById('_newfwd.proto');
- var i = document.getElementById('_newfwd.intport');
- var hints = {
- /* port name 0=both, 1=tcp, 2=udp, 3=other */
- 21: [ 'FTP', 1 ],
- 22: [ 'SSH', 1 ],
- 53: [ 'DNS', 0 ],
- 80: [ 'HTTP', 1 ],
- 443: [ 'HTTPS', 1 ],
- 3389: [ 'RDP', 1 ],
- 5900: [ 'VNC', 1 ],
- };
+<script type="text/javascript">//<![CDATA[
+ cbi_bind(document.getElementById('_newfwd.extport'), 'blur',
+ function() {
+ var n = document.getElementById('_newfwd.name');
+ var p = document.getElementById('_newfwd.proto');
+ var i = document.getElementById('_newfwd.intport');
+ var hints = {
+ /* port name 0=both, 1=tcp, 2=udp, 3=other */
+ 21: [ 'FTP', 1 ],
+ 22: [ 'SSH', 1 ],
+ 53: [ 'DNS', 0 ],
+ 80: [ 'HTTP', 1 ],
+ 443: [ 'HTTPS', 1 ],
+ 3389: [ 'RDP', 1 ],
+ 5900: [ 'VNC', 1 ],
+ };
- if (!this.className.match(/invalid/))
- {
- if (!i.value) i.value = this.value;
+ if (!this.className.match(/invalid/))
+ {
+ if (!i.value) i.value = this.value;
- var hint = hints[this.value || 0] || hints[i.value || 0];
- if (hint)
- {
- p.selectedIndex = hint[1];
+ var hint = hints[this.value || 0] || hints[i.value || 0];
+ if (hint)
+ {
+ p.selectedIndex = hint[1];
- if (!n.value)
- n.value = hint[0];
- }
- else if (!n.value)
- {
- n.value = 'Forward' + this.value;
- }
+ if (!n.value)
+ n.value = hint[0];
}
- });
- //]]></script>
-</div>
+ else if (!n.value)
+ {
+ n.value = 'Forward' + this.value;
+ }
+ }
+ });
+//]]></script>
diff --git a/applications/luci-app-firewall/luasrc/view/firewall/cbi_addrule.htm b/applications/luci-app-firewall/luasrc/view/firewall/cbi_addrule.htm
index c99ecaca37..273675cd30 100644
--- a/applications/luci-app-firewall/luasrc/view/firewall/cbi_addrule.htm
+++ b/applications/luci-app-firewall/luasrc/view/firewall/cbi_addrule.htm
@@ -5,112 +5,105 @@
local zones = fw:get_zones()
%>
-<div class="cbi-section-create cbi-tblsection-create">
- <% if wz then %>
- <br />
- <div class="table cbi-section-table" style="margin-left:5px">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell left" colspan="4"><%:Open ports on router%>:</div>
+<% if wz then %>
+ <h4><%:Open ports on router%></h4>
+ <div class="table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th"><%:Name%></div>
+ <div class="th"><%:Protocol%></div>
+ <div class="th"><%:External port%></div>
+ <div class="th"></div>
+ </div>
+ <div class="tr">
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newopen.name" name="_newopen.name" placeholder="<%:New input rule%>" />
+ </div>
+ <div class="td">
+ <select class="cbi-input-select" id="_newopen.proto" name="_newopen.proto">
+ <option value="tcp udp">TCP+UDP</option>
+ <option value="tcp">TCP</option>
+ <option value="udp">UDP</option>
+ <option value="other"><%:Other...%></option>
+ </select>
</div>
- <div class="tr cbi-section-table-descr">
- <div class="th cbi-section-table-cell"><%:Name%></div>
- <div class="th cbi-section-table-cell"><%:Protocol%></div>
- <div class="th cbi-section-table-cell"><%:External port%></div>
- <div class="th cbi-section-table-cell"></div>
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newopen.extport" name="_newopen.extport" />
</div>
- <div class="tr cbi-section-table-row">
- <div class="td cbi-section-table-cell" style="width:130px">
- <input type="text" class="cbi-input-text" id="_newopen.name" name="_newopen.name" placeholder="<%:New input rule%>" />
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <select class="cbi-input-select" id="_newopen.proto" name="_newopen.proto">
- <option value="tcp udp">TCP+UDP</option>
- <option value="tcp">TCP</option>
- <option value="udp">UDP</option>
- <option value="other"><%:Other...%></option>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newopen.extport" name="_newopen.extport" />
- </div>
- <div class="td cbi-section-table-cell left">
- <input type="submit" class="cbi-button cbi-button-add" name="_newopen.submit" value="<%:Add%>" />
- </div>
+ <div class="td bottom">
+ <input type="submit" class="cbi-button cbi-button-add" name="_newopen.submit" value="<%:Add%>" />
</div>
</div>
- <% end %>
- <% if #zones > 1 then %>
- <div class="table cbi-section-table" style="margin-left:5px">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell left" colspan="6"><br /><%:New forward rule%>:</div>
+ </div>
+<% end %>
+<% if #zones > 1 then %>
+ <h4><%:New forward rule%></h4>
+ <div class="table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th"><%:Name%></div>
+ <div class="th"><%:Source zone%></div>
+ <div class="th"><%:Destination zone%></div>
+ <div class="th"></div>
+ </div>
+ <div class="tr">
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newfwd.name" name="_newfwd.name" placeholder="<%:New forward rule%>" />
</div>
- <div class="tr cbi-section-table-descr">
- <div class="th cbi-section-table-cell"><%:Name%></div>
- <div class="th cbi-section-table-cell"><%:Source zone%></div>
- <div class="th cbi-section-table-cell"><%:Destination zone%></div>
- <div class="th cbi-section-table-cell"></div>
+ <div class="td">
+ <select class="cbi-input-text" id="_newfwd.src" name="_newfwd.src">
+ <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
+ <option<%=ifattr(v:name() == "wan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
+ <%- end %>
+ </select>
</div>
- <div class="tr cbi-section-table-row">
- <div class="td cbi-section-table-cell" style="width:130px">
- <input type="text" class="cbi-input-text" id="_newfwd.name" name="_newfwd.name" placeholder="<%:New forward rule%>" />
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <select class="cbi-input-text" id="_newfwd.src" name="_newfwd.src">
- <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
- <option<%=ifattr(v:name() == "wan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
- <%- end %>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <select class="cbi-input-text" id="_newfwd.dest" name="_newfwd.dest">
- <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
- <option<%=ifattr(v:name() == "lan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
- <%- end %>
- </select>
- </div>
- <div class="td cbi-section-table-cell left">
- <input type="submit" class="cbi-button cbi-button-link" name="_newfwd.submit" value="<%:Add and edit...%>" />
- </div>
+ <div class="td">
+ <select class="cbi-input-text" id="_newfwd.dest" name="_newfwd.dest">
+ <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
+ <option<%=ifattr(v:name() == "lan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
+ <%- end %>
+ </select>
+ </div>
+ <div class="td bottom">
+ <input type="submit" class="cbi-button cbi-button-link" name="_newfwd.submit" value="<%:Add and edit...%>" />
</div>
</div>
- <% else %>
- <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
- <% end %>
+ </div>
+<% else %>
+ <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
+<% end %>
- <% if wz then %>
- <script type="text/javascript">//<![CDATA[
- cbi_validate_field('_newopen.extport', true, 'list(neg(portrange))');
- cbi_bind(document.getElementById('_newopen.extport'), 'blur',
- function() {
- var n = document.getElementById('_newopen.name');
- var p = document.getElementById('_newopen.proto');
- var hints = {
- /* port name 0=both, 1=tcp, 2=udp, 3=other */
- 22: [ 'SSH', 1 ],
- 53: [ 'DNS', 0 ],
- 80: [ 'HTTP', 1 ],
- 443: [ 'HTTPS', 1 ],
- };
+<% if wz then %>
+ <script type="text/javascript">//<![CDATA[
+ cbi_validate_field('_newopen.extport', true, 'list(neg(portrange))');
+ cbi_bind(document.getElementById('_newopen.extport'), 'blur',
+ function() {
+ var n = document.getElementById('_newopen.name');
+ var p = document.getElementById('_newopen.proto');
+ var hints = {
+ /* port name 0=both, 1=tcp, 2=udp, 3=other */
+ 22: [ 'SSH', 1 ],
+ 53: [ 'DNS', 0 ],
+ 80: [ 'HTTP', 1 ],
+ 443: [ 'HTTPS', 1 ],
+ };
- if (!this.className.match(/invalid/))
+ if (!this.className.match(/invalid/))
+ {
+ var hint = hints[this.value || 0];
+ if (hint)
{
- var hint = hints[this.value || 0];
- if (hint)
- {
- p.selectedIndex = hint[1];
+ p.selectedIndex = hint[1];
- if (!n.value)
- n.value = hint[0];
- }
- else if (!n.value && this.value)
- {
- n.value = 'Open' + this.value;
- }
+ if (!n.value)
+ n.value = hint[0];
+ }
+ else if (!n.value && this.value)
+ {
+ n.value = 'Open' + this.value;
}
- });
+ }
+ });
- cbi_validate_field('cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>', true, 'uciname');
- //]]></script>
- <% end %>
-</div>
+ cbi_validate_field('cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>', true, 'uciname');
+ //]]></script>
+<% end %>
diff --git a/applications/luci-app-firewall/luasrc/view/firewall/cbi_addsnat.htm b/applications/luci-app-firewall/luasrc/view/firewall/cbi_addsnat.htm
index b2775cf694..0b4774ccc0 100644
--- a/applications/luci-app-firewall/luasrc/view/firewall/cbi_addsnat.htm
+++ b/applications/luci-app-firewall/luasrc/view/firewall/cbi_addsnat.htm
@@ -12,53 +12,48 @@
end
%>
-<div class="cbi-section-create cbi-tblsection-create">
- <% if #zones > 1 then %>
- <br />
- <div class="table cbi-section-table" style="width:700px; margin-left:5px">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell left" colspan="6"><%:New source NAT%>:</div>
+<% if #zones > 1 then %>
+ <h4><%:New source NAT%></h4>
+ <div class="table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th"><%:Name%></div>
+ <div class="th"><%:Source zone%></div>
+ <div class="th"><%:Destination zone%></div>
+ <div class="th"><%:To source IP%></div>
+ <div class="th"><%:To source port%></div>
+ <div class="th"></div>
+ </div>
+ <div class="tr">
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newsnat.name" name="_newsnat.name" placeholder="<%:New SNAT rule%>" />
+ </div>
+ <div class="td">
+ <select class="cbi-input-text" id="_newsnat.src" name="_newsnat.src">
+ <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
+ <option<%=ifattr(v:name() == "lan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
+ <%- end %>
+ </select>
+ </div>
+ <div class="td">
+ <select class="cbi-input-text" id="_newsnat.dest" name="_newsnat.dest">
+ <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
+ <option<%=ifattr(v:name() == "wan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
+ <%- end %>
+ </select>
+ </div>
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newsnat.dip" name="_newsnat.dip" placeholder="<%:Do not rewrite%>" data-type="ip4addr" data-optional="true"<%=
+ ifattr(#keys > 0, "data-choices", { keys, vals })
+ %> />
</div>
- <div class="tr cbi-section-table-descr">
- <div class="th cbi-section-table-cell"><%:Name%></div>
- <div class="th cbi-section-table-cell"><%:Source zone%></div>
- <div class="th cbi-section-table-cell"><%:Destination zone%></div>
- <div class="th cbi-section-table-cell"><%:To source IP%></div>
- <div class="th cbi-section-table-cell"><%:To source port%></div>
- <div class="th cbi-section-table-cell"></div>
+ <div class="td">
+ <input type="text" class="cbi-input-text" id="_newsnat.dport" name="_newsnat.dport" placeholder="<%:Do not rewrite%>" data-type="portrange" data-optional="true" />
</div>
- <div class="tr cbi-section-table-row">
- <div class="td cbi-section-table-cell">
- <input type="text" class="cbi-input-text" id="_newsnat.name" name="_newsnat.name" placeholder="<%:New SNAT rule%>" />
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <select class="cbi-input-text" id="_newsnat.src" name="_newsnat.src">
- <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
- <option<%=ifattr(v:name() == "lan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
- <%- end %>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <select class="cbi-input-text" id="_newsnat.dest" name="_newsnat.dest">
- <% local k, v; for k, v in ipairs(fw:get_zones()) do -%>
- <option<%=ifattr(v:name() == "wan", "selected", "selected")%> value="<%=v:name()%>"><%=v:name()%></option>
- <%- end %>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newsnat.dip" name="_newsnat.dip" placeholder="<%:Do not rewrite%>" data-type="ip4addr" data-optional="true"<%=
- ifattr(#keys > 0, "data-choices", { keys, vals })
- %> />
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newsnat.dport" name="_newsnat.dport" placeholder="<%:Do not rewrite%>" data-type="portrange" data-optional="true" />
- </div>
- <div class="td cbi-section-table-cell">
- <input type="submit" class="cbi-button cbi-button-link" name="_newsnat.submit" value="<%:Add and edit...%>" />
- </div>
+ <div class="td bottom">
+ <input type="submit" class="cbi-button cbi-button-link" name="_newsnat.submit" value="<%:Add and edit...%>" />
</div>
</div>
- <% else %>
- <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
- <% end %>
-</div>
+ </div>
+<% else %>
+ <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.<%=section%>" value="<%:Add%>" />
+<% end %>
diff --git a/applications/luci-app-firewall/po/ca/firewall.po b/applications/luci-app-firewall/po/ca/firewall.po
index b206fce1e4..b43791939e 100644
--- a/applications/luci-app-firewall/po/ca/firewall.po
+++ b/applications/luci-app-firewall/po/ca/firewall.po
@@ -48,6 +48,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Acció"
@@ -106,6 +109,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "No reescriguis"
@@ -115,6 +121,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Descarta els paquets invàlids"
@@ -181,6 +190,15 @@ msgstr "Des de %s en %s amb origen %s"
msgid "From %s in %s with source %s and %s"
msgstr "Des de %s en %s amb orígens %s i %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Ajusts generals"
@@ -346,6 +364,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po
index 3ecd433a7d..e4e01a1784 100644
--- a/applications/luci-app-firewall/po/cs/firewall.po
+++ b/applications/luci-app-firewall/po/cs/firewall.po
@@ -44,6 +44,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Akce"
@@ -101,6 +104,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Nepřepisovat"
@@ -110,6 +116,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Zahazovat neplatné pakety"
@@ -176,6 +185,15 @@ msgstr "Z %s v %s se zdrojovou %s"
msgid "From %s in %s with source %s and %s"
msgstr "Z %s v %s se zdrojovou %s a %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Obecné nastavení"
@@ -343,6 +361,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po
index e39d4f8566..fe1db6ba58 100644
--- a/applications/luci-app-firewall/po/de/firewall.po
+++ b/applications/luci-app-firewall/po/de/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Aktion"
@@ -104,6 +107,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Nicht umschreiben"
@@ -113,6 +119,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Ungültige Pakete verwerfen"
@@ -179,6 +188,15 @@ msgstr "Von %s in %s mit Quell-%s"
msgid "From %s in %s with source %s and %s"
msgstr "Von %s in %s mit Quell-%s und %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Allgemein"
@@ -343,6 +361,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po
index 783fcd462c..ecba866654 100644
--- a/applications/luci-app-firewall/po/el/firewall.po
+++ b/applications/luci-app-firewall/po/el/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Ενέργεια"
@@ -101,6 +104,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -110,6 +116,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Αγνόηση μη-έγκυρων πακετών"
@@ -177,6 +186,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Γενικές Ρυθμίσεις"
@@ -336,6 +354,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po
index 9d9166d68f..1cb489c4b8 100644
--- a/applications/luci-app-firewall/po/en/firewall.po
+++ b/applications/luci-app-firewall/po/en/firewall.po
@@ -44,6 +44,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Action"
@@ -98,6 +101,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -107,6 +113,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Drop invalid packets"
@@ -177,6 +186,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -336,6 +354,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po
index e96fecad99..ef37e2edc0 100644
--- a/applications/luci-app-firewall/po/es/firewall.po
+++ b/applications/luci-app-firewall/po/es/firewall.po
@@ -47,6 +47,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Acción"
@@ -105,6 +108,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "No reescribir"
@@ -114,6 +120,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Descartar paquetes no válidos"
@@ -180,6 +189,15 @@ msgstr "Desde %s en %s con origen %s"
msgid "From %s in %s with source %s and %s"
msgstr "Desde %s en %s con origen %s y %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Configuración general"
@@ -345,6 +363,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po
index 4a34064868..770d85dbc8 100644
--- a/applications/luci-app-firewall/po/fr/firewall.po
+++ b/applications/luci-app-firewall/po/fr/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Action"
@@ -100,6 +103,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -109,6 +115,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Supprimer les paquets invalides"
@@ -179,6 +188,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Paramètres généraux"
@@ -341,6 +359,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/he/firewall.po b/applications/luci-app-firewall/po/he/firewall.po
index 5511e8ab10..45c9d87ce7 100644
--- a/applications/luci-app-firewall/po/he/firewall.po
+++ b/applications/luci-app-firewall/po/he/firewall.po
@@ -41,6 +41,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr ""
@@ -95,6 +98,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -104,6 +110,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr ""
@@ -170,6 +179,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -326,6 +344,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po
index 30c242913d..55d920e47a 100644
--- a/applications/luci-app-firewall/po/hu/firewall.po
+++ b/applications/luci-app-firewall/po/hu/firewall.po
@@ -44,6 +44,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Művelet"
@@ -102,6 +105,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Ne írja felül"
@@ -111,6 +117,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Érvénytelen csomagok eldobása"
@@ -177,6 +186,15 @@ msgstr "%s felől %s-ben %s forrással"
msgid "From %s in %s with source %s and %s"
msgstr "%s felől %s-ben %s és %s forrással"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Általános beállítások"
@@ -347,6 +365,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po
index e26c504b95..d639ad828c 100644
--- a/applications/luci-app-firewall/po/it/firewall.po
+++ b/applications/luci-app-firewall/po/it/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Azione"
@@ -104,6 +107,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Non riscrivere"
@@ -113,6 +119,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Scarta pacchetti invalidi"
@@ -179,6 +188,15 @@ msgstr "Da %s a %s con sorgente %s"
msgid "From %s in %s with source %s and %s"
msgstr "Da %s a %s con sorgente %s e %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Opzioni Generali"
@@ -343,6 +361,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po
index d4cf84c956..b52db441da 100644
--- a/applications/luci-app-firewall/po/ja/firewall.po
+++ b/applications/luci-app-firewall/po/ja/firewall.po
@@ -3,14 +3,14 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-03-30 17:00+0200\n"
-"PO-Revision-Date: 2018-05-27 21:24+0900\n"
+"PO-Revision-Date: 2018-06-18 16:56+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.0.7\n"
+"X-Generator: Poedit 2.0.8\n"
"Language-Team: \n"
msgid "%s in %s"
@@ -47,6 +47,9 @@ msgstr "転送を許可"
msgid "Accept input"
msgstr "入力を許可"
+msgid "Accept output"
+msgstr "出力を許可"
+
msgid "Action"
msgstr "動作"
@@ -105,6 +108,9 @@ msgstr "転送を破棄"
msgid "Discard input"
msgstr "入力を破棄"
+msgid "Discard output"
+msgstr "出力を破棄"
+
msgid "Do not rewrite"
msgstr "リライトしない"
@@ -114,6 +120,9 @@ msgstr "転送を追跡しない"
msgid "Do not track input"
msgstr "入力を追跡しない"
+msgid "Do not track output"
+msgstr "出力を追跡しない"
+
msgid "Drop invalid packets"
msgstr "無効なパケットを遮断する"
@@ -175,10 +184,19 @@ msgid "From %s in %s"
msgstr "送信元 %s (%s)"
msgid "From %s in %s with source %s"
-msgstr "送信元 %s (%s) , 送信元 %s"
+msgstr "送信元 %s (%s) , %s"
msgid "From %s in %s with source %s and %s"
-msgstr "送信元 %s (%s) , 送信元 %s, 送信元 %s"
+msgstr "送信元 %s (%s) , %s, %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, %s (<var>デバイス</var>)"
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr "送信元 %s, %s, %s (<var>デバイス</var>)"
msgid "General Settings"
msgstr "一般設定"
@@ -317,7 +335,7 @@ msgid "Output"
msgstr "送信"
msgid "Output zone"
-msgstr ""
+msgstr "出力ゾーン"
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
@@ -352,6 +370,9 @@ msgstr "転送を拒否"
msgid "Refuse input"
msgstr "入力を拒否"
+msgid "Refuse output"
+msgstr "出力を拒否"
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
"ハードウェア NAT サポートが必要です。 mt7621 のみにおいて実装されています。"
diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po
index 5c3d02c1e2..1e9610c109 100644
--- a/applications/luci-app-firewall/po/ko/firewall.po
+++ b/applications/luci-app-firewall/po/ko/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr ""
@@ -103,6 +106,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -112,6 +118,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr ""
@@ -178,6 +187,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -336,6 +354,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ms/firewall.po b/applications/luci-app-firewall/po/ms/firewall.po
index 9688622ba4..73cb6db614 100644
--- a/applications/luci-app-firewall/po/ms/firewall.po
+++ b/applications/luci-app-firewall/po/ms/firewall.po
@@ -40,6 +40,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr ""
@@ -94,6 +97,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -103,6 +109,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr ""
@@ -169,6 +178,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -325,6 +343,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/no/firewall.po b/applications/luci-app-firewall/po/no/firewall.po
index d59fec3646..3339c5d470 100644
--- a/applications/luci-app-firewall/po/no/firewall.po
+++ b/applications/luci-app-firewall/po/no/firewall.po
@@ -41,6 +41,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Handling"
@@ -98,6 +101,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Ikke omskriv"
@@ -107,6 +113,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Forkast ugyldige pakker"
@@ -174,6 +183,15 @@ msgstr "Fra %s i %s med kilde %s"
msgid "From %s in %s with source %s and %s"
msgstr "Fra %s i %s med kilde %s og %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Generelle Innstillinger"
@@ -342,6 +360,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po
index 7c087ef02b..3804d8c03c 100644
--- a/applications/luci-app-firewall/po/pl/firewall.po
+++ b/applications/luci-app-firewall/po/pl/firewall.po
@@ -48,6 +48,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Działanie"
@@ -105,6 +108,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Nie przepisuj"
@@ -114,6 +120,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Porzuć wadliwe pakiety"
@@ -183,6 +192,15 @@ msgstr "Z %s w %s ze źródłem %s"
msgid "From %s in %s with source %s and %s"
msgstr "Z %s w %s ze źródłem %s i %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Ustawienia ogólne"
@@ -351,6 +369,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po
index bfcdd54d9b..9b440ad748 100644
--- a/applications/luci-app-firewall/po/pt-br/firewall.po
+++ b/applications/luci-app-firewall/po/pt-br/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Ação"
@@ -103,6 +106,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Não sobrescreva"
@@ -112,6 +118,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Descartar pacotes inválidos"
@@ -178,6 +187,15 @@ msgstr "Vindo de %s em %s com origem %s"
msgid "From %s in %s with source %s and %s"
msgstr "Vindo de %s em %s com origem %s e %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Configurações Gerais"
@@ -346,6 +364,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po
index 2536b7a369..648f26b955 100644
--- a/applications/luci-app-firewall/po/pt/firewall.po
+++ b/applications/luci-app-firewall/po/pt/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Acção"
@@ -104,6 +107,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Não re-escrever"
@@ -113,6 +119,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Cancelar pacotes inválidos"
@@ -179,6 +188,15 @@ msgstr "De %s em %s com origem %s"
msgid "From %s in %s with source %s and %s"
msgstr "De %s em %s com origem %s e %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Definições Gerais"
@@ -348,6 +366,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po
index dbae338229..a052d1dc31 100644
--- a/applications/luci-app-firewall/po/ro/firewall.po
+++ b/applications/luci-app-firewall/po/ro/firewall.po
@@ -45,6 +45,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Acţiune"
@@ -99,6 +102,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Nu rescrie"
@@ -108,6 +114,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Descarcă pachetele invalide"
@@ -174,6 +183,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Setari generale"
@@ -330,6 +348,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po
index a441c5a709..c596fc906a 100644
--- a/applications/luci-app-firewall/po/ru/firewall.po
+++ b/applications/luci-app-firewall/po/ru/firewall.po
@@ -48,6 +48,9 @@ msgstr "Принять перенаправление"
msgid "Accept input"
msgstr "Принять входящий трафик"
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Действие"
@@ -106,6 +109,9 @@ msgstr "Отключить перенаправление"
msgid "Discard input"
msgstr "Отключить входящий трафик"
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Не перезаписывать"
@@ -115,6 +121,9 @@ msgstr "Не отслеживать перенаправление"
msgid "Do not track input"
msgstr "Не отслеживать входящий трафик"
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Не пропускать<br />некорректные пакеты"
@@ -181,6 +190,15 @@ msgstr "Из %s в %s с источником %s"
msgid "From %s in %s with source %s and %s"
msgstr "Из %s в %s с источниками %s и %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Основные настройки"
@@ -355,6 +373,9 @@ msgstr "Сбрасывать перенаправление"
msgid "Refuse input"
msgstr "Сбрасывать входящий трафик"
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/sk/firewall.po b/applications/luci-app-firewall/po/sk/firewall.po
index c6952faa35..b1735ecb28 100644
--- a/applications/luci-app-firewall/po/sk/firewall.po
+++ b/applications/luci-app-firewall/po/sk/firewall.po
@@ -41,6 +41,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr ""
@@ -95,6 +98,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -104,6 +110,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr ""
@@ -170,6 +179,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -326,6 +344,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po
index 0301c25b5a..6c9cde89d7 100644
--- a/applications/luci-app-firewall/po/sv/firewall.po
+++ b/applications/luci-app-firewall/po/sv/firewall.po
@@ -42,6 +42,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Åtgärd"
@@ -96,6 +99,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "Skriv inte om igen"
@@ -105,6 +111,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Släpp ogiltiga paket"
@@ -171,6 +180,15 @@ msgstr "Från %s i %s med källa %s"
msgid "From %s in %s with source %s and %s"
msgstr "Från %s i %s med källa %s och %s"
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "Generella inställningar"
@@ -332,6 +350,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/templates/firewall.pot b/applications/luci-app-firewall/po/templates/firewall.pot
index d2691cc44a..d9015c5847 100644
--- a/applications/luci-app-firewall/po/templates/firewall.pot
+++ b/applications/luci-app-firewall/po/templates/firewall.pot
@@ -34,6 +34,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr ""
@@ -88,6 +91,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -97,6 +103,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr ""
@@ -163,6 +172,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -319,6 +337,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/tr/firewall.po b/applications/luci-app-firewall/po/tr/firewall.po
index 9c5adb1cd2..6aa3b4b476 100644
--- a/applications/luci-app-firewall/po/tr/firewall.po
+++ b/applications/luci-app-firewall/po/tr/firewall.po
@@ -41,6 +41,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr ""
@@ -95,6 +98,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -104,6 +110,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr ""
@@ -170,6 +179,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -326,6 +344,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po
index 7234ceff66..6301b83e35 100644
--- a/applications/luci-app-firewall/po/uk/firewall.po
+++ b/applications/luci-app-firewall/po/uk/firewall.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2018-06-10 17:15+0200\n"
+"PO-Revision-Date: 2018-06-18 20:24+0300\n"
"Last-Translator: Yurii <yuripet@gmail.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -11,9 +11,6 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-msgid ""
-msgstr "Content-Type: text/plain; charset=UTF-8"
-
msgid "%s in %s"
msgstr "%s у %s"
@@ -45,7 +42,10 @@ msgid "Accept forward"
msgstr "Приймати переспрямовування"
msgid "Accept input"
-msgstr "Приймати введення"
+msgstr "Приймати вхідний"
+
+msgid "Accept output"
+msgstr "Приймати вихідний"
msgid "Action"
msgstr "Дія"
@@ -60,7 +60,7 @@ msgid "Advanced Settings"
msgstr "Розширені настройки"
msgid "Allow forward from <em>source zones</em>:"
-msgstr "Дозволити переспрямовування від <em>зон-джерел</em>:"
+msgstr "Дозволити переспрямовування від <em>зон джерела</em>:"
msgid "Allow forward to <em>destination zones</em>:"
msgstr "Дозволити переспрямовування до <em>зон призначення</em>:"
@@ -103,7 +103,10 @@ msgid "Discard forward"
msgstr "Відкидати переспрямовування"
msgid "Discard input"
-msgstr "Відкидати введення"
+msgstr "Відкидати вхідний"
+
+msgid "Discard output"
+msgstr "Відкидати вихідний"
msgid "Do not rewrite"
msgstr "Не перезаписувати"
@@ -112,7 +115,10 @@ msgid "Do not track forward"
msgstr "Не відслідковувати переспрямовування"
msgid "Do not track input"
-msgstr "Не відслідковувати введення"
+msgstr "Не відслідковувати вхідний"
+
+msgid "Do not track output"
+msgstr "Не відслідковувати вихідний"
msgid "Drop invalid packets"
msgstr "Відкидати помилкові пакети"
@@ -175,10 +181,19 @@ msgid "From %s in %s"
msgstr "%s у %s"
msgid "From %s in %s with source %s"
-msgstr "%s у %s з вихідним %s"
+msgstr "%s у %s з джерелом %s"
msgid "From %s in %s with source %s and %s"
-msgstr "%s у %s з вихідним %s та %s"
+msgstr "%s у %s з джерелом %s та %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 та %s"
msgid "General Settings"
msgstr "Загальні настройки"
@@ -193,7 +208,7 @@ msgid "IP range"
msgstr "Діапазон IP"
msgid "IPs"
-msgstr "IP-алреси"
+msgstr "IP-адреси"
msgid "IPv4"
msgstr "IPv4"
@@ -229,10 +244,10 @@ msgid "Limit log messages"
msgstr "Обмеження повідомлень журналу"
msgid "MAC"
-msgstr "MAC-алреса"
+msgstr "MAC-адреса"
msgid "MACs"
-msgstr "MAC-алреси"
+msgstr "MAC-адреси"
msgid "MSS clamping"
msgstr "Затискання MSS"
@@ -346,7 +361,10 @@ msgid "Refuse forward"
msgstr "Відхиляти переспрямовування"
msgid "Refuse input"
-msgstr "Відхиляти введення"
+msgstr "Відхиляти вхідний"
+
+msgid "Refuse output"
+msgstr "Відхиляти вихідний"
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "Необхідна апаратна підтримка NAT. Впроваджено принаймні для mt7621"
@@ -358,7 +376,7 @@ msgid "Restrict Masquerading to given destination subnets"
msgstr "Обмежити підміну заданими підмережами призначення"
msgid "Restrict Masquerading to given source subnets"
-msgstr "Обмежити підміну заданими вихідними підмережами"
+msgstr "Обмежити підміну заданими підмережами джерела"
msgid "Restrict to address family"
msgstr "Обмежити сімейство протоколів"
@@ -374,10 +392,10 @@ msgstr ""
"порожнім, щоб переписувати тільки IP-адресу."
msgid "Rewrite to source %s"
-msgstr "перезапис на вихідний %s"
+msgstr "перезапис на джерело %s"
msgid "Rewrite to source %s, %s"
-msgstr "перезапис на вихідний %s, %s"
+msgstr "перезапис на джерело %s, %s"
msgid "Routing/NAT Offloading"
msgstr "Розвантаження маршрутизації/NAT"
@@ -428,7 +446,7 @@ msgid "Source port"
msgstr "Порт джерела"
msgid "Source zone"
-msgstr "Зона-джерело"
+msgstr "Зона джерела"
msgid "Start Date (yyyy-mm-dd)"
msgstr "Дата початку (рррр-мм-дд)"
@@ -460,9 +478,9 @@ msgid ""
"rule is <em>unidirectional</em>, e.g. a forward from lan to wan does "
"<em>not</em> imply a permission to forward from wan to lan as well."
msgstr ""
-"Опції, наведені нижче, керують політиками переспрямовування між цією (%s) "
-"та іншими зонами. <em>Зони призначення</em> покриваються переспрямованим "
-"трафіком, що <strong>виходить з %q</strong>. <em>Зони-джерела</em> "
+"Опції, наведені нижче, керують політиками переспрямовування між цією (%s) та "
+"іншими зонами. <em>Зони призначення</em> покриваються переспрямованим "
+"трафіком, що <strong>виходить з %q</strong>. <em>Зони джерела</em> "
"покриваються трафіком з інших зон, <strong>переспрямованим на %q</strong>. "
"Правило переспрямовування є <em>односпрямованим</em>, тобто, спрямовування "
"від LAN до WAN <em>не</em> означає, що є також дозвіл спрямовувати від WAN "
@@ -472,8 +490,9 @@ 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 "
diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po
index 0eba33f760..7032dac258 100644
--- a/applications/luci-app-firewall/po/vi/firewall.po
+++ b/applications/luci-app-firewall/po/vi/firewall.po
@@ -46,6 +46,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "Action"
@@ -101,6 +104,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr ""
@@ -110,6 +116,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "Bỏ qua nhưng gói không hợp lý"
@@ -177,6 +186,15 @@ msgstr ""
msgid "From %s in %s with source %s and %s"
msgstr ""
+msgid "From %s on <var>this device</var>"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr ""
@@ -336,6 +354,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-firewall/po/zh-cn/firewall.po b/applications/luci-app-firewall/po/zh-cn/firewall.po
index 8c1424cf06..1b12dc5e19 100644
--- a/applications/luci-app-firewall/po/zh-cn/firewall.po
+++ b/applications/luci-app-firewall/po/zh-cn/firewall.po
@@ -44,6 +44,9 @@ msgstr "接受转发"
msgid "Accept input"
msgstr "接受入站"
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "动作"
@@ -100,6 +103,9 @@ msgstr "丢弃转发"
msgid "Discard input"
msgstr "丢弃入站"
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "不重写"
@@ -109,6 +115,9 @@ msgstr "不跟踪转发"
msgid "Do not track input"
msgstr "不跟踪入站"
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "丢弃无效数据包"
@@ -175,6 +184,15 @@ 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 ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "基本设置"
@@ -332,6 +350,9 @@ msgstr "拒绝转发"
msgid "Refuse input"
msgstr "拒绝入站"
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr "需要硬件 NAT 支持。目前 mt7621 已实现"
diff --git a/applications/luci-app-firewall/po/zh-tw/firewall.po b/applications/luci-app-firewall/po/zh-tw/firewall.po
index 93af452d05..070d22d6f4 100644
--- a/applications/luci-app-firewall/po/zh-tw/firewall.po
+++ b/applications/luci-app-firewall/po/zh-tw/firewall.po
@@ -44,6 +44,9 @@ msgstr ""
msgid "Accept input"
msgstr ""
+msgid "Accept output"
+msgstr ""
+
msgid "Action"
msgstr "動作"
@@ -100,6 +103,9 @@ msgstr ""
msgid "Discard input"
msgstr ""
+msgid "Discard output"
+msgstr ""
+
msgid "Do not rewrite"
msgstr "不重寫"
@@ -109,6 +115,9 @@ msgstr ""
msgid "Do not track input"
msgstr ""
+msgid "Do not track output"
+msgstr ""
+
msgid "Drop invalid packets"
msgstr "丟棄無效資料包"
@@ -175,6 +184,15 @@ 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 ""
+
+msgid "From %s on <var>this device</var> with source %s"
+msgstr ""
+
+msgid "From %s on <var>this device</var> with source %s and %s"
+msgstr ""
+
msgid "General Settings"
msgstr "基本設定"
@@ -331,6 +349,9 @@ msgstr ""
msgid "Refuse input"
msgstr ""
+msgid "Refuse output"
+msgstr ""
+
msgid "Requires hardware NAT support. Implemented at least for mt7621"
msgstr ""
diff --git a/applications/luci-app-rp-pppoe-server/Makefile b/applications/luci-app-rp-pppoe-server/Makefile
index 6cf4595cea..aa3ae538cd 100644
--- a/applications/luci-app-rp-pppoe-server/Makefile
+++ b/applications/luci-app-rp-pppoe-server/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
-LUCI_TITLE:=Roaring Penguing PPPoE Server
+LUCI_TITLE:=Roaring Penguin PPPoE Server
LUCI_DEPENDS:=+rp-pppoe-server
include ../../luci.mk
diff --git a/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm b/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm
index 80b95564dd..f016dd47e6 100644
--- a/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm
+++ b/applications/luci-app-shadowsocks-libev/luasrc/view/shadowsocks-libev/add_instance.htm
@@ -1,24 +1,17 @@
<div class="cbi-section-create cbi-tblsection-create">
- <br />
- <div class="table cbi-section-table">
- <div class="tr cbi-section-table-row">
- <div class="td cbi-section-table-cell" style="width:140px">
- <select class="cbi-input-select" id="_newinst.type" name="_newinst.type">
- <option value="_dummy">-- instance type --</option>
- <option value="ss_local">ss-local</option>
- <option value="ss_tunnel">ss-tunnel</option>
- <option value="ss_redir">ss-redir</option>
- <option value="ss_server">ss-server</option>
- </select>
- </div>
- <div class="td cbi-section-table-cell" style="width:110px">
- <input type="text" class="cbi-input-text" id="_newinst.name" name="_newinst.name" placeholder="<%:Name%>"/>
- </div>
- <div class="td cbi-section-table-cell left">
- <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>" value="<%:Add%>" />
- </div>
- </div>
+ <div>
+ <select class="cbi-input-select" id="_newinst.type" name="_newinst.type">
+ <option value="_dummy">-- instance type --</option>
+ <option value="ss_local">ss-local</option>
+ <option value="ss_tunnel">ss-tunnel</option>
+ <option value="ss_redir">ss-redir</option>
+ <option value="ss_server">ss-server</option>
+ </select>
</div>
+ <div>
+ <input type="text" class="cbi-input-text" id="_newinst.name" name="_newinst.name" placeholder="<%:Name%>"/>
+ </div>
+ <input type="submit" class="cbi-button cbi-button-add" name="cbi.cts.<%=self.config%>" value="<%:Add%>" />
</div>
<script type="text/javascript">//<![CDATA[
XHR.poll(5, '<%=url('admin/services/shadowsocks-libev/status')%>', null,
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
index 6cbeaffde6..c40bdeeb59 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/logread.htm
@@ -6,10 +6,10 @@ This is free software, licensed under the Apache License, Version 2.0
<%+header%>
<div class="cbi-map">
- <fieldset class="cbi-section">
+ <div class="cbi-section">
<div class="cbi-section-descr"><%:This form shows the syslog output, pre-filtered for travelmate related messages only.%></div>
<textarea id="logread_id" style="width: 100%; height: 450px; border: 1px solid #cccccc; padding: 5px; font-size: 12px; font-family: monospace; resize: none;" readonly="readonly" wrap="off" rows="<%=content:cmatch("\n")+2%>"><%=content:pcdata()%></textarea>
- </fieldset>
+ </div>
</div>
<script type="text/javascript">
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
index bee6fcb360..ffacc2f6df 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
@@ -11,19 +11,21 @@ This is free software, licensed under the Apache License, Version 2.0
<%+header%>
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+
<div class="cbi-map">
<div class="cbi-map-descr">
<%=translatef("Provides an overview of all configured uplinks for the travelmate interface (%s). You can edit, delete or re-order existing uplinks or scan for a new one. The currently used uplink is emphasized in blue.", trmiface)%>
</div>
-<fieldset class="cbi-section">
- <div class="table cbi-section-table" style="empty-cells:hide">
+<div class="cbi-section">
+ <div class="table cbi-section-table">
<div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell" style="text-align:left"><%:Device%></div>
- <div class="th cbi-section-table-cell" style="text-align:left"><%:SSID%></div>
- <div class="th cbi-section-table-cell" style="text-align:left"><%:BSSID%></div>
- <div class="th cbi-section-table-cell" style="text-align:left"><%:Encryption%></div>
- <div class="th cbi-section-table-cell" style="text-align:center" colspan="2"><%:Actions%></div>
+ <div class="th left"><%:Device%></div>
+ <div class="th left"><%:SSID%></div>
+ <div class="th left"><%:BSSID%></div>
+ <div class="th left"><%:Encryption%></div>
+ <div class="th center">&#160;</div>
</div>
<%
uci:foreach("wireless", "wifi-iface", function(s)
@@ -45,11 +47,9 @@ This is free software, licensed under the Apache License, Version 2.0
<div class="td" style="<%=style%>"><%=ssid%></div>
<div class="td" style="<%=style%>"><%=bssid%></div>
<div class="td" style="<%=style%>"><%=encryption%></div>
- <div class="td cbi-value-field" style="width:80px">
- <input class="cbi-button cbi-button-up" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
- <input class="cbi-button cbi-button-down" type="button" value="" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
- </div>
- <div class="td cbi-value-field" style="width:150px">
+ <div class="td cbi-section-actions">
+ <input class="cbi-button cbi-button-up" type="button" value="<%:Up%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
+ <input class="cbi-button cbi-button-down" type="button" value="<%:Down%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
<input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>"/>
<input type="button" class="cbi-button cbi-button-remove" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/>
</div>
@@ -59,7 +59,7 @@ This is free software, licensed under the Apache License, Version 2.0
end)
%>
</div>
-</fieldset>
+</div>
<div class="cbi-page-actions right">
<%
uci:foreach("wireless", "wifi-device", function(s)
@@ -68,7 +68,7 @@ This is free software, licensed under the Apache License, Version 2.0
<form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/wifiscan')%>" method="post">
<input type="hidden" name="device" value="<%=device%>"/>
<input type="hidden" name="token" value="<%=token%>"/>
- <input type="submit" class="cbi-button cbi-button-find" title="<%:Find and join network on%> <%=device%>" value="<%:Scan%> <%=device%>"/>
+ <input type="submit" class="cbi-button cbi-button-action important" title="<%:Find and join network on%> <%=device%>" value="<%:Scan%> <%=device%>"/>
</form>
<%
end)
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm
index 81182b99b4..57efd97376 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/wifi_scan.htm
@@ -39,31 +39,33 @@ This is free software, licensed under the Apache License, Version 2.0
<%+header%>
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+
<div class="cbi-map">
<h2 name="content"><%:Wireless Scan%></h2>
- <fieldset class="cbi-section">
- <div class="table cbi-section-table" style="empty-cells:hide">
+ <div class="cbi-section">
+ <div class="table cbi-section-table">
<div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell" style="text-align:left"><%:Uplink SSID%></div>
- <div class="th cbi-section-table-cell" style="text-align:left"><%:Uplink BSSID%></div>
- <div class="th cbi-section-table-cell" style="text-align:left"><%:Encryption%></div>
- <div class="th cbi-section-table-cell" style="text-align:left" colspan="2"><%:Signal strength%></div>
+ <div class="th left"><%:Uplink SSID%></div>
+ <div class="th left"><%:Uplink BSSID%></div>
+ <div class="th left"><%:Encryption%></div>
+ <div class="th left"><%:Signal strength%></div>
</div>
<% for i, net in ipairs(iw.scanlist or { }) do %>
<div class="tr cbi-section-table-row cbi-rowstyle-1">
- <div class="td cbi-value-field" style="text-align:left">
+ <div class="td left">
<%=net.ssid and utl.pcdata(net.ssid) or "<em>%s</em>" % translate("hidden")%>
</div>
- <div class="td cbi-value-field" style="text-align:left">
+ <div class="td left">
<%=net.bssid and utl.pcdata(net.bssid)%>
</div>
- <div class="td cbi-value-field" style="text-align:left">
+ <div class="td left">
<%=format_wifi_encryption(net.encryption)%>
</div>
- <div class="td cbi-value-field" style="text-align:left">
+ <div class="td left">
<%=percent_wifi_signal(net)%> %
</div>
- <div class="td cbi-value-field" style="width:100px;text-align:right">
+ <div class="td cbi-section-actions">
<form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/wifiadd')%>" method="post">
<input type="hidden" name="token" value="<%=token%>"/>
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
@@ -80,16 +82,16 @@ This is free software, licensed under the Apache License, Version 2.0
</div>
<% end %>
</div>
- </fieldset>
+ </div>
<div class="cbi-page-actions right">
+ <form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/stations')%>" method="get">
+ <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/>
+ </form>
<form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/wifiscan')%>" method="post">
<input type="hidden" name="token" value="<%=token%>"/>
<input type="hidden" name="device" value="<%=utl.pcdata(dev)%>"/>
<input class="cbi-button cbi-input-find" type="submit" value="<%:Repeat scan%>"/>
</form>
- <form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/stations')%>" method="post">
- <input class="cbi-button cbi-button-reset" type="submit" value="<%:Back to overview%>"/>
- </form>
</div>
</div>
diff --git a/applications/luci-app-upnp/luasrc/view/upnp_status.htm b/applications/luci-app-upnp/luasrc/view/upnp_status.htm
index 1e09225793..459c63c1d7 100644
--- a/applications/luci-app-upnp/luasrc/view/upnp_status.htm
+++ b/applications/luci-app-upnp/luasrc/view/upnp_status.htm
@@ -16,40 +16,39 @@
var tb = document.getElementById('upnp_status_table');
if (st && tb)
{
- /* clear all rows */
- while (tb.firstElementChild !== tb.lastElementChild)
- tb.removeChild(tb.lastElementChild);
+ var rows = [];
for (var i = 0; i < st.length; i++)
- tb.appendChild(E('<div class="tr cbi-section-table-row cbi-rowstyle-%d">'.format((i % 2) + 1), [
- E('<div class="td">', st[i].proto),
- E('<div class="td">', st[i].extport),
- E('<div class="td">', st[i].intaddr),
- E('<div class="td">', st[i].intport),
- E('<div class="td">', st[i].descr),
- E('<input class="cbi-button cbi-input-remove" type="button" value="<%:Delete%>" onclick="upnp_delete_fwd(%d)" />'.format(st[i].num))
- ]));
+ rows.push([
+ st[i].proto,
+ st[i].extport,
+ st[i].intaddr,
+ st[i].intport,
+ st[i].descr,
+ E('<input class="cbi-button cbi-button-remove" type="button" value="<%:Delete%>" onclick="upnp_delete_fwd(%d)" />'.format(st[i].num))
+ ]);
- if (tb.firstElementChild === tb.lastElementChild)
- tb.appendChild(E('<div class="tr cbi-section-table-row"><div class="td"><em><br /><%:There are no active redirects.%></em></div></div>'));
+ cbi_update_table(tb, rows, '<em><%:There are no active redirects.%></em>');
}
}
);
//]]></script>
-<fieldset class="cbi-section">
+<div class="cbi-section">
<legend><%:Active UPnP Redirects%></legend>
- <div class="table cbi-section-table" id="upnp_status_table">
- <div class="tr cbi-section-table-titles">
- <div class="th cbi-section-table-cell"><%:Protocol%></div>
- <div class="th cbi-section-table-cell"><%:External Port%></div>
- <div class="th cbi-section-table-cell"><%:Client Address%></div>
- <div class="th cbi-section-table-cell"><%:Client Port%></div>
- <div class="th cbi-section-table-cell"><%:Description%></div>
- <div class="th cbi-section-table-cell">&#160;</div>
- </div>
- <div class="tr cbi-section-table-row">
- <div class="td" colspan="5"><em><br /><%:Collecting data...%></em></div>
+ <div class="cbi-section-node">
+ <div class="table" id="upnp_status_table">
+ <div class="tr table-titles">
+ <div class="th"><%:Protocol%></div>
+ <div class="th"><%:External Port%></div>
+ <div class="th"><%:Client Address%></div>
+ <div class="th"><%:Client Port%></div>
+ <div class="th"><%:Description%></div>
+ <div class="th cbi-section-actions">&#160;</div>
+ </div>
+ <div class="tr">
+ <div class="td" colspan="5"><em><%:Collecting data...%></em></div>
+ </div>
</div>
</div>
-</fieldset>
+</div>
diff --git a/applications/luci-app-upnp/po/uk/upnp.po b/applications/luci-app-upnp/po/uk/upnp.po
index 8f43ae371a..2a7fe3bd45 100644
--- a/applications/luci-app-upnp/po/uk/upnp.po
+++ b/applications/luci-app-upnp/po/uk/upnp.po
@@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2013-05-26 19:26+0200\n"
+"PO-Revision-Date: 2018-06-17 23:15+0300\n"
"Last-Translator: Yurii <yuripet@gmail.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -10,13 +10,13 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Pootle 2.0.6\n"
+
msgid ""
"ACLs specify which external ports may be redirected to which internal "
"addresses and ports"
msgstr ""
-"Список кнтролю доступу визначає, які зовнішні порти можуть бути "
+"Список контролю доступу визначає, які зовнішні порти можуть бути "
"переспрямовані на які внутрішні адреси й порти"
msgid "Action"
@@ -29,7 +29,7 @@ msgid "Advanced Settings"
msgstr "Додаткові параметри"
msgid "Advertise as IGDv1 device instead of IGDv2"
-msgstr ""
+msgstr "Оголошувати як пристрій IGDv1 замість IGDv2"
msgid "Allow adding forwards only to requesting ip addresses"
msgstr ""
@@ -59,20 +59,20 @@ msgstr "Збирання даних..."
msgid "Comment"
msgstr "Коментар"
-msgid "Delete"
-msgstr ""
+msgid "Delete Redirect"
+msgstr "Видалити переспрямування"
msgid "Description"
-msgstr ""
+msgstr "Опис"
msgid "Device UUID"
msgstr "UUID пристрою"
msgid "Downlink"
-msgstr "Низхідний канал"
+msgstr "Низхідне з’єднання"
msgid "Enable IGDv1 mode"
-msgstr ""
+msgstr "Увімкнути режим IGDv1"
msgid "Enable NAT-PMP functionality"
msgstr "Увімкнути функцію NAT-PMP"
@@ -148,20 +148,7 @@ msgid "Universal Plug & Play"
msgstr "Universal Plug & Play"
msgid "Uplink"
-msgstr "Висхідний канал"
+msgstr "Висхідне з’єднання"
msgid "Value in KByte/s, informational only"
-msgstr "Значення (КБ/с) тільки для інформації"
-
-#~ msgid "Delete Redirect"
-#~ msgstr "Видалити переспрямування"
-
-#~ msgid ""
-#~ "UPNP allows clients in the local network to automatically configure the "
-#~ "router."
-#~ msgstr ""
-#~ "UPnP надає клієнтам у локальній мережі змогу автоматично настроювати "
-#~ "маршрутизатор."
-
-#~ msgid "enable"
-#~ msgstr "Увімкнути"
+msgstr "Значення (КБ/с), тільки для інформації"