summaryrefslogtreecommitdiffhomepage
path: root/applications
diff options
context:
space:
mode:
Diffstat (limited to 'applications')
-rw-r--r--applications/luci-app-adblock/po/zh-cn/adblock.po43
-rw-r--r--applications/luci-app-bcp38/luasrc/model/cbi/bcp38.lua16
-rwxr-xr-xapplications/luci-app-ddns/luasrc/controller/ddns.lua31
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/forward-details.lua13
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua11
-rw-r--r--applications/luci-app-firewall/luasrc/model/cbi/firewall/rule-details.lua35
-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.po30
-rw-r--r--applications/luci-app-firewall/po/cs/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/de/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/el/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/en/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/es/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/fr/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/he/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/hu/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/it/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/ja/firewall.po38
-rw-r--r--applications/luci-app-firewall/po/ko/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/ms/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/no/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/pl/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/pt-br/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/pt/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/ro/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/ru/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/sk/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/sv/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/templates/firewall.pot30
-rw-r--r--applications/luci-app-firewall/po/tr/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/uk/firewall.po196
-rw-r--r--applications/luci-app-firewall/po/vi/firewall.po30
-rw-r--r--applications/luci-app-firewall/po/zh-cn/firewall.po38
-rw-r--r--applications/luci-app-firewall/po/zh-tw/firewall.po30
-rw-r--r--applications/luci-app-lxc/luasrc/controller/lxc.lua51
-rw-r--r--applications/luci-app-lxc/luasrc/model/cbi/lxc.lua2
-rw-r--r--applications/luci-app-lxc/luasrc/view/lxc.htm20
-rw-r--r--applications/luci-app-mwan3/luasrc/controller/mwan3.lua6
-rw-r--r--applications/luci-app-mwan3/po/zh-cn/mwan3.po73
-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-transmission/root/etc/uci-defaults/40_luci-transmission2
-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-travelmate/po/ja/travelmate.po12
-rw-r--r--applications/luci-app-travelmate/po/pt-br/travelmate.po9
-rw-r--r--applications/luci-app-travelmate/po/ru/travelmate.po12
-rw-r--r--applications/luci-app-travelmate/po/templates/travelmate.pot9
-rw-r--r--applications/luci-app-upnp/luasrc/view/upnp_status.htm49
-rw-r--r--applications/luci-app-upnp/po/uk/upnp.po27
55 files changed, 1409 insertions, 552 deletions
diff --git a/applications/luci-app-adblock/po/zh-cn/adblock.po b/applications/luci-app-adblock/po/zh-cn/adblock.po
index de5c1cd6e2..408d04055c 100644
--- a/applications/luci-app-adblock/po/zh-cn/adblock.po
+++ b/applications/luci-app-adblock/po/zh-cn/adblock.po
@@ -16,7 +16,7 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
msgid "'Jail' Blocklist Creation"
-msgstr ""
+msgstr "“Jail” 拦截名单创建"
msgid "-------"
msgstr "-------"
@@ -25,6 +25,7 @@ msgid ""
"<b>Caution:</b> To prevent OOM exceptions on low memory devices with less "
"than 64 MB free RAM, please only select a few of them!"
msgstr ""
+"<b>注意:</b>为防止在小于 64M 空闲内存的设备上出现内存不足异常,请只选择其中的几个!"
msgid "Adblock"
msgstr "Adblock"
@@ -51,7 +52,7 @@ msgid "Backup Directory"
msgstr "备份目录"
msgid "Backup Mode"
-msgstr ""
+msgstr "备份模式"
msgid "Blocklist Sources"
msgstr "拦截列表来源"
@@ -82,6 +83,7 @@ msgid ""
"Create compressed blocklist backups, they will be used in case of download "
"errors or during startup in backup mode."
msgstr ""
+"创建压缩的拦截列表备份,它们将在下载错误或备份模式启动期间使用。"
msgid "DNS Backend (DNS Directory)"
msgstr "DNS 后端(DNS 目录)"
@@ -98,7 +100,7 @@ msgid ""
msgstr "启动期间不要自动更新 blocklists,改用 blocklists 的备份。"
msgid "Download Utility"
-msgstr ""
+msgstr "下载工具"
msgid "Download Utility (SSL Library)"
msgstr "下载实用程序(SSL 库)"
@@ -113,10 +115,10 @@ msgid "Edit Whitelist"
msgstr "编辑白名单"
msgid "Email Notification"
-msgstr ""
+msgstr "Email 提醒"
msgid "Email Notification Count"
-msgstr ""
+msgstr "Email 提醒计数"
msgid "Enable Adblock"
msgstr "启用 Adblock"
@@ -128,6 +130,7 @@ msgid ""
"Enable memory intense overall sort / duplicate removal on low memory devices "
"(&lt; 64 MB free RAM)"
msgstr ""
+"在低内存设备上启用积极的内存整体排序/重复移除(&lt; 64 MB 空闲内存)"
msgid "Enable verbose debug logging in case of any processing error."
msgstr "在出现任何处理错误的情况下启用详细调试日志记录。"
@@ -139,25 +142,29 @@ msgid "Extra Options"
msgstr "额外选项"
msgid "Flush DNS Cache"
-msgstr ""
+msgstr "清空 DNS 缓存"
msgid "Flush DNS Cache after adblock processing."
-msgstr ""
+msgstr "在 adblock 进程启动后清空 DNS 缓存。"
msgid ""
"For SSL protected blocklist sources you need a suitable SSL library, e.g. "
"'libustream-ssl' or 'built-in'."
msgstr ""
+"对受 SSL 保护的拦截列表源,您需要一个合适的 SSL 库,如 “libustream-ssl” 或 "
+"“built-in”。"
msgid ""
"For further information <a href=\"%s\" target=\"_blank\">check the online "
"documentation</a>"
msgstr ""
+"进一步信息<a href=\"%s\" target=\"_blank\">请访问在线文档"
msgid ""
"For further performance improvements you can raise this value, e.g. '8' or "
"'16' should be safe."
msgstr ""
+"为了进一步提高性能,您可以提高此值,例如:8 或 16 应该是安全的。"
msgid "Force Local DNS"
msgstr "强制本地 DNS"
@@ -166,7 +173,7 @@ msgid "Force Overall Sort"
msgstr "强制整体排序"
msgid "Full path to the whitelist file."
-msgstr ""
+msgstr "白名单文件的全路径。"
msgid "Input file not found, please check your configuration."
msgstr "输入文件未找到,请检查您的配置。"
@@ -178,6 +185,7 @@ msgid ""
"List of available network interfaces. Usually the startup will be triggered "
"by the 'wan' interface.<br />"
msgstr ""
+"可用网络接口列表。通常启动将由 “wan” 接口触发。<br />"
msgid ""
"List of supported DNS backends with their default list export directory.<br /"
@@ -185,13 +193,13 @@ msgid ""
msgstr "支持的 DNS 后端列表及其默认列表导出目录。<br />"
msgid "List of supported and fully pre-configured download utilities."
-msgstr ""
+msgstr "支持和完全预配置的下载工具列表。"
msgid "Loading"
msgstr "加载中"
msgid "Max. Download Queue"
-msgstr ""
+msgstr "最大下载队列"
msgid "No"
msgstr "否"
@@ -201,7 +209,7 @@ msgid ""
msgstr "在默认设置并不适合您时的额外选项。"
msgid "Overall Domains"
-msgstr ""
+msgstr "域名总览"
msgid "Overview"
msgstr "总览"
@@ -219,6 +227,7 @@ msgstr "请在终端会话中直接编辑此文件。"
msgid ""
"Please note: this needs additional 'msmtp' package installation and setup."
msgstr ""
+"请注意:这需要额外的 “msmtp” 软件包安装和设置。"
msgid "Query"
msgstr "查询"
@@ -230,6 +239,7 @@ msgid ""
"Raise the minimum email notification count, to get emails if the overall "
"count is less or equal to the given limit (default 0),<br />"
msgstr ""
+"如果总数小于或等于给定限制(默认为 0),请提高最小电子邮件通知数,以获取电子邮件。"
msgid "Redirect all DNS queries from 'lan' zone to the local resolver."
msgstr "将所有 DNS 查询从“lan”区域重定向到本地解析器。"
@@ -250,11 +260,13 @@ msgid ""
"Send notification emails in case of a processing error or if domain count is "
"&le; 0.<br />"
msgstr ""
+"如果发生错误或域计数 &le; 0,发送通知电子邮件。<br />"
msgid ""
"Size of the download queue to handle downloads &amp; list processing in "
"parallel (default '4').<br />"
msgstr ""
+"处理下载队列的大小 &amp; 并行处理列表(默认 “4”)。<br />"
msgid "Startup Trigger"
msgstr "启动触发器"
@@ -269,12 +281,14 @@ msgid ""
"Target directory for adblock backups. Please use only non-volatile disks, e."
"g. an external usb stick."
msgstr ""
+"adblock 备份的目标目录。 请仅使用非易失性磁盘,例如:一个外置 U 盘。"
msgid "Target directory for the generated blocklist 'adb_list.overall'."
msgstr "生成的 blocklist 'adb_list.overall'的目标目录。"
msgid "The file size is too large for online editing in LuCI (&ge; 100 KB)."
msgstr ""
+"文件过大,无法使用 LuCI 的在线编辑(&ge; 100 KB)。"
msgid ""
"This form allows you to modify the content of the adblock blacklist (%s)."
@@ -319,7 +333,7 @@ msgid "Waiting for command to complete..."
msgstr "正在执行命令..."
msgid "Whitelist File"
-msgstr ""
+msgstr "白名单文件"
msgid "Yes"
msgstr "是"
@@ -328,6 +342,7 @@ msgid ""
"You can use this restrictive blocklist manually e.g. for guest wifi or "
"kidsafe configurations."
msgstr ""
+"您可以手动使用此限制性拦截列表,例如:为客人提供 wifi 或 kidsafe 配置。"
msgid "disabled"
msgstr "已禁用"
@@ -335,7 +350,7 @@ msgstr "已禁用"
msgid ""
"e.g. to receive an email notification with every adblock update set this "
"value to 150000."
-msgstr ""
+msgstr "例如:要接收每个 adblock 更新的电子邮件通知时将此值设置为150000。"
msgid "enabled"
msgstr "已启用"
@@ -350,7 +365,7 @@ msgid "paused"
msgstr "已暂停"
msgid "running"
-msgstr ""
+msgstr "运行中"
#~ msgid "Invalid domain specified!"
#~ msgstr "无效域名!"
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-ddns/luasrc/controller/ddns.lua b/applications/luci-app-ddns/luasrc/controller/ddns.lua
index bfd7a2a414..e152bb0d98 100755
--- a/applications/luci-app-ddns/luasrc/controller/ddns.lua
+++ b/applications/luci-app-ddns/luasrc/controller/ddns.lua
@@ -83,12 +83,12 @@ function app_title_main()
tmp[#tmp+1] = [[<a href="javascript:alert(']]
tmp[#tmp+1] = I18N.translate("Version Information")
tmp[#tmp+1] = [[\n\n]] .. app_name
- tmp[#tmp+1] = [[\n\t]] .. I18N.translate("Version") .. [[:\t]] .. app_version
+ tmp[#tmp+1] = [[\n]] .. I18N.translate("Version") .. [[: ]] .. app_version
tmp[#tmp+1] = [[\n\n]] .. srv_name .. [[ ]] .. I18N.translate("required") .. [[:]]
- tmp[#tmp+1] = [[\n\t]] .. I18N.translate("Version") .. [[:\t]]
+ tmp[#tmp+1] = [[\n]] .. I18N.translate("Version") .. [[: ]]
tmp[#tmp+1] = srv_ver_min .. [[ ]] .. I18N.translate("or higher")
tmp[#tmp+1] = [[\n\n]] .. srv_name .. [[ ]] .. I18N.translate("installed") .. [[:]]
- tmp[#tmp+1] = [[\n\t]] .. I18N.translate("Version") .. [[:\t]]
+ tmp[#tmp+1] = [[\n]] .. I18N.translate("Version") .. [[: ]]
tmp[#tmp+1] = (service_version() or I18N.translate("NOT installed"))
tmp[#tmp+1] = [[\n\n]]
tmp[#tmp+1] = [[')">]]
@@ -97,29 +97,20 @@ function app_title_main()
return table.concat(tmp)
end
-function service_version()
-
- local nxfs = require "nixio.fs"
- local ver = nil
- local ver_helper
+function service_version()
- if nxfs.access("/bin/opkg") then
- ver_helper = "/bin/opkg info " .. srv_name .. " | grep 'Version'"
+ local srv_ver_cmd = luci_helper .. " -V | awk {'print $2'} "
+ local ver
+
+ if IPKG then
+ ver = IPKG.info(srv_name)[srv_name].Version
else
- ver_helper = luci_helper .. " -V"
+ ver = UTIL.exec(srv_ver_cmd)
end
- local srv_ver_cmd = ver_helper .. " | awk {'print $2'} "
+ if ver and #ver > 0 then return ver or nil end
- ver = UTIL.exec(srv_ver_cmd)
- if ver and #ver > 0 then return ver end
-
- IPKG.list_installed(srv_name, function(n, v, d)
- if v and (#v > 0) then ver = v end
- end
- )
- return ver
end
function service_ok()
diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/forward-details.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/forward-details.lua
index 39895c6f0d..d51f8fb79b 100644
--- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/forward-details.lua
+++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/forward-details.lua
@@ -89,6 +89,10 @@ o.rmempty = true
o.datatype = "neg(portrange)"
o.placeholder = translate("any")
+o:depends("proto", "tcp")
+o:depends("proto", "udp")
+o:depends("proto", "tcp udp")
+o:depends("proto", "tcpudp")
o = s:option(Value, "src_dip",
translate("External IP address"),
@@ -109,7 +113,10 @@ o = s:option(Value, "src_dport", translate("External port"),
"destination port or port range on this host"))
o.datatype = "neg(portrange)"
-
+o:depends("proto", "tcp")
+o:depends("proto", "udp")
+o:depends("proto", "tcp udp")
+o:depends("proto", "tcpudp")
o = s:option(Value, "dest", translate("Internal zone"))
o.nocreate = true
@@ -134,6 +141,10 @@ o = s:option(Value, "dest_port",
o.placeholder = translate("any")
o.datatype = "portrange"
+o:depends("proto", "tcp")
+o:depends("proto", "udp")
+o:depends("proto", "tcp udp")
+o:depends("proto", "tcpudp")
o = s:option(Flag, "reflection", translate("Enable NAT Loopback"))
o.rmempty = true
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 e61ce73cdd..5d1ffe0913 100644
--- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua
+++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/forwards.lua
@@ -54,7 +54,7 @@ function s.parse(self, ...)
if created then
m.uci:save("firewall")
luci.http.redirect(ds.build_url(
- "admin/network/firewall/redirect", created
+ "admin/network/firewall/forwards", created
))
end
end
@@ -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 fffa64dad7..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
@@ -115,6 +115,10 @@ elseif rule_type == "redirect" then
o.datatype = "neg(portrange)"
o.placeholder = translate("any")
+ o:depends("proto", "tcp")
+ o:depends("proto", "udp")
+ o:depends("proto", "tcp udp")
+ o:depends("proto", "tcpudp")
o = s:option(Value, "dest", translate("Destination zone"))
o.nocreate = true
@@ -139,6 +143,10 @@ elseif rule_type == "redirect" then
o.placeholder = translate("any")
o.datatype = "neg(portrange)"
+ o:depends("proto", "tcp")
+ o:depends("proto", "udp")
+ o:depends("proto", "tcp udp")
+ o:depends("proto", "tcpudp")
o = s:option(Value, "src_dip",
translate("SNAT IP address"),
@@ -163,6 +171,10 @@ elseif rule_type == "redirect" then
o.rmempty = true
o.placeholder = translate('Do not rewrite')
+ o:depends("proto", "tcp")
+ o:depends("proto", "udp")
+ o:depends("proto", "tcp udp")
+ o:depends("proto", "tcpudp")
s:option(Value, "extra",
translate("Extra arguments"),
@@ -212,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")
@@ -251,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
@@ -269,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)
@@ -281,11 +301,14 @@ else
o.datatype = "list(neg(portrange))"
o.placeholder = translate("any")
+ o:depends("proto", "tcp")
+ o:depends("proto", "udp")
+ o:depends("proto", "tcp udp")
+ o:depends("proto", "tcpudp")
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", "")
@@ -300,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)
@@ -312,6 +335,10 @@ else
o.datatype = "list(neg(portrange))"
o.placeholder = translate("any")
+ o:depends("proto", "tcp")
+ o:depends("proto", "udp")
+ o:depends("proto", "tcp udp")
+ o:depends("proto", "tcpudp")
o = s:option(ListValue, "target", translate("Action"))
o.default = "ACCEPT"
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..e1e553abba 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 ""
@@ -534,6 +555,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Via %s"
diff --git a/applications/luci-app-firewall/po/cs/firewall.po b/applications/luci-app-firewall/po/cs/firewall.po
index 3ecd433a7d..727e40d5be 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 ""
@@ -529,6 +550,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Prostřednictvím %s"
diff --git a/applications/luci-app-firewall/po/de/firewall.po b/applications/luci-app-firewall/po/de/firewall.po
index e39d4f8566..9b6d2a01aa 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 ""
@@ -533,6 +554,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Über %s"
diff --git a/applications/luci-app-firewall/po/el/firewall.po b/applications/luci-app-firewall/po/el/firewall.po
index 783fcd462c..00b61d857d 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 ""
@@ -501,6 +522,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/en/firewall.po b/applications/luci-app-firewall/po/en/firewall.po
index 9d9166d68f..0de68d5c03 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 ""
@@ -528,6 +549,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/es/firewall.po b/applications/luci-app-firewall/po/es/firewall.po
index e96fecad99..fbb63ed330 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 ""
@@ -532,6 +553,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Vía %s"
diff --git a/applications/luci-app-firewall/po/fr/firewall.po b/applications/luci-app-firewall/po/fr/firewall.po
index 4a34064868..644f5c3b6b 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 ""
@@ -554,6 +575,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/he/firewall.po b/applications/luci-app-firewall/po/he/firewall.po
index 5511e8ab10..55b15b2c37 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 ""
@@ -486,6 +507,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/hu/firewall.po b/applications/luci-app-firewall/po/hu/firewall.po
index 30c242913d..6abda1e27d 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 ""
@@ -536,6 +557,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "%s-en át"
diff --git a/applications/luci-app-firewall/po/it/firewall.po b/applications/luci-app-firewall/po/it/firewall.po
index e26c504b95..ca7faa7f26 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 ""
@@ -552,6 +573,15 @@ msgstr ""
msgid "Tuesday"
msgstr "Martedì"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ja/firewall.po b/applications/luci-app-firewall/po/ja/firewall.po
index d4cf84c956..6cc4714113 100644
--- a/applications/luci-app-firewall/po/ja/firewall.po
+++ b/applications/luci-app-firewall/po/ja/firewall.po
@@ -3,7 +3,7 @@ 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-30 23:19+0900\n"
"Last-Translator: INAGAKI Hiroshi <musashino.open@gmail.com>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
@@ -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 のみにおいて実装されています。"
@@ -569,6 +590,15 @@ msgstr ""
msgid "Tuesday"
msgstr "火曜日"
+msgid "Unnamed SNAT"
+msgstr "名称未設定の SNAT"
+
+msgid "Unnamed forward"
+msgstr "名称未設定の転送"
+
+msgid "Unnamed rule"
+msgstr "名称未設定のルール"
+
msgid "Via %s"
msgstr "経由 %s"
diff --git a/applications/luci-app-firewall/po/ko/firewall.po b/applications/luci-app-firewall/po/ko/firewall.po
index 5c3d02c1e2..6b07c69dbd 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 ""
@@ -520,6 +541,15 @@ msgstr ""
msgid "Tuesday"
msgstr "화요일"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ms/firewall.po b/applications/luci-app-firewall/po/ms/firewall.po
index 9688622ba4..42bc606a0b 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 ""
@@ -485,6 +506,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/no/firewall.po b/applications/luci-app-firewall/po/no/firewall.po
index d59fec3646..0b9fdc6082 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 ""
@@ -530,6 +551,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Via %s"
diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po
index 7c087ef02b..5881f1519a 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 ""
@@ -543,6 +564,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Przez %s"
diff --git a/applications/luci-app-firewall/po/pt-br/firewall.po b/applications/luci-app-firewall/po/pt-br/firewall.po
index bfcdd54d9b..116bf6a633 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 ""
@@ -533,6 +554,15 @@ msgstr ""
msgid "Tuesday"
msgstr "Terça-feira"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Via %s"
diff --git a/applications/luci-app-firewall/po/pt/firewall.po b/applications/luci-app-firewall/po/pt/firewall.po
index 2536b7a369..901fd6a847 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 ""
@@ -518,6 +539,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Via %s"
diff --git a/applications/luci-app-firewall/po/ro/firewall.po b/applications/luci-app-firewall/po/ro/firewall.po
index dbae338229..7f82271375 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 ""
@@ -490,6 +511,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/ru/firewall.po b/applications/luci-app-firewall/po/ru/firewall.po
index a441c5a709..79c0f0b9a6 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 ""
@@ -540,6 +561,15 @@ msgstr ""
msgid "Tuesday"
msgstr "Вторник"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Через %s"
diff --git a/applications/luci-app-firewall/po/sk/firewall.po b/applications/luci-app-firewall/po/sk/firewall.po
index c6952faa35..8f936d2bed 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 ""
@@ -486,6 +507,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/sv/firewall.po b/applications/luci-app-firewall/po/sv/firewall.po
index 0301c25b5a..efe29ac4b7 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 ""
@@ -492,6 +513,15 @@ msgstr ""
msgid "Tuesday"
msgstr "Tisdag"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "Via %s"
diff --git a/applications/luci-app-firewall/po/templates/firewall.pot b/applications/luci-app-firewall/po/templates/firewall.pot
index d2691cc44a..f761c5e69a 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 ""
@@ -479,6 +500,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/tr/firewall.po b/applications/luci-app-firewall/po/tr/firewall.po
index 9c5adb1cd2..9e497330f9 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 ""
@@ -486,6 +507,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/uk/firewall.po b/applications/luci-app-firewall/po/uk/firewall.po
index 55c3ae8702..0ed90d9fcb 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: 2012-12-29 12:53+0200\n"
+"PO-Revision-Date: 2018-07-01 23:45+0300\n"
"Last-Translator: Yurii <yuripet@gmail.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@@ -10,7 +10,6 @@ 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 "%s in %s"
msgstr "%s у %s"
@@ -22,13 +21,13 @@ msgid "%s, %s in %s"
msgstr "%s, %s у %s"
msgid "(Unnamed Entry)"
-msgstr "(Запис без імені)"
+msgstr "(Запис без назви)"
msgid "(Unnamed Rule)"
-msgstr "(Правило без імені)"
+msgstr "(Правило без назви)"
msgid "(Unnamed SNAT)"
-msgstr "(SNAT без імені)"
+msgstr "(SNAT без назви)"
msgid "<var>%d</var> pkts. per <var>%s</var>"
msgstr "<var>%d</var> пакетів за <var>%s</var>"
@@ -40,10 +39,13 @@ msgid "<var>%s</var> and limit to %s"
msgstr "<var>%s</var> з лімітом %s"
msgid "Accept forward"
-msgstr ""
+msgstr "Приймати переспрямовування"
msgid "Accept input"
-msgstr ""
+msgstr "Приймати вхідний"
+
+msgid "Accept output"
+msgstr "Приймати вихідний"
msgid "Action"
msgstr "Дія"
@@ -58,10 +60,10 @@ 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>:"
+msgstr "Дозволити переспрямовування до <em>зон призначення</em>:"
msgid "Any"
msgstr "Будь-який"
@@ -95,22 +97,28 @@ msgid "Destination zone"
msgstr "Зона призначення"
msgid "Disable"
-msgstr ""
+msgstr "Вимкнути"
msgid "Discard forward"
-msgstr ""
+msgstr "Відкидати переспрямовування"
msgid "Discard input"
-msgstr ""
+msgstr "Відкидати вхідний"
+
+msgid "Discard output"
+msgstr "Відкидати вихідний"
msgid "Do not rewrite"
msgstr "Не перезаписувати"
msgid "Do not track forward"
-msgstr ""
+msgstr "Не відслідковувати переспрямовування"
msgid "Do not track input"
-msgstr ""
+msgstr "Не відслідковувати вхідний"
+
+msgid "Do not track output"
+msgstr "Не відслідковувати вихідний"
msgid "Drop invalid packets"
msgstr "Відкидати помилкові пакети"
@@ -128,7 +136,7 @@ msgid "Enable logging on this zone"
msgstr "Увімкнути реєстрування у цій зоні"
msgid "Experimental feature. Not fully compatible with QoS/SQM."
-msgstr ""
+msgstr "Експериментальна функція. Не повністю сумісно з QoS / SQM."
msgid "External IP address"
msgstr "Зовнішня IP-адреса"
@@ -149,7 +157,7 @@ msgid "Firewall - Custom Rules"
msgstr "Брандмауер — Настроювані правила"
msgid "Firewall - Port Forwards"
-msgstr "Брандмауер — Спрямовування портів"
+msgstr "Брандмауер — Переспрямовування портів"
msgid "Firewall - Traffic Rules"
msgstr "Брандмауер — Правила трафіка"
@@ -161,37 +169,46 @@ msgid "Force connection tracking"
msgstr "Увімкнути відстеження з'єднань"
msgid "Forward"
-msgstr "Спрямовування"
+msgstr "Переспрямовування"
msgid "Forward to"
-msgstr "спрямовування до"
+msgstr "переспрямовування до"
msgid "Friday"
-msgstr ""
+msgstr "П'ятниця"
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 "Загальні настройки"
msgid "Hardware flow offloading"
-msgstr ""
+msgstr "Апаратні засоби розвантаження потоку"
msgid "IP"
-msgstr ""
+msgstr "IP-адреса"
msgid "IP range"
-msgstr ""
+msgstr "Діапазон IP"
msgid "IPs"
-msgstr ""
+msgstr "IP-адреси"
msgid "IPv4"
msgstr "IPv4"
@@ -212,7 +229,7 @@ msgid "Input"
msgstr "Вхідний"
msgid "Inter-Zone Forwarding"
-msgstr "Спрямовування крізь зони"
+msgstr "Переспрямовування між зонами"
msgid "Internal IP address"
msgstr "Внутрішня IP-адреса"
@@ -227,10 +244,10 @@ msgid "Limit log messages"
msgstr "Обмеження повідомлень журналу"
msgid "MAC"
-msgstr ""
+msgstr "MAC-адреса"
msgid "MACs"
-msgstr ""
+msgstr "MAC-адреси"
msgid "MSS clamping"
msgstr "Затискання MSS"
@@ -246,8 +263,8 @@ msgstr "Зіставляти ICMP типу"
msgid "Match forwarded traffic to the given destination port or port range."
msgstr ""
-"Зіставляти трафік, що спрямовується на заданий порт призначення або діапазон "
-"портів."
+"Зіставляти трафік, що переспрямовується на заданий порт призначення або "
+"діапазон портів."
msgid ""
"Match incoming traffic directed at the given destination port or port range "
@@ -264,10 +281,10 @@ msgstr ""
"діапазоні портів вузла клієнта."
msgid "Monday"
-msgstr ""
+msgstr "Понеділок"
msgid "Month Days"
-msgstr ""
+msgstr "Дні місяця"
msgid "Name"
msgstr "Ім'я"
@@ -276,13 +293,13 @@ msgid "New SNAT rule"
msgstr "Нове правило SNAT"
msgid "New forward rule"
-msgstr "Нове правило спрямовування"
+msgstr "Нове правило переспрямовування"
msgid "New input rule"
msgstr "Нове вхідне правило"
msgid "New port forward"
-msgstr "Нове спрямовування порту"
+msgstr "Нове переспрямовування порту"
msgid "New source NAT"
msgstr "Новий NAT джерела"
@@ -313,20 +330,20 @@ msgid "Output"
msgstr "Вихідний"
msgid "Output zone"
-msgstr ""
+msgstr "Вихідна зона"
msgid "Passes additional arguments to iptables. Use with care!"
msgstr ""
"Передача додаткових аргументів для IPTables. Використовуйте з обережністю!"
msgid "Port Forwards"
-msgstr "Спрямовування портів"
+msgstr "Переспрямовування портів"
msgid ""
"Port forwarding allows remote computers on the Internet to connect to a "
"specific computer or service within the private LAN."
msgstr ""
-"Спрямовування портів дозволяє віддаленим комп'ютерам з Інтернету "
+"Переспрямовування портів дозволяє віддаленим комп'ютерам з Інтернету "
"підключатися до певного комп'ютера або служби у приватній мережі."
msgid "Protocol"
@@ -341,22 +358,25 @@ msgid "Redirect matched incoming traffic to the specified internal host"
msgstr "Переспрямувати відповідний вхідний трафік на заданий внутрішній вузол"
msgid "Refuse forward"
-msgstr ""
+msgstr "Відхиляти переспрямовування"
msgid "Refuse input"
-msgstr ""
+msgstr "Відхиляти вхідний"
+
+msgid "Refuse output"
+msgstr "Відхиляти вихідний"
msgid "Requires hardware NAT support. Implemented at least for mt7621"
-msgstr ""
+msgstr "Необхідна апаратна підтримка NAT. Впроваджено принаймні для mt7621"
msgid "Restart Firewall"
-msgstr ""
+msgstr "Перезавантажити брандмауер"
msgid "Restrict Masquerading to given destination subnets"
msgstr "Обмежити підміну заданими підмережами призначення"
msgid "Restrict Masquerading to given source subnets"
-msgstr "Обмежити підміну заданими вихідними підмережами"
+msgstr "Обмежити підміну заданими підмережами джерела"
msgid "Restrict to address family"
msgstr "Обмежити сімейство протоколів"
@@ -372,19 +392,19 @@ 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 ""
+msgstr "Розвантаження маршрутизації/NAT"
msgid "Rule is disabled"
-msgstr ""
+msgstr "Правило вимкнено"
msgid "Rule is enabled"
-msgstr ""
+msgstr "Правило ввімкнено"
msgid "SNAT IP address"
msgstr "IP-адреса SNAT"
@@ -393,13 +413,13 @@ msgid "SNAT port"
msgstr "Порт SNAT"
msgid "Saturday"
-msgstr ""
+msgstr "Субота"
msgid "Software based offloading for routing/NAT"
-msgstr ""
+msgstr "Програмне розвантаження для маршрутизації/NAT"
msgid "Software flow offloading"
-msgstr ""
+msgstr "Програмне розвантаження потоку"
msgid "Source IP address"
msgstr "IP-адреса джерела"
@@ -426,22 +446,22 @@ msgid "Source port"
msgstr "Порт джерела"
msgid "Source zone"
-msgstr "Зона-джерело"
+msgstr "Зона джерела"
msgid "Start Date (yyyy-mm-dd)"
-msgstr ""
+msgstr "Дата початку (рррр-мм-дд)"
msgid "Start Time (hh:mm:ss)"
-msgstr ""
+msgstr "Час початку (гг:хх:сс)"
msgid "Stop Date (yyyy-mm-dd)"
-msgstr ""
+msgstr "Дата зупинки (рррр-мм-дд)"
msgid "Stop Time (hh:mm:ss)"
-msgstr ""
+msgstr "Час зупинки (гг:хх:сс)"
msgid "Sunday"
-msgstr ""
+msgstr "Неділя"
msgid ""
"The firewall creates zones over your network interfaces to control network "
@@ -458,19 +478,21 @@ 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> покриваються трафіком "
-"з інших зон, <strong>спрямованим на %q</strong>. Правила спрямування є "
-"<em>односпрямованим</em>, тобто, спрямування від LAN до WAN <em>не</em> "
-"означає, що є також дозвіл спрямовувати від WAN в LAN."
+"Опції, наведені нижче, керують політиками переспрямовування між цією (%s) та "
+"іншими зонами. <em>Зони призначення</em> покриваються переспрямованим "
+"трафіком, що <strong>виходить з %q</strong>. <em>Зони джерела</em> "
+"покриваються трафіком з інших зон, <strong>переспрямованим на %q</strong>. "
+"Правило переспрямовування є <em>односпрямованим</em>, тобто, спрямовування "
+"від LAN до WAN <em>не</em> означає, що є також дозвіл спрямовувати від 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 "
@@ -479,7 +501,6 @@ msgstr ""
"На цій сторінці можна змінити додаткові властивості елемента правил трафіка, "
"таких як відповідні параметри джерела та вузлів призначення."
-#, fuzzy
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 "
@@ -489,15 +510,15 @@ msgid ""
msgstr ""
"Цей розділ визначає загальні властивості %q. Параметри <em>вхідний</em> і "
"<em>вихідний</em> задають типову політику для трафіку на вході й виході з "
-"цієї зони, а параметр \"спрямовування\" описує політику спрямовування "
-"трафіку між різними мережами в межах зони. Пункт <em>вкриті мережі</em> "
+"цієї зони, а параметр \"переспрямовування\" описує політику спрямовування "
+"трафіку між різними мережами в межах зони. Пункт <em>Покриті мережі</em> "
"визначає, які доступні мережі є членами цієї зони."
msgid "Thursday"
-msgstr ""
+msgstr "Четвер"
msgid "Time in UTC"
-msgstr ""
+msgstr "Час в UTC"
msgid "To %s at %s on <var>this device</var>"
msgstr "%s на %s <var>цього пристрою</var>"
@@ -530,7 +551,16 @@ msgstr ""
"порти WAN на маршрутизаторі."
msgid "Tuesday"
-msgstr ""
+msgstr "Вівторок"
+
+msgid "Unnamed SNAT"
+msgstr "SNAT без назви"
+
+msgid "Unnamed forward"
+msgstr "Переспрямовування без назви"
+
+msgid "Unnamed rule"
+msgstr "Правило без назви"
msgid "Via %s"
msgstr "Через %s"
@@ -539,10 +569,10 @@ msgid "Via %s at %s"
msgstr "Через %s на %s"
msgid "Wednesday"
-msgstr ""
+msgstr "Середа"
msgid "Week Days"
-msgstr ""
+msgstr "Дні тижня"
msgid ""
"You may specify multiple by selecting \"-- custom --\" and then entering "
@@ -555,7 +585,7 @@ msgid "Zone %q"
msgstr "Зона %q"
msgid "Zone ⇒ Forwardings"
-msgstr "Зона ⇒ Спрямовування"
+msgstr "Зона ⇒ Переспрямовування"
msgid "Zones"
msgstr "Зони"
@@ -576,7 +606,7 @@ msgid "any zone"
msgstr "будь-якій зоні"
msgid "day"
-msgstr ""
+msgstr "день"
msgid "don't track"
msgstr "не відстеж."
@@ -585,31 +615,31 @@ msgid "drop"
msgstr "опускати"
msgid "hour"
-msgstr ""
+msgstr "година"
msgid "minute"
-msgstr ""
+msgstr "хвилина"
msgid "not"
-msgstr ""
+msgstr "не"
msgid "port"
-msgstr ""
+msgstr "порт"
msgid "ports"
-msgstr ""
+msgstr "порти"
msgid "reject"
msgstr "відкидати"
msgid "second"
-msgstr ""
+msgstr "секунда"
msgid "traffic"
-msgstr ""
+msgstr "трафік"
msgid "type"
-msgstr ""
+msgstr "типом"
msgid "types"
-msgstr ""
+msgstr "типами"
diff --git a/applications/luci-app-firewall/po/vi/firewall.po b/applications/luci-app-firewall/po/vi/firewall.po
index 0eba33f760..5a28e35c8f 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 ""
@@ -501,6 +522,15 @@ msgstr ""
msgid "Tuesday"
msgstr ""
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr ""
diff --git a/applications/luci-app-firewall/po/zh-cn/firewall.po b/applications/luci-app-firewall/po/zh-cn/firewall.po
index df730a223e..bd3ad4e80d 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,11 +184,20 @@ 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 "基本设置"
msgid "Hardware flow offloading"
-msgstr "硬件流量卸载"
+msgstr "硬件流量分载"
msgid "IP"
msgstr "IP"
@@ -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 已实现"
@@ -362,7 +383,7 @@ msgid "Rewrite to source %s, %s"
msgstr "源地址改写成 %s, %s"
msgid "Routing/NAT Offloading"
-msgstr "Routing/NAT 卸载"
+msgstr "Routing/NAT 分载"
msgid "Rule is disabled"
msgstr "规则已禁用"
@@ -380,10 +401,10 @@ msgid "Saturday"
msgstr "星期六"
msgid "Software based offloading for routing/NAT"
-msgstr "基于软件的 Routing/NAT 卸载"
+msgstr "基于软件的 Routing/NAT 分载"
msgid "Software flow offloading"
-msgstr "软件流量卸载"
+msgstr "软件流量分载"
msgid "Source IP address"
msgstr "源 IP 地址"
@@ -503,6 +524,15 @@ msgstr ""
msgid "Tuesday"
msgstr "星期二"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "通过 %s"
diff --git a/applications/luci-app-firewall/po/zh-tw/firewall.po b/applications/luci-app-firewall/po/zh-tw/firewall.po
index 93af452d05..ea7901ae8c 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 ""
@@ -502,6 +523,15 @@ msgstr ""
msgid "Tuesday"
msgstr "星期二"
+msgid "Unnamed SNAT"
+msgstr ""
+
+msgid "Unnamed forward"
+msgstr ""
+
+msgid "Unnamed rule"
+msgstr ""
+
msgid "Via %s"
msgstr "通過 %s"
diff --git a/applications/luci-app-lxc/luasrc/controller/lxc.lua b/applications/luci-app-lxc/luasrc/controller/lxc.lua
index 8557f2b821..4a7f96e5ff 100644
--- a/applications/luci-app-lxc/luasrc/controller/lxc.lua
+++ b/applications/luci-app-lxc/luasrc/controller/lxc.lua
@@ -19,6 +19,7 @@ module("luci.controller.lxc", package.seeall)
local uci = require "luci.model.uci".cursor()
local util = require "luci.util"
local nx = require "nixio"
+local url = util.shellquote(uci:get("lxc", "lxc", "url"))
function index()
if not nixio.fs.access("/etc/config/lxc") then
@@ -38,12 +39,12 @@ function index()
end
function lxc_get_downloadable()
- local target = lxc_get_arch_target()
- local templates = {}
+ local target = lxc_get_arch_target(url)
local ssl_status = lxc_get_ssl_status()
+ local templates = {}
local f = io.popen('sh /usr/share/lxc/templates/lxc-download --list %s --server %s 2>/dev/null'
- %{ ssl_status, util.shellquote(uci:get("lxc", "lxc", "url")) }, 'r')
+ %{ ssl_status, url }, 'r')
local line
for line in f:lines() do
local dist, version, dist_target = line:match("^(%S+)%s+(%S+)%s+(%S+)%s+default%s+%S+$")
@@ -59,31 +60,21 @@ end
function lxc_create(lxc_name, lxc_template)
luci.http.prepare_content("text/plain")
-
local path = lxc_get_config_path()
if not path then
return
end
local ssl_status = lxc_get_ssl_status()
-
- local src_err
local lxc_dist, lxc_release = lxc_template:match("^(.+):(.+)$")
- luci.http.write(util.ubus("lxc", "create", {
- name = lxc_name,
- template = "download",
- args = {
- "--server", uci:get("lxc", "lxc", "url"),
- "--dist", lxc_dist,
- "--release", lxc_release,
- "--arch", lxc_get_arch_target(),
- ssl_status
- }
- }), src_err)
+ luci.sys.call('/usr/bin/lxc-create --quiet --name %s --bdev best --template download -- --dist %s --release %s --arch %s --server %s %s'
+ %{ lxc_name, lxc_dist, lxc_release, lxc_get_arch_target(url), url, ssl_status })
while (nx.fs.access(path .. lxc_name .. "/partial")) do
nx.nanosleep(1)
end
+
+ luci.http.write("0")
end
function lxc_action(lxc_action, lxc_name)
@@ -153,19 +144,21 @@ function lxc_configuration_set(lxc_name)
luci.http.write("0")
end
-function lxc_get_arch_target()
+function lxc_get_arch_target(url)
local target = nx.uname().machine
- local target_map = {
- armv5 = "armel",
- armv6 = "armel",
- armv7 = "armhf",
- armv8 = "arm64",
- x86_64 = "amd64"
- }
- local k, v
- for k, v in pairs(target_map) do
- if target:find("^" ..k.. "$") then
- return v
+ if url and url:match("images.linuxcontainers.org") then
+ local target_map = {
+ armv5 = "armel",
+ armv6 = "armel",
+ armv7 = "armhf",
+ armv8 = "arm64",
+ x86_64 = "amd64"
+ }
+ local k, v
+ for k, v in pairs(target_map) do
+ if target:find(k) then
+ return v
+ end
end
end
return target
diff --git a/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua b/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua
index 8a8fc2be0d..db7d19eb26 100644
--- a/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua
+++ b/applications/luci-app-lxc/luasrc/model/cbi/lxc.lua
@@ -16,7 +16,7 @@ Author: Petar Koretic <petar.koretic@sartura.hr>
m = Map("lxc", translate("LXC Containers"),
translate("<b>Please note:</b> For LXC Containers you need a custom OpenWrt image.<br />")
- .. translate("The image should include at least support for 'kernel cgroups', 'kernel namespaces' and 'miscellaneous LXC related options'."))
+ .. translate("The image should include at least support for 'kernel cgroups', 'kernel namespaces' and 'miscellaneous LXC related options' plus 'kmod-veth' for optional network support."))
m:section(SimpleSection).template = "lxc"
s = m:section(TypedSection, "lxc", translate("Options"))
diff --git a/applications/luci-app-lxc/luasrc/view/lxc.htm b/applications/luci-app-lxc/luasrc/view/lxc.htm
index b45e27f51f..47cc1a5f3f 100644
--- a/applications/luci-app-lxc/luasrc/view/lxc.htm
+++ b/applications/luci-app-lxc/luasrc/view/lxc.htm
@@ -19,8 +19,8 @@ local nx = require "nixio"
local target = nx.uname().machine
-%>
-<fieldset class="cbi-section">
- <legend><%:Available Containers%></legend>
+<div class="cbi-section">
+ <h3><%:Available Containers%></h3>
<div class="cbi-section-node">
<div class="table cbi-section-table" id="t_lxc_list">
<div class="tr cbi-section-table-titles">
@@ -30,15 +30,15 @@ local target = nx.uname().machine
</div>
</div>
</div>
-</fieldset>
+</div>
-<fieldset class="cbi-section">
+<div class="cbi-section">
<span id="lxc-list-output"></span>
-</fieldset>
+</div>
<hr />
-<fieldset class="cbi-section">
- <legend><%:Create New Container%></legend>
+<div class="cbi-section">
+ <h3><%:Create New Container%></h3>
<div class="cbi-section-node">
<div class="table cbi-section-table" id="t_lxc_create">
<div class="tr cbi-section-table-titles">
@@ -56,11 +56,11 @@ local target = nx.uname().machine
</div>
</div>
</div>
-</fieldset>
+</div>
-<fieldset class="cbi-section">
+<div class="cbi-section">
<span id="lxc-add-output"></span>
-</fieldset>
+</div>
<hr />
diff --git a/applications/luci-app-mwan3/luasrc/controller/mwan3.lua b/applications/luci-app-mwan3/luasrc/controller/mwan3.lua
index 18c2135e43..2d46953e55 100644
--- a/applications/luci-app-mwan3/luasrc/controller/mwan3.lua
+++ b/applications/luci-app-mwan3/luasrc/controller/mwan3.lua
@@ -138,10 +138,12 @@ function diagnosticsData(interface, task)
local number = getInterfaceNumber(interface)
local uci = require "luci.model.uci".cursor(nil, "/var/state")
- local device = uci:get("network", interface, "ifname")
+ local nw = require "luci.model.network".init()
+ local network = nw:get_network(interface)
+ local device = network and network:ifname()
luci.http.prepare_content("text/plain")
- if device ~= "" then
+ if device then
if task == "ping_gateway" then
local gateway = get_gateway(interface)
if gateway ~= nil then
diff --git a/applications/luci-app-mwan3/po/zh-cn/mwan3.po b/applications/luci-app-mwan3/po/zh-cn/mwan3.po
index 4a92c7abd9..e730004d97 100644
--- a/applications/luci-app-mwan3/po/zh-cn/mwan3.po
+++ b/applications/luci-app-mwan3/po/zh-cn/mwan3.po
@@ -42,7 +42,7 @@ msgid "Check IP rules"
msgstr "检查 IP 规则"
msgid "Check link quality"
-msgstr ""
+msgstr "检查连接数量"
msgid "Check routing table"
msgstr "检查路由表"
@@ -57,7 +57,7 @@ msgid "Destination port"
msgstr "目标端口"
msgid "Detail"
-msgstr ""
+msgstr "详细"
msgid "Diagnostics"
msgstr "诊断"
@@ -76,7 +76,7 @@ msgid "Enter value in hex, starting with <code>0x</code>"
msgstr "输入十六进制值,以 <code>0x</code> 开头"
msgid "Execute"
-msgstr ""
+msgstr "执行"
msgid "Expect interface state on up event"
msgstr "在 up 事件发生时的预期接口状态"
@@ -103,7 +103,7 @@ msgid "Hotplug ifup"
msgstr "Hotplug ifup"
msgid "INFO: MWAN not running"
-msgstr ""
+msgstr "信息:MWAN 没有运行"
msgid "IPset"
msgstr "IPset"
@@ -154,28 +154,28 @@ msgid "Local source interface"
msgstr "本地源接口"
msgid "MWAN - Globals"
-msgstr ""
+msgstr "MWAN - 全局"
msgid "MWAN - Interfaces"
-msgstr ""
+msgstr "MWAN - 接口"
msgid "MWAN - Members"
-msgstr ""
+msgstr "MWAN - 成员"
msgid "MWAN - Notification"
-msgstr ""
+msgstr "MWAN - 通知"
msgid "MWAN - Policies"
-msgstr ""
+msgstr "MWAN - 策略"
msgid "MWAN - Rules"
-msgstr ""
+msgstr "MWAN - 规则"
msgid "MWAN Interface Configuration - %s"
msgstr "MWAN 接口配置 - %s"
msgid "MWAN Interfaces"
-msgstr ""
+msgstr "MWAN 接口"
msgid "MWAN Member Configuration - %s"
msgstr "MWAN 成员配置 - %s"
@@ -187,13 +187,13 @@ msgid "MWAN Rule Configuration - %s"
msgstr "MWAN 规则配置 - %s"
msgid "MWAN Status - Detail"
-msgstr ""
+msgstr "MWAN Status - 详细"
msgid "MWAN Status - Diagnostics"
-msgstr ""
+msgstr "MWAN Status - 诊断"
msgid "MWAN Status - Troubleshooting"
-msgstr ""
+msgstr "MWAN Status - 故障排除"
msgid ""
"MWAN supports up to 252 physical and/or logical interfaces<br />MWAN "
@@ -209,10 +209,10 @@ msgstr ""
"口不应该与成员、策略、规则中的任意一个设置项使用相同的名称"
msgid "Max packet latency [ms]"
-msgstr ""
+msgstr "最大数据包延迟 [ms]"
msgid "Max packet loss [%]"
-msgstr ""
+msgstr "最大数据包丢失率 [%]"
msgid ""
"May be entered as a single or multiple port(s) (eg \"22\" or \"80,443\") or "
@@ -246,10 +246,10 @@ msgid "Metric"
msgstr "跃点数"
msgid "Min packet latency [ms]"
-msgstr ""
+msgstr "最小数据包延迟 [ms]"
msgid "Min packet loss [%]"
-msgstr ""
+msgstr "最小数据包丢失率 [%]"
msgid ""
"Name of IPset rule. Requires IPset rule in /etc/dnsmasq.conf (eg \"ipset=/"
@@ -265,7 +265,7 @@ msgid "No MWAN interfaces found"
msgstr "没有找到 MWAN 接口"
msgid "Notification"
-msgstr ""
+msgstr "通知"
msgid "Offline"
msgstr "离线"
@@ -312,8 +312,8 @@ msgstr ""
"“策略”把成员进行分组,告诉 MWAN 如何分配“规则”中使用这一策略的流量<br />拥有"
"较低跃点数的成员将会被优先使用。拥有相同跃点数的成员把流量进行负载均衡。<br /"
">进行负载均衡的成员之间拥有较高比重的成员将会被分配到更多流量。<br />名称允许"
-"包括A-Z、a-z、0-9、_ 但是不能有空格。名称应该在 15 个字符以内<br />策略不应该"
-"与接口、成员、规则中的任意一个设置项使用相同的名称"
+"包括 A-Z、a-z、0-9、_ 但是不能有空格。名称应该在 15 个字符以内<br />策略不应"
+"该与接口、成员、规则中的任意一个设置项使用相同的名称"
msgid "Policy"
msgstr "策略"
@@ -344,6 +344,11 @@ msgid ""
"z, 0-9, _ and no spaces<br />Rules may not share the same name as configured "
"interfaces, members or policies"
msgstr ""
+"规则指定哪些流量将使用特定的 MWAN 策略<br />规则基于 IP 地址,端口或协议<br /"
+">规则从上到下匹配<br />匹配规则以下的规则被忽略<br />不符合任何规则的流量将使"
+"用主路由表进行路由<br />目的地为已知(非默认)网络的流量由主路由表处理<br />"
+"流量符合规则,但该策略的所有 WAN 接口关闭后都会被失效<br />名称可包含字符 A-"
+"Z,a-z,0-9,_和空格<br />规则不能与配置的接口、成员或策略共享相同的名称"
msgid "Seconds. Acceptable values: 1-1000000. Defaults to 600 if not set"
msgstr "单位为秒。接受的值:1-1000000。留空则使用默认值 600 秒"
@@ -364,7 +369,7 @@ msgid "Supports CIDR notation (eg \"192.168.100.0/24\") without quotes"
msgstr "支持 CIDR 记法(例如:\"192.168.100.0/24\")不含引号"
msgid "Task"
-msgstr ""
+msgstr "任务"
msgid "There are currently %d of %d supported interfaces configured"
msgstr "当前已配置 %d 个接口,最大支持 %d 个"
@@ -395,6 +400,14 @@ msgid ""
"Physical device name which interface went up or down (e.g. \"eth0\" or "
"\"wwan0\")<br /><br />"
msgstr ""
+"这里允许您修改“/etc/mwan3.user”的内容。<br />该文件在 sysupgrade 期间也会保"
+"留。<br /><br />注意:<br />该文件会作为 shell 脚本解释。<br />脚本的第一行必"
+"须是 &#34;#!/bin/sh&#34;,不带引号。<br />以 # 开头的行是注释,不会执行。"
+"<br />将您的自定义 mwan3 动作放在这里,他们将<br />在启用 mwan3 的接口上<br /"
+">在 netifd hotplug 接口事件时执行。<br /><br />有三个主要的环境变量传递给这个"
+"脚本。<br /><br />$ACTION “ifup” 或 “ifdown”<br />$INTERFACE 启动或停止的接口"
+"名(例如 “wan” 或 “wwan”)<br />$DEVICE 启动或停止接口的物理设备名(例如 "
+"“eth0” 或 “wwan0”)<br /><br />"
msgid "Tracking hostname or IP address"
msgstr "跟踪的主机或 IP 地址"
@@ -421,35 +434,35 @@ msgid ""
msgstr "使用该接口的 IP 地址作为路由器本身发起的流量的源 IP 地址"
msgid "View the content of /etc/protocols for protocol description"
-msgstr ""
+msgstr "查看协议描述的 /etc/protocols 的内容"
msgid "WARNING: %d interfaces are configured exceeding the maximum of %d!"
msgstr "警告:已配置 %d 个接口,超过最大值 %d!"
msgid "WARNING: Interface %s are not found in /etc/config/network"
-msgstr ""
+msgstr "警告:接口 %s 在 /etc/config/network 中未找到"
msgid "WARNING: Interface %s has a duplicate metric %s configured"
-msgstr ""
+msgstr "警告:接口 %s 的 metric %s 配置重复"
msgid ""
"WARNING: Interface %s has a higher reliability requirement than tracking "
"hosts (%d)"
-msgstr ""
+msgstr "警告:接口 %s 比跟踪主机具有更高的可靠性要求(%d)"
msgid "WARNING: Interface %s has no default route in the main routing table"
-msgstr ""
+msgstr "警告:接口 %s 在主路由表中没有默认的路由"
msgid "WARNING: Policy %s has exceeding the maximum name of 15 characters"
-msgstr ""
+msgstr "警告:策略 %s 名称超过 15 个字符"
msgid ""
"WARNING: Rule %s have a port configured with no or improper protocol "
"specified!"
-msgstr ""
+msgstr "警告:规则 %s 有一个端口配置没有指定或协议不正确!"
msgid "Waiting for command to complete..."
-msgstr ""
+msgstr "正在等待命令完成..."
msgid "Weight"
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-transmission/root/etc/uci-defaults/40_luci-transmission b/applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission
index 456e8b89ac..08dc719974 100644
--- a/applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission
+++ b/applications/luci-app-transmission/root/etc/uci-defaults/40_luci-transmission
@@ -1,7 +1,7 @@
#!/bin/sh
uci -q batch <<-EOF >/dev/null
- delete ucitrack.@tranmsmission[-1]
+ delete ucitrack.@transmission[-1]
add ucitrack transmission
set ucitrack.@transmission[-1].init=transmission
commit ucitrack
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-travelmate/po/ja/travelmate.po b/applications/luci-app-travelmate/po/ja/travelmate.po
index 6a46ea3c87..f1d1220b7c 100644
--- a/applications/luci-app-travelmate/po/ja/travelmate.po
+++ b/applications/luci-app-travelmate/po/ja/travelmate.po
@@ -12,9 +12,6 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja\n"
-msgid "Actions"
-msgstr "操作"
-
msgid "Add Uplink"
msgstr "アップリンクの追加"
@@ -86,6 +83,9 @@ msgstr "このアップリンクを削除"
msgid "Device"
msgstr "デバイス"
+msgid "Down"
+msgstr ""
+
msgid "EAP-Method"
msgstr "EAP メソッド"
@@ -339,6 +339,9 @@ msgstr "トリガ遅延"
msgid "Unknown"
msgstr "不明"
+msgid "Up"
+msgstr ""
+
msgid "Uplink / Trigger interface"
msgstr "アップリンク / トリガー インターフェース"
@@ -386,3 +389,6 @@ msgstr "(ステルス)"
msgid "n/a"
msgstr "利用不可"
+
+#~ msgid "Actions"
+#~ msgstr "操作"
diff --git a/applications/luci-app-travelmate/po/pt-br/travelmate.po b/applications/luci-app-travelmate/po/pt-br/travelmate.po
index 6bf65b9370..2bed677d35 100644
--- a/applications/luci-app-travelmate/po/pt-br/travelmate.po
+++ b/applications/luci-app-travelmate/po/pt-br/travelmate.po
@@ -12,9 +12,6 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
-msgid "Actions"
-msgstr ""
-
msgid "Add Uplink"
msgstr ""
@@ -80,6 +77,9 @@ msgstr ""
msgid "Device"
msgstr ""
+msgid "Down"
+msgstr ""
+
msgid "EAP-Method"
msgstr ""
@@ -310,6 +310,9 @@ msgstr ""
msgid "Unknown"
msgstr ""
+msgid "Up"
+msgstr ""
+
msgid "Uplink / Trigger interface"
msgstr ""
diff --git a/applications/luci-app-travelmate/po/ru/travelmate.po b/applications/luci-app-travelmate/po/ru/travelmate.po
index 8b25e9b139..d3dbd24752 100644
--- a/applications/luci-app-travelmate/po/ru/travelmate.po
+++ b/applications/luci-app-travelmate/po/ru/travelmate.po
@@ -15,9 +15,6 @@ msgstr ""
"Project-Info: Это технический перевод, не дословный. Главное-удобный русский "
"интерфейс, все проверялось в графическом режиме, совместим с другими apps\n"
-msgid "Actions"
-msgstr "Действия"
-
msgid "Add Uplink"
msgstr "Подключение к сети"
@@ -85,6 +82,9 @@ msgstr "Удалить сеть"
msgid "Device"
msgstr "Устройство"
+msgid "Down"
+msgstr ""
+
msgid "EAP-Method"
msgstr "Метод EAP"
@@ -333,6 +333,9 @@ msgstr ""
msgid "Unknown"
msgstr "Неизвестно"
+msgid "Up"
+msgstr ""
+
msgid "Uplink / Trigger interface"
msgstr "Включить интерфейс<br />внешней сети"
@@ -381,6 +384,9 @@ msgstr "скрытый"
msgid "n/a"
msgstr "нет данных"
+#~ msgid "Actions"
+#~ msgstr "Действия"
+
#~ msgid "Add Interface"
#~ msgstr "Добавить интерфейс"
diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot
index f4f3418422..b3e80e3c96 100644
--- a/applications/luci-app-travelmate/po/templates/travelmate.pot
+++ b/applications/luci-app-travelmate/po/templates/travelmate.pot
@@ -1,9 +1,6 @@
msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8"
-msgid "Actions"
-msgstr ""
-
msgid "Add Uplink"
msgstr ""
@@ -69,6 +66,9 @@ msgstr ""
msgid "Device"
msgstr ""
+msgid "Down"
+msgstr ""
+
msgid "EAP-Method"
msgstr ""
@@ -299,6 +299,9 @@ msgstr ""
msgid "Unknown"
msgstr ""
+msgid "Up"
+msgstr ""
+
msgid "Uplink / Trigger interface"
msgstr ""
diff --git a/applications/luci-app-upnp/luasrc/view/upnp_status.htm b/applications/luci-app-upnp/luasrc/view/upnp_status.htm
index 1e09225793..ee385b24a8 100644
--- a/applications/luci-app-upnp/luasrc/view/upnp_status.htm
+++ b/applications/luci-app-upnp/luasrc/view/upnp_status.htm
@@ -16,40 +16,37 @@
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">
- <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 class="cbi-section">
+ <h3><%:Active UPnP Redirects%></h3>
+ <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 cbi-section-table-row">
- <div class="td" colspan="5"><em><br /><%:Collecting data...%></em></div>
+ <div class="tr placeholder">
+ <div class="td"><em><%:Collecting data...%></em></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..8dbffe9767 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,12 @@ 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 +28,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 ""
@@ -63,16 +62,16 @@ msgid "Delete"
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 +147,10 @@ msgid "Universal Plug & Play"
msgstr "Universal Plug & Play"
msgid "Uplink"
-msgstr "Висхідний канал"
+msgstr "Висхідне з’єднання"
msgid "Value in KByte/s, informational only"
-msgstr "Значення (КБ/с) тільки для інформації"
+msgstr "Значення (КБ/с), тільки для інформації"
#~ msgid "Delete Redirect"
#~ msgstr "Видалити переспрямування"
-
-#~ msgid ""
-#~ "UPNP allows clients in the local network to automatically configure the "
-#~ "router."
-#~ msgstr ""
-#~ "UPnP надає клієнтам у локальній мережі змогу автоматично настроювати "
-#~ "маршрутизатор."
-
-#~ msgid "enable"
-#~ msgstr "Увімкнути"